Commit Graph

108 Commits

Author SHA1 Message Date
e7c15beaf6 code cleanup: use booleans for mesh and selection code. 2013-03-19 23:17:44 +00:00
baf3bb37a9 - ghost-sdl builds again.
- without python builds without warnings.
- replace MAXFLOAT -> FLT_MAX in some areas, MAXFLOAT overflows (lager then float range).
- add cmake option WITH_GCC_MUDFLAP to enable libmudflap use.
2013-03-16 20:49:46 +00:00
0f8660064a Bug fix, irc reported:
Using new off-screen backbuffer selection failed for Lasso in editmode.
2013-03-16 17:12:39 +00:00
8a4a034325 patch [#34634] Select vertices without a group
from Kevin Mackay (yakca)
2013-03-16 16:11:50 +00:00
aaa8a13c49 code cleanup: use const events for modal and invoke operators. 2013-03-13 09:03:46 +00:00
ddddb7bab1 code cleanup: favor braces when blocks have mixed brace use. 2013-03-09 03:46:30 +00:00
7d5c51a96f now dragging an image onto an empty can be done without holding Ctrl.
Make it set the empty draw type for existing empty object.
change from yakca on IRC

also some whitespace cleanup.
2013-03-02 12:05:25 +00:00
5f1978dbd2 Fix #34366: mesh.select_mode operator could not be configure the use_extend
and use_expand properly. These are hardcoded to shift and ctrl to make them
work when clicking buttons or menus. Now it checks if the properties are set,
which is still not ideal but makes it possible to override them from the
key configuration.
2013-02-28 16:37:18 +00:00
3468eba71a fix for own regression, edge path tagging worked but toggline bevel didnt.
reported as bug [#34449]
2013-02-27 07:05:01 +00:00
7d81fd8231 Bugfix #34374
Fixed tooltip for checker-select, it works on the active item, not selected ones.
2013-02-23 11:51:10 +00:00
9f2e845181 code cleanup: use BMW_begin insode for loops body. 2013-01-14 09:53:56 +00:00
d476113c05 fix [#33847] Ctrl+L doesnt works in edge selection mode
own bug caused be changes to selection flushing.
2013-01-14 08:32:02 +00:00
5e6917a18e patch [#33738] Extend Selection option unified and added to few operators
from Sebastian Nell (codemanx), with minor edits
2013-01-12 10:48:10 +00:00
ceb9701507 don't store bevel weights or edge crease customdata layers in editmode unless they are needed.
configurable in 'Geometry Data' panel, will be added when running crease edges transform for example.
2013-01-10 04:43:31 +00:00
36f79eab20 fix [#33784] Select Linked All + Seams fails to select seam bounded area
was incorrectly flushing vertex selection.
2013-01-08 17:30:06 +00:00
c27d22ab71 fix own regression in 2.65 [#33643] Rotation does not work at certain zoom level
caused by not projecting points behind the perspective view,
even though this worked in 2.64 the values were flipped (rotating direction was reversed and the center point was flipped).

added V3D_PROJ_TEST_CLIP_NEAR, when omitted ED_view3d_project_*** will project points from behind a perspective view plane.
2012-12-21 03:49:47 +00:00
1f3e3b0d68 include cleanup 2012-12-19 04:49:32 +00:00
1fe6d543a5 fix/workaround [#33493] checker de-select and edge loops
Checker de-select by default would give uneven selection on a circle, this isnt really a bug but the offset used would give unevenly spaced selection even if the 3rd vertex for eg could be evenly selected on a circle.

Change how the offset works so the active element always remains selected when the offset is set to zero, this tends to give more even de-selection.
2012-12-17 15:02:26 +00:00
d6a291ca37 fix another crash from missing update in Auto-Merge from r52911 2012-12-13 00:41:23 +00:00
d5c2a1f8f4 remove context argument from EDBM_update_generic() 2012-12-12 15:22:54 +00:00
44b634bcb1 make EDBM_index_arrays's stay in memory, blender was allocating an array and filling it for verts/edges/faces on every redraw.
this may introduce bugs which I didn't catch, but they are very easy to identify in a debug build which has asserts to ensure the arrays are valid before use.

in my own test drawing ~98,304 quads - this gave an overall ~16% drawing speedup.
2012-12-12 06:53:39 +00:00
06d5747ff3 was using max short on a float in EDBM_face_find_nearest() 2012-12-11 14:21:52 +00:00
634b22fc46 code cleanup: spelling labda -> lambda 2012-12-11 14:18:37 +00:00
bc94b8300e de-duplicate labda_PdistVL2Dfl() & line_point_factor_v2() 2012-12-10 06:14:43 +00:00
5446dc0bf3 fix for various asserts running operator tests - not likely any of these would cause real user bugs though. 2012-11-30 16:41:43 +00:00
f8bc346eff bmesh/py operator api:
add type checking for element buffers, there was nothing stopping python from passing any element type into an argument when in some cases only verts/edges/faces were expected.
now operator args define which types they support.
2012-11-27 00:50:59 +00:00
864c4112e9 Fix #33316: mesh edge short path select was wrong on large/small objects. 2012-11-26 19:10:34 +00:00
c91562d0ff Fix #33310: unnecessary redraw of outliner when editing materials and textures. 2012-11-26 08:52:07 +00:00
387bb73e43 Change edge loop select and edge ring select to be consistent with
other selection operators.  Instead of having only a single "extend"
option which causes the selection to toggle, there are now
three options:
- extend: adds to selection
- deselect: removes from selection
- toggle: toggles the selection

The default keymap is adjusted to have identical behavior as before,
using these new options, so end-users shouldn't experience any
difference.
2012-11-21 01:51:31 +00:00
622196113a fix for missing bmesh operator flags when selecting linked (caused by own recent commits) 2012-11-20 20:45:04 +00:00
dbdc76c9d0 code cleanup: make bmesh operator names more consistant since python has access to these as input arguments and return values.
all output values currently have ".out" suffix, this may go in the future, but for now it makes it clear in C code what are inputs and outputs.
2012-11-20 05:50:19 +00:00
5716762c02 fix for changes in own recent commit:
selected linked in face mode was crashing. (needs bmesh operator flags)

also some style edits, remove unused includes and change triangulate modifiers use_beauty to a flag.
2012-11-19 23:52:24 +00:00
48639af5f8 use input and output slots for bmesh operators, needed for the python api to get return values. 2012-11-19 14:58:31 +00:00
add5dd3797 add an operator for mesh mode switching,
this lets python menu for mode setting do mixed selection and extending the selection - just like the buttons in the header.
2012-11-13 05:44:49 +00:00
89845f280f fix [#33142] Ctrl LMB higher selection mode in edit mode sometimes selects extra elements 2012-11-11 23:33:59 +00:00
617a73c573 code cleanup: unused defines & some formatting. 2012-11-08 06:46:10 +00:00
718550878b minor cleanup to to selecting the shortest path, change some variable names and make edge/face modes share the cost calculation function. 2012-11-08 03:39:15 +00:00
9bdfb82f05 add mesh editmode Ctrl+RMB to select the shortest path between faces, works the same as for edges.
Request from Kjartan.
2012-11-08 03:19:21 +00:00
5b0ee040a3 further cleanup for selecting the shortest path, remove the need for EDBM_index_arrays_* functions. 2012-11-08 02:33:26 +00:00
374238b7ef code improvements for selecting the shortest path for mesh editmode,
this will give some speedup but its mainly to simplify the function.

- use bmesh adjacency data, was building its own data, left over from pre-bmesh.
- use a flag to store visited edges rather then a hash.
- store edge pointers in the heap rather then index values (was converting back and fourth a lot).
2012-11-08 02:12:31 +00:00
53160bd508 minor edits to mesh operators
- Rename 'mesh.select_nth' operator menu item 'Every N Number of Verts' to 'Checker Deselect',
  since its not just de-selecting verts (works on edges and faces too) and the term 'checker' gives a better description of the result.

- Rename 'mesh.select_by_number_vertices' to 'mesh.select_face_by_sides', since this is a face selection tool, which wasnt obvious from its name.

also remove dissolve by type menu since the option has been removed from the operator and was giving an error.
2012-11-01 05:07:15 +00:00
dcb3a5cbf4 fix for crash in own recent commit to add comparison options for select-similar, missing NULL terminator item in the array. 2012-11-01 04:27:59 +00:00
330c0178ce add the option to select Equal/Greater/Less when selecting similar.
Recently addons were submitted for review and this was the only advantage they had over blenders existing internal
select-similar tool.
2012-10-30 07:29:17 +00:00
b5e8e8da6f add option to select face by matching number of sides. 2012-10-30 06:43:30 +00:00
c9dade4fe0 Big i18n commit: add "reports" from bmesh/readfile/tracking/dynapaint (and a few others), and another bunch of UI messages tweaks/fixes, as well as some BKE_report()<->BKE_reportf()... 2012-10-26 17:32:50 +00:00
248b2fc6d6 bmesh-decimator update
- update face normals when triangulating.
- avoid divide by zero when interpolating customdata on a zero length edge.
- replace zero float comparisons with fabsf() < FLT_EPSILON to avoid numeric error.

also renamed BLI_heap_empty() --> BLI_heap_is_empty() so its obviously readonly function.
2012-10-21 15:20:53 +00:00
f3ece5a108 style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
12a8c19956 un-subdivide bmesh operator, useful for making lower polygon versions of models, can give nicer results then edge collapsing which tends to give a lot of sharp triangles.
works on edges and faces, has iteration option to further reduce the poly count.

access from the edge menu, under subdivide.

example: http://www.graphicall.org/ftp/ideasman42/bmesh_unsubdivide.png
2012-10-16 16:04:12 +00:00
28c20e456f fix for many RNA definitions having soft/hard ranges swapped, make this BLI_assert() on debug builds. 2012-10-11 23:46:12 +00:00
a17e1eea23 refactor foreachScreen functions for clipping, now the projection clipping flag is passed down directly rather then converting the enum into a flag, also fix own recent crash lasso seleting in object mode with pose objects. 2012-10-10 04:03:22 +00:00