Campbell Barton
dcd662c695
BMesh: Tweak behavior for select more/less
...
Stepping over faces gives overall nice results but it stopped wire edges from working.
Now step over wire too.
2015-01-13 02:36:51 +11:00
Campbell Barton
a081a4817c
Editmesh: select more/less can now step over adjacent faces
...
This keeps a square shaped selection when using grid topology.
2014-11-06 15:35:46 +01:00
Campbell Barton
5b027bd6dd
Cleanup: remove smooth_ from 'smooth_factor'
...
redundant, just call factor as smooth modifier does.
2014-09-29 15:48:51 +10:00
Bastien Montagne
da78dd78be
Fix T25582: Add a 'smooth factor' to smooth_vertex BMesh op.
...
Based on code by wahooney (Keith Boshoff), patch itself was merely rewritten due to BMesh changes...
2014-09-28 20:00:54 +02:00
Campbell Barton
8489b94e07
Math Lib: rename mul_serie_m3 to mul_m3_series & reorder args
...
Importantly, reversed mul_serie_m3 argument order (so it matches the m4 function)
2014-07-21 18:57:35 +10:00
Campbell Barton
7c7b7302d3
Math Lib: use variable length args for mul_serie_m3,m4 (instead of trailing NULL's)
2014-07-20 14:01:42 +10:00
Campbell Barton
f12ac5b23f
fix [ #37100 ] Segfault when I rotate an edge
2013-10-16 05:24:55 +00:00
Campbell Barton
590f58d455
code cleanup: redundant includes and add minor comments.
2013-10-08 20:18:38 +00:00
Campbell Barton
8937a8b839
use BM_CREATE_NOP arg rather then zero, with pointer and bool args in either side in some cases it gets a bit confusing.
...
also correct edge-rotate where bool->flag conversion worked by accident.
2013-08-21 05:39:46 +00:00
Campbell Barton
76e989d7b1
function renaming for own recently added BLI_math functions, suggested by Brecht.
2013-07-30 10:58:36 +00:00
Campbell Barton
4982f200fa
move alloca define into its own header since its not related to BLI_array
2013-07-28 10:38:25 +00:00
Campbell Barton
5dc3cfc983
fix [ #36282 ] Spin error with non uniform scale
...
add support for passing object matrix to bmesh transform operators.
2013-07-26 11:15:22 +00:00
Campbell Barton
29df776b89
optimization: call one bmesh operator for rotate (not 3).
...
added pivot_m4() utility function since rotating about an arbitrary point is handy.
2013-07-26 06:12:49 +00:00
Campbell Barton
335fd7388f
move normal recalculation into its own source file.
2013-07-08 08:50:04 +00:00
Campbell Barton
2c8087aa2a
fix [ #36047 ] Recalculate normals produces faulty normals on certain simple meshes
...
The mesh in the report had 3 faces-user-edges, resolve the problem by not walking over these edges.
also don't recurse anymore (avoids realloc's).
2013-07-08 00:51:30 +00:00
Campbell Barton
48fd740096
edit-mesh improvements to select shortest path
...
- Ctrl+RMB only worked for edges & faces
- Menu item 'Select Shortest Path' only worked for vertices.
Now Ctrl+RMB works for vertices and the menu item works for verts/edges/faces (depending on the current selection).
2013-06-04 01:23:51 +00:00
Campbell Barton
be409d446c
fix for own recent change with normal calculation (with no faces it wasn't freeing 0 byte allocation).
2013-05-15 05:56:49 +00:00
Campbell Barton
c961c56c64
add missing STACK_INIT, also quiet float <> double conversion warnings.
2013-05-13 02:10:59 +00:00
Campbell Barton
4e4eff3937
remove BLI_array allocations from uv/color reverse, rotate.
2013-05-12 14:45:09 +00:00
Campbell Barton
40535f5ef3
bmesh recalculate normals - remove BLI_array reallocation, the max size of the array is known.
...
replace with STACK_* macros (moved to BLI_utildefines.h).
2013-05-12 12:23:44 +00:00
Campbell Barton
85145db47b
remove wanton use of array reallocation for mesh smoothing.
2013-05-12 12:06:08 +00:00
Campbell Barton
3c67cf9594
from bug report [ #34984 ] bmesh.ops.recalc_face_normals() ignores use_flip=True
...
the name `use_flip` is misleading, option in fact tags faces that have been flipped, rename to `use_face_tag`
2013-04-22 20:15:42 +00:00
Campbell Barton
dad7afa1af
code cleanup: remove double call to BKE_node_instance_key(), rename ruler (lots of tools are 3d :)), and redundant assignment.
2013-03-21 14:16:55 +00:00
Campbell Barton
00ef8896fd
fix for own error in recent BLI_array commit
2013-01-20 16:58:14 +00:00
Campbell Barton
b27854bd47
use booleans for bmesh api.
2013-01-14 16:42:43 +00:00
Campbell Barton
0526fcf13f
revert part of r52720, Id rather leave these as-is, even if they give warnings under some configurations.
2012-12-03 08:11:04 +00:00
Bastien Montagne
818a345be3
Silent a bunch of gcc warnings (usually dummy, but noisy!).
2012-12-02 16:01:06 +00:00
Campbell Barton
07ccd3ee3f
fix [ #33029 ] Applying modifier leaks memory
...
Thanks for Sergey for finding the bug & patching, This fix works a bit differently.
Theres no need to allocate the customdata in the first place - since its written into. So add a flag for vert/edge/face/loop creation functions so they can skip customdata creation.
2012-11-29 16:26:39 +00:00
Campbell Barton
8ecce451ab
bmesh operator naming - use clearer names for args eg: (mat -> matrix, use_singleedge -> use_single_edge)
...
also remove duplicate docs for operator arg formatting.
2012-11-28 00:16:06 +00:00
Campbell Barton
c00a1b7493
use clearer names for 'single' bmesh operator args & add '%e' to BMO_op_vinitf comments.
2012-11-27 09:41:08 +00:00
Campbell Barton
a9855c227e
py/bmesh api - add support for single item buffers (odd feature but used quite a bit with bmesh operators).
...
also add utility functions BMO_slot_buffer_from_single(), BMO_slot_buffer_get_single()
2012-11-27 09:21:57 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
617a73c573
code cleanup: unused defines & some formatting.
2012-11-08 06:46:10 +00:00
Campbell Barton
199e597922
code cleanup: move select-similar bmesh operators into their own file since there are 3 operators here that share
...
utility functions with eachother but have nothing in common with other operators in bmo_utils.c
2012-10-30 07:59:25 +00:00
Campbell Barton
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
Campbell Barton
b5e8e8da6f
add option to select face by matching number of sides.
2012-10-30 06:43:30 +00:00
Campbell Barton
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
Campbell Barton
da9394f596
code cleanup: define sizes of vectors for function args and use C style comments
2012-10-15 09:11:17 +00:00
Brecht Van Lommel
84e80b6904
Fix #32301 : mesh select more/less not taking hidden vertices/faces into account.
2012-08-22 15:10:07 +00:00
Campbell Barton
f608b3c444
code cleanup:
...
- building without python works again
- rename maxi/mini to i_max/i_min (so thay are available for function names)
- some minor edits to IK stretch setting (no functional changes).
2012-07-29 17:49:14 +00:00
Sergey Sharybin
718569dc16
Fix #32199 : Smooth Vertex no longer has X, Y and Z options.
2012-07-27 17:35:02 +00:00
Campbell Barton
90d215535e
add option so operators can be called with a flag, currently the only flag is to respect hidden geometry.
...
this is useful for bmesh tools that operate in object mode or for modifiers which would previously use hidden faces in some cases.
2012-07-21 00:58:02 +00:00
Campbell Barton
32cf7fcdb1
code cleanup: spelling
2012-07-16 23:23:33 +00:00
Campbell Barton
69a7e0af02
rename bmesh ops since they are exposed in an api now.
2012-06-30 15:27:13 +00:00
Joseph Eagar
bd9192670b
Added option in shift-g to select verts by number of connected edges (valence).
2012-06-15 01:43:01 +00:00
Campbell Barton
56c5c63f57
code cleanup: doxy comment filename corrections
2012-06-08 23:43:11 +00:00
Campbell Barton
2d2d36fe3b
code cleanup:
...
- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace.
2012-05-20 19:49:27 +00:00
Campbell Barton
23c0d49a7c
optimization for select similar
...
- use angle_normalized_v3v3() where both vectors are known to be normalized.
- remove needless radian to degrees conversions.
- move checks for customdata layers outside the inner loop (for bevel and crease).
2012-05-12 14:25:14 +00:00