Campbell Barton
7d67261a7b
fix bug with editmesh rip, active edge could be left on the unselected side of the edge loops.
2013-08-14 09:14:33 +00:00
Campbell Barton
731672fc9b
bmesh utility functions for storing an editselection after another in the list.
2013-08-14 09:13:11 +00:00
Campbell Barton
723eaa36ce
fix own error in BM_mesh_calc_edge_groups() was clearning wrong dirty-index flag.
...
also remove unused transform defines.
2013-08-14 08:14:50 +00:00
Campbell Barton
5157eea977
bmesh edge-net: refactor out face creation into its own function, replace array reallocation with alloca.
...
fix for error increasing the face tag count when the face might not be created.
2013-08-13 23:48:48 +00:00
Campbell Barton
91f04bebf0
bmo_edgenet_fill_exec was building a vertex array when it didnt need to. also simplify for loops.
2013-08-13 22:28:16 +00:00
Campbell Barton
5a9c012d86
fix for bug in rip tool, isolated verts would remain selected after ripping.
2013-08-13 01:52:36 +00:00
Campbell Barton
49411a6e37
fix own regression, rip tool wasn't handling selection.
2013-08-13 01:00:07 +00:00
Campbell Barton
fd14c344e0
switch arg order for BM_elem_select_copy(), would like to make this constant for all bmesh functions eventually.
2013-08-13 00:35:23 +00:00
Campbell Barton
726a7d6cd4
bmesh: simplify mode check for setting the edge selection
2013-08-13 00:17:39 +00:00
Campbell Barton
880a86230f
bmesh_vert_separate: remove unused return value
2013-08-12 23:49:56 +00:00
Campbell Barton
4a8d4f319f
bmesh_edge_separate: avoid counting radial loops when splitting edges, we only need to check if the edge is boundary or not. will speedup edgesplit modifier a little.
2013-08-12 22:36:46 +00:00
Campbell Barton
98c574e41a
use 'greater/less then or equal to' operators rather then adding 1.
2013-08-11 05:40:35 +00:00
Campbell Barton
00b39c4e5b
code cleanup: more confusion with 0/NULL/false
2013-08-07 03:55:21 +00:00
Brecht Van Lommel
83617429cf
Fix build warnings with clang and UNUSED_RESULT_ATTR (attribute declaration must precede definition).
2013-08-05 12:49:13 +00:00
Campbell Barton
78d69a1e15
code cleanup: replace strcpy with BLI_strncpy for fixed size strings, and correct some harmless but incorrect sizeof() use
2013-08-04 18:12:49 +00:00
Campbell Barton
93f5e2218a
code cleanup: replace strncpy -> BLI_strncpy, skip first 2 chars when making a hash from the object name.
2013-08-04 03:45:30 +00:00
Campbell Barton
26f52fb441
bmesh: improve limited dissolve result
...
iteratively dissolve the best edge/vert, updating the heap as the dissolve runs.
2013-08-03 21:01:42 +00:00
Campbell Barton
5f72462e38
correct edgeloop tagging assigning an uninitialized value, also remove redundant NULL check in edgenet fill
2013-08-03 17:29:53 +00:00
Campbell Barton
a4b922ad9b
correct invalid sizeof() use in bmesh (harmless in practice)
2013-08-03 17:27:05 +00:00
Campbell Barton
4770848871
code cleanup: bmesh use 'const' for query functions.
2013-08-03 16:37:23 +00:00
Campbell Barton
31761f5e5b
code cleanup: replace bmesh_radial_face_find -> BM_edge_in_face
2013-08-03 15:30:57 +00:00
Campbell Barton
c17f5960df
correct error in own recent edits to triangle joining
2013-08-02 13:35:04 +00:00
Campbell Barton
78820edafc
use bmesh for loop macros for looping over mesh verts/edges/faces
2013-08-01 18:33:35 +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
1300721d57
add asserts to ensure face normal is up to date.
2013-07-29 09:12:23 +00:00
Campbell Barton
cdc315a69b
bmesh optimization (noted as todo), avoid recalculating normal every time BM_face_legal_splits() runs,
...
assume normal is valid (assert when its not).
2013-07-29 06:04:09 +00:00
Campbell Barton
4f02555004
new mesh tool for cleaning up meshes, splits up non-planar faces while they exceed a given angle threshold
...
(access from the 'Mesh -> Clean' menu).
2013-07-28 19:53:46 +00:00
Campbell Barton
c754eaa0f9
add inline functions getting a single axis from mul_m3_v3()
2013-07-28 19:46:33 +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
72f2917032
bmesh: skip error checks when building in release mode (minor speedup),
...
also more strict use of BLI_array_declare(), only allow after array is declared.
2013-07-28 09:05:27 +00:00
Campbell Barton
d68917cb86
code cleanup: typos
2013-07-27 07:02:27 +00:00
Campbell Barton
8aa1bdbc89
simplify triangle joining and remove use of BLI_array.
2013-07-27 06:45:11 +00:00
Campbell Barton
6b3abde8d4
fix for joining face selection after recent api change, also bmo_join_triangles_exec() wasn't filling in its 'face' output slot.
2013-07-27 06:11:54 +00:00
Campbell Barton
a0969adb4e
fix for bridge tool selection flushing (after recent api change), also exposed bug in bmesh edgering-subdiv operator.
2013-07-27 05:57:20 +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
7c58ec9337
use math functions for copying matrix/vector types, also cast const pointers for freeing (clang error's out otherwise)
2013-07-26 10:43:23 +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
09a9aa5720
add twist option to bridge tool (for circular loops)
2013-07-25 19:27:18 +00:00
Campbell Barton
4bc32d5ded
mesh tool to fill in holes, added in mesh clean menu,
...
unlike other face creation tools it copies data from surrounding faces.
2013-07-25 18:43:05 +00:00
Campbell Barton
66d9c0def9
fix for face normal flipping calculation.
2013-07-25 18:16:55 +00:00
Campbell Barton
a15e9ca495
triangulate and beauty fill also needed changes to selection handling after recent changes.
2013-07-25 07:00:07 +00:00
Campbell Barton
3270031660
correct problem with limited-dissolve not leaving the selection correctly (caused by BM_elem_attrs_copy no longer dealing with selection)
2013-07-25 06:05:44 +00:00
Campbell Barton
2d2f5f59d7
dyn-topo: maintain materials for new faces.
...
also minor optimization for BM_edge_in_face(), check edges radial loops rather then the faces edges
since normally there are 0-2 faces attached to an edge compared to 3+ edges in a face.
2013-07-24 19:58:16 +00:00
Campbell Barton
19496ab62a
internal bmesh api change: BM_elem_attrs_copy() no longer copies the selection flag.
...
this was slowing down modifiers since the selection flags would be copied and flushed to connected geometry.
2013-07-24 19:31:58 +00:00
Campbell Barton
cdac157f4c
code cleanup: use iterator macros, and replace BM_LOOPS_OF_FACE with direct loop access when converting a bmesh to a mesh.
2013-07-24 18:38:55 +00:00
Campbell Barton
e50c37d90f
code cleanup: remove deprecated bevel code (unused since 2.64)
2013-07-23 14:28:19 +00:00
Campbell Barton
90fdaa8219
optimization: lazy initialize EditDerivedBMesh members vertexNos, polyNos.
...
also add polyCos array which cache's face centers, gives overall ~20% speedup to drawing on a high-poly mesh in face-editmode.
2013-07-22 16:49:37 +00:00
Campbell Barton
57ce6d1470
old todo, rotate around individual origins now supports connected face/edge islands.
...
previously this gave very odd/annoying results, see bug reports [#36134 ], [#35419 ]
2013-07-22 14:50:38 +00:00
Campbell Barton
7398c49776
add support for BM_mesh_calc_face_groups to use vertex connectivity (not currently used yet)
2013-07-22 08:12:50 +00:00
Campbell Barton
7db1d6556d
code cleanup: add break statements in switch ()'s, (even at the last case).
2013-07-21 08:16:37 +00:00