diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-10-03 10:10:02 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-10-03 10:21:14 +0400 |
commit | 230c272fe3048b40af5821ab493ac521b9eacd0a (patch) | |
tree | af1665b8b84252ef69601c48aca3be4858d08b49 /source | |
parent | a1d80b9c568be57d43a18bf2f4ac690147bedfed (diff) |
Comments: note on bmesh_region_match
also correct buffer type
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/pbvh_bmesh.c | 2 | ||||
-rw-r--r-- | source/blender/bmesh/tools/bmesh_region_match.c | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c index 55653f41e75..14a2ee0c3e7 100644 --- a/source/blender/blenkernel/intern/pbvh_bmesh.c +++ b/source/blender/blenkernel/intern/pbvh_bmesh.c @@ -1214,7 +1214,7 @@ bool BKE_pbvh_bmesh_update_topology(PBVH *bvh, PBVHTopologyUpdateMode mode, const float center[3], float radius) { /* 2 is enough for edge faces - manifold edge */ - BLI_buffer_declare_static(BMFace *, edge_loops, BLI_BUFFER_NOP, 2); + BLI_buffer_declare_static(BMLoop *, edge_loops, BLI_BUFFER_NOP, 2); BLI_buffer_declare_static(BMFace *, deleted_faces, BLI_BUFFER_NOP, 32); const int cd_vert_mask_offset = CustomData_get_offset(&bvh->bm->vdata, CD_PAINT_MASK); const int cd_vert_node_offset = bvh->cd_vert_node_offset; diff --git a/source/blender/bmesh/tools/bmesh_region_match.c b/source/blender/bmesh/tools/bmesh_region_match.c index 3d1b6bfbcf2..224e9a15a38 100644 --- a/source/blender/bmesh/tools/bmesh_region_match.c +++ b/source/blender/bmesh/tools/bmesh_region_match.c @@ -23,6 +23,16 @@ * * Given a contiguous region of faces, * find multiple matching regions (based on topology) and return them. + * + * Implementation: + * + * - Given a face region, find its topological center. + * - Compare this with other vertices surrounding geometry with this ones. + * (reduce the search space by creating a connectivity ID per vertex + * and only run comprehensive tests on those). + * - All hashes must be order independent so matching topology can be identified. + * - The term UUID here doesn't mean each ID is initially unique. + * (uniqueness is improved by re-hashing with connected data). */ #include <string.h> |