[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46517] trunk/blender/source/blender: Add access to mesh vertex customdata to the PBVH.

Nicholas Bishop nicholasbishop at gmail.com
Thu May 10 22:33:36 CEST 2012


Revision: 46517
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46517
Author:   nicholasbishop
Date:     2012-05-10 20:33:36 +0000 (Thu, 10 May 2012)
Log Message:
-----------
Add access to mesh vertex customdata to the PBVH.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
    trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
    trunk/blender/source/blender/blenlib/BLI_pbvh.h
    trunk/blender/source/blender/blenlib/intern/pbvh.c

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-05-10 20:33:24 UTC (rev 46516)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2012-05-10 20:33:36 UTC (rev 46517)
@@ -276,7 +276,7 @@
 		BKE_mesh_tessface_ensure(me);
 		
 		BLI_pbvh_build_mesh(cddm->pbvh, me->mface, me->mvert,
-		                    me->totface, me->totvert);
+		                    me->totface, me->totvert, &me->vdata);
 
 		deformed = ss->modifiers_active || me->key;
 

Modified: trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c	2012-05-10 20:33:24 UTC (rev 46516)
+++ trunk/blender/source/blender/blenkernel/intern/subsurf_ccg.c	2012-05-10 20:33:36 UTC (rev 46517)
@@ -2963,7 +2963,7 @@
 		ob->sculpt->pbvh= ccgdm->pbvh = BLI_pbvh_new();
 		BLI_assert(!(me->mface == NULL && me->mpoly != NULL)); /* BMESH ONLY complain if mpoly is valid but not mface */
 		BLI_pbvh_build_mesh(ccgdm->pbvh, me->mface, me->mvert,
-		                    me->totface, me->totvert);
+							me->totface, me->totvert, &me->vdata);
 	}
 
 	return ccgdm->pbvh;

Modified: trunk/blender/source/blender/blenlib/BLI_pbvh.h
===================================================================
--- trunk/blender/source/blender/blenlib/BLI_pbvh.h	2012-05-10 20:33:24 UTC (rev 46516)
+++ trunk/blender/source/blender/blenlib/BLI_pbvh.h	2012-05-10 20:33:36 UTC (rev 46517)
@@ -30,6 +30,7 @@
 
 struct CCGElem;
 struct CCGKey;
+struct CustomData;
 struct DMFlagMat;
 struct DMGridAdjacency;
 struct ListBase;
@@ -57,7 +58,7 @@
 
 PBVH *BLI_pbvh_new(void);
 void BLI_pbvh_build_mesh(PBVH *bvh, struct MFace *faces, struct MVert *verts,
-			int totface, int totvert);
+			int totface, int totvert, struct CustomData *vdata);
 void BLI_pbvh_build_grids(PBVH *bvh, struct CCGElem **grid_elems,
 	struct DMGridAdjacency *gridadj, int totgrid,
 	struct CCGKey *key, void **gridfaces, struct DMFlagMat *flagmats,

Modified: trunk/blender/source/blender/blenlib/intern/pbvh.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/pbvh.c	2012-05-10 20:33:24 UTC (rev 46516)
+++ trunk/blender/source/blender/blenlib/intern/pbvh.c	2012-05-10 20:33:36 UTC (rev 46517)
@@ -136,6 +136,7 @@
 	/* Mesh data */
 	MVert *verts;
 	MFace *faces;
+	CustomData *vdata;
 
 	/* Grid Data */
 	CCGKey gridkey;
@@ -602,7 +603,7 @@
 }
 
 /* Do a full rebuild with on Mesh data structure */
-void BLI_pbvh_build_mesh(PBVH *bvh, MFace *faces, MVert *verts, int totface, int totvert)
+void BLI_pbvh_build_mesh(PBVH *bvh, MFace *faces, MVert *verts, int totface, int totvert, struct CustomData *vdata)
 {
 	BBC *prim_bbc = NULL;
 	BB cb;
@@ -614,6 +615,7 @@
 	bvh->vert_bitmap = BLI_BITMAP_NEW(totvert, "bvh->vert_bitmap");
 	bvh->totvert = totvert;
 	bvh->leaf_limit = LEAF_LIMIT;
+	bvh->vdata = vdata;
 
 	BB_reset(&cb);
 




More information about the Bf-blender-cvs mailing list