[Bf-blender-cvs] [230c272] master: Comments: note on bmesh_region_match

Campbell Barton noreply at git.blender.org
Fri Oct 3 08:21:52 CEST 2014


Commit: 230c272fe3048b40af5821ab493ac521b9eacd0a
Author: Campbell Barton
Date:   Fri Oct 3 08:10:02 2014 +0200
Branches: master
https://developer.blender.org/rB230c272fe3048b40af5821ab493ac521b9eacd0a

Comments: note on bmesh_region_match

also correct buffer type

===================================================================

M	source/blender/blenkernel/intern/pbvh_bmesh.c
M	source/blender/bmesh/tools/bmesh_region_match.c

===================================================================

diff --git a/source/blender/blenkernel/intern/pbvh_bmesh.c b/source/blender/blenkernel/intern/pbvh_bmesh.c
index 55653f4..14a2ee0 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 3d1b6bf..224e9a1 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>




More information about the Bf-blender-cvs mailing list