Commit Graph

73 Commits

Author SHA1 Message Date
0154096fd5 Cleanup: unused headers 2014-11-28 23:12:12 +01:00
133f79e449 Cleanup: warnings, typos 2014-10-29 14:15:21 +01:00
f2a0062042 Use ARRAY_SIZE to replace (sizeof(a) / sizeof(*a)) 2014-06-17 02:47:57 +10:00
365ff66987 GSet, GHash: Add BLI_gset_add, since its common to add members to a set
also rename BLI_edgeset_reinsert -> BLI_edgeset_add, in this case its the same.
2014-06-14 00:47:12 +10:00
fad267bf57 BMesh Walker: add face-shell walker 2014-05-23 20:50:27 +10:00
7e78322eef BMesh Walker: rename BMW_SHELL -> BMW_VERT_SHELL 2014-05-23 20:50:27 +10:00
d82cd4d5ef BMesh Walker: typecheck args for walker->begin() 2014-05-23 20:50:27 +10:00
b6e967be63 Code cleanup: const args and arrays 2014-04-27 08:56:54 +10:00
668250deb8 BMesh: minor change to looping 2014-04-12 13:06:08 +10:00
ec4e12d9a2 Code cleanup: comments and typos 2014-03-18 05:40:18 +11:00
6aff80a9d1 BMesh: simple edge boundary walker 2014-03-07 10:39:30 +11:00
6b2d1d1493 Docs: doxygen sections for bmesh walkers 2014-02-22 18:52:14 +11:00
62aa004c25 Style Cleanup: whitespace 2014-01-12 22:05:24 +11:00
7c8c49a34a style cleanup 2013-10-21 23:35:08 +00:00
87fb70cad2 fix for crash dissolving faces, bmesh walkers were using freed mempool elements.
use a convention for freeing walker-states where freed-dangling pointers aren't left assigned to prevent errors like this happening in future.
2013-10-03 13:35:57 +00:00
bbce51d116 replace hashes with sets where possible. 2013-08-25 20:03:45 +00:00
09a52f18b6 ghash: reserve size when its known or can be guessed close enough.
also avoid allocs per node in pbvh_bmesh_node_limit_ensure()
2013-08-24 17:33:47 +00:00
1e2ceabbe1 correct error in face walker (was inserting into the wrong ghash which was immediately freed after) 2013-08-24 16:43:09 +00:00
638c021039 tweak to edge-loop select, so loop selecting a side of a subdivided triangle selects all edges along one side. 2013-05-30 21:39:12 +00:00
ec834f8234 Bug fix, IRC report.
Mesh with very strange topology makes loop-select (ALT+select) crash.
Missing NULL check for do-while loop that can return NULL.

For Campbell: here's the file to check: http://www.pasteall.org/blend/21576
2013-05-23 16:01:25 +00:00
5888830acb tweak to r56784, no functional change, utility function worked confusingly. 2013-05-14 06:10:26 +00:00
3b8b62ea4e fix for problem where edge loop select would select too many vertices (extend selection too far),
before & after: http://www.graphicall.org/ftp/ideasman42/edgeloop_select_fix.png
2013-05-14 04:55:21 +00:00
b31e03fdd1 refactor bmesh edge loop walker,
was getting too complicated handing different cases at once, split out boundary case into its own branch.
2013-05-14 04:09:02 +00:00
92da9792fe fix for strange behavior with loop select involving ngons,
when selecting a loop with quads on one side an ngon on another - never select the outer boundary edge of the ngon.
2013-05-13 17:42:27 +00:00
f4bb0a7412 code cleanup: remove duplicate calls to 'BMW_current_state' 2013-05-13 16:35:28 +00:00
34f9932418 simple optimization, replace BM_face_other_edge_loop() with BM_loop_other_edge_loop() in situations where the loop is known this avoids a lookup. 2013-04-19 01:02:58 +00:00
347e2b6cb0 code cleanup: make bmesh var names more consistent 2013-03-09 17:12:24 +00:00
89bda7899d style cleanup & some spelling 2013-02-03 10:28:28 +00:00
b27854bd47 use booleans for bmesh api. 2013-01-14 16:42:43 +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
eb69d1c1ae style cleanup: also quiet harmless compiler warning. 2012-10-29 15:43:54 +00:00
ec67334e25 A few more BMesh errors messages translated, and "automated" translation for modifers too! 2012-10-27 11:12:09 +00:00
8b7f410f95 Code cleanup - silence some "uninitialised" warnings in BMesh code
There are still a lot more in bmo_bevel.c and bmo_extrude.c, but those don't
seem that easy to fix.
2012-10-08 06:28:06 +00:00
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
ed33320e3f Code cleanup: simplify standard GHash creation.
Added four new functions as shortcuts to creating GHashes that use the
standard ptr/str/int/pair hash and compare functions.

GHash *BLI_ghash_ptr_new(const char *info);
GHash *BLI_ghash_str_new(const char *info);
GHash *BLI_ghash_int_new(const char *info);
GHash *BLI_ghash_pair_new(const char *info);

Replaced almost all occurrences of BLI_ghash_new() with one of the
above functions.
2012-05-16 00:51:36 +00:00
e701f9b670 style cleanup: whitespace / commas 2012-04-29 15:47:02 +00:00
b340f930ec style cleanup: changes to brace placement / newlines - for/while/if/switch 2012-04-28 06:31:57 +00:00
475ecbb0ce remove BM_ITER, BM_ITER_INDEX macros, use ELEM or MESH variants only (the maceros had unused args in both cases). 2012-04-19 13:47:58 +00:00
75b869e428 style cleanup: BM_ITER / BM_ITER_INDEX / BMO_ITER 2012-04-19 11:44:12 +00:00
1f01d62d15 more replacement for BM_edge_face_count() use. 2012-04-18 06:57:28 +00:00
b3bca9d252 Minor code cleanup: Don't reference previous BMwEdgeringWalker after BMW_state_remove. Its memory is freed on that call. 2012-04-12 12:11:21 +00:00
7004f929b9 Fix: loopcut didn't stop on hidden faces 2012-04-12 12:03:12 +00:00
b44ae0c387 Fix #30791: BMEdge.is_manifold also returned true for edges with only one face
attached to it. A manifold edge should have exactly 2 faces attached to it,
sticking to the standard definition for "manifold".
2012-04-03 17:09:47 +00:00
28889a3500 fix [#30732] bmesh: loop select continues through hidden sections. 2012-03-30 09:27:54 +00:00
0e972b6293 partial fix for [#30732] bmesh: loop select continues through hidden sections.
loop cut and edge ring select still need to be fixed.
2012-03-30 08:43:47 +00:00
f87c5b3453 fix [#30715] bmesh: select linked not ignoring hidden verts/edges/faces
add optional flag to ignore hidden elements.
also remove loop mask flag - since it wasnt used and vert/edge/face is enough.
2012-03-29 13:09:07 +00:00
81d8f17843 style cleanup: pep8, indentation 2012-03-24 07:36:32 +00:00
3c11379e26 code cleanup: move bmesh inline funcs to headers (avoids compiling the C files). 2012-03-24 01:24:58 +00:00
7044d80639 code cleanup: remove BMesh * args from query functions which don't need it 2012-03-22 07:53:11 +00:00
95f66f162c Fix #30504 selecting self-intersecting face loop won't work correctly.
Added generic secondary hash to walker. In faceloop select it is used to remember if edge has been previously visited, in addition to the hash used for faces. This solves the case where walker stops if it finds an already added face.
2012-03-21 21:40:42 +00:00