[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42299] branches/bmesh/blender/source/ blender: More DM func renames, fixing some build breaks, renaming more stuff, also seems like it might be fixing the recent CDDM_copy corruption/ leak bug
Andrew Wiggin
ender79bl at gmail.com
Wed Nov 30 19:04:02 CET 2011
Revision: 42299
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42299
Author: ender79
Date: 2011-11-30 18:03:56 +0000 (Wed, 30 Nov 2011)
Log Message:
-----------
More DM func renames, fixing some build breaks, renaming more stuff, also seems like it might be fixing the recent CDDM_copy corruption/leak bug
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h
branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
branches/bmesh/blender/source/blender/blenkernel/intern/navmesh_conversion.c
branches/bmesh/blender/source/blender/blenkernel/intern/particle_system.c
branches/bmesh/blender/source/blender/blenkernel/intern/subsurf_ccg.c
branches/bmesh/blender/source/blender/bmesh/intern/in-progress/BME_conversions.c
branches/bmesh/blender/source/blender/collada/GeometryExporter.cpp
branches/bmesh/blender/source/blender/editors/armature/meshlaplacian.c
branches/bmesh/blender/source/blender/editors/space_view3d/drawmesh.c
branches/bmesh/blender/source/blender/gpu/intern/gpu_buffers.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_ngoninterp.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_ocean.c
Modified: branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2011-11-30 16:29:26 UTC (rev 42298)
+++ branches/bmesh/blender/source/blender/blenkernel/BKE_DerivedMesh.h 2011-11-30 18:03:56 UTC (rev 42299)
@@ -122,7 +122,7 @@
struct DerivedMesh {
/* Private DerivedMesh data, only for internal DerivedMesh use */
CustomData vertData, edgeData, faceData, loopData, polyData;
- int numVertData, numEdgeData, numFaceData, numLoopData, numPolyData;
+ int numVertData, numEdgeData, numTessFaceData, numLoopData, numPolyData;
int needsFree; /* checked on ->release, is set to 0 for cached results */
int deformedOnly; /* set by modifier stack if only deformed from original */
BVHCache bvhCache;
@@ -141,6 +141,7 @@
int (*getNumVerts)(DerivedMesh *dm);
int (*getNumEdges)(DerivedMesh *dm);
int (*getNumTessFaces)(DerivedMesh *dm);
+ int (*getNumLoops)(DerivedMesh *dm);
int (*getNumPolys)(DerivedMesh *dm);
/* copy a single vert/edge/tesselated face from the derived mesh into
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c 2011-11-30 16:29:26 UTC (rev 42298)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c 2011-11-30 18:03:56 UTC (rev 42299)
@@ -115,7 +115,7 @@
return medge;
}
-static MFace *dm_getFaceArray(DerivedMesh *dm)
+static MFace *dm_getTessFaceArray(DerivedMesh *dm)
{
MFace *mface = CustomData_get_layer(&dm->faceData, CD_MFACE);
@@ -189,7 +189,7 @@
static MLoop *dm_dupLoopArray(DerivedMesh *dm)
{
- MLoop *tmp = MEM_callocN(sizeof(*tmp) * dm->numLoopData,
+ MLoop *tmp = MEM_callocN(sizeof(*tmp) * dm->getNumLoops(dm),
"dm_dupLoopArray tmp");
if(tmp) dm->copyLoopArray(dm, tmp);
@@ -199,7 +199,7 @@
static MPoly *dm_dupPolyArray(DerivedMesh *dm)
{
- MPoly *tmp = MEM_callocN(sizeof(*tmp) * dm->numFaceData,
+ MPoly *tmp = MEM_callocN(sizeof(*tmp) * dm->getNumPolys(dm),
"dm_dupPolyArray tmp");
if(tmp) dm->copyPolyArray(dm, tmp);
@@ -217,7 +217,7 @@
return &dm->edgeData;
}
-static CustomData *dm_getFaceCData(DerivedMesh *dm)
+static CustomData *dm_getTessFaceCData(DerivedMesh *dm)
{
return &dm->faceData;
}
@@ -237,7 +237,7 @@
/* default function implementations */
dm->getVertArray = dm_getVertArray;
dm->getEdgeArray = dm_getEdgeArray;
- dm->getTessFaceArray = dm_getFaceArray;
+ dm->getTessFaceArray = dm_getTessFaceArray;
dm->getLoopArray = dm_getLoopArray;
dm->getPolyArray = dm_getPolyArray;
dm->dupVertArray = dm_dupVertArray;
@@ -248,7 +248,7 @@
dm->getVertDataLayout = dm_getVertCData;
dm->getEdgeDataLayout = dm_getEdgeCData;
- dm->getTessFaceDataLayout = dm_getFaceCData;
+ dm->getTessFaceDataLayout = dm_getTessFaceCData;
dm->getLoopDataLayout = dm_getLoopCData;
dm->getPolyDataLayout = dm_getPolyCData;
@@ -263,14 +263,14 @@
}
void DM_init(DerivedMesh *dm, DerivedMeshType type, int numVerts, int numEdges,
- int numFaces, int numLoops, int numPoly)
+ int numTessFaces, int numLoops, int numPolys)
{
dm->type = type;
dm->numVertData = numVerts;
dm->numEdgeData = numEdges;
- dm->numFaceData = numFaces;
+ dm->numTessFaceData = numTessFaces;
dm->numLoopData = numLoops;
- dm->numPolyData = numPoly;
+ dm->numPolyData = numPolys;
DM_init_funcs(dm);
@@ -278,15 +278,15 @@
}
void DM_from_template(DerivedMesh *dm, DerivedMesh *source, DerivedMeshType type,
- int numVerts, int numEdges, int numFaces,
- int numLoops, int numPolys)
+ int numVerts, int numEdges, int numTessFaces,
+ int numLoops, int numPolys)
{
CustomData_copy(&source->vertData, &dm->vertData, CD_MASK_DERIVEDMESH,
CD_CALLOC, numVerts);
CustomData_copy(&source->edgeData, &dm->edgeData, CD_MASK_DERIVEDMESH,
CD_CALLOC, numEdges);
CustomData_copy(&source->faceData, &dm->faceData, CD_MASK_DERIVEDMESH,
- CD_CALLOC, numFaces);
+ CD_CALLOC, numTessFaces);
CustomData_copy(&source->loopData, &dm->loopData, CD_MASK_DERIVEDMESH,
CD_CALLOC, numLoops);
CustomData_copy(&source->polyData, &dm->polyData, CD_MASK_DERIVEDMESH,
@@ -295,7 +295,7 @@
dm->type = type;
dm->numVertData = numVerts;
dm->numEdgeData = numEdges;
- dm->numFaceData = numFaces;
+ dm->numTessFaceData = numTessFaces;
dm->numLoopData = numLoops;
dm->numPolyData = numPolys;
@@ -311,7 +311,7 @@
GPU_drawobject_free( dm );
CustomData_free(&dm->vertData, dm->numVertData);
CustomData_free(&dm->edgeData, dm->numEdgeData);
- CustomData_free(&dm->faceData, dm->numFaceData);
+ CustomData_free(&dm->faceData, dm->numTessFaceData);
CustomData_free(&dm->loopData, dm->numLoopData);
CustomData_free(&dm->polyData, dm->numPolyData);
@@ -320,7 +320,7 @@
else {
CustomData_free_temporary(&dm->vertData, dm->numVertData);
CustomData_free_temporary(&dm->edgeData, dm->numEdgeData);
- CustomData_free_temporary(&dm->faceData, dm->numFaceData);
+ CustomData_free_temporary(&dm->faceData, dm->numTessFaceData);
CustomData_free_temporary(&dm->loopData, dm->numLoopData);
CustomData_free_temporary(&dm->polyData, dm->numPolyData);
@@ -488,7 +488,7 @@
void DM_add_tessface_layer(DerivedMesh *dm, int type, int alloctype, void *layer)
{
- CustomData_add_layer(&dm->faceData, type, alloctype, layer, dm->numFaceData);
+ CustomData_add_layer(&dm->faceData, type, alloctype, layer, dm->numTessFaceData);
}
void DM_add_loop_layer(DerivedMesh *dm, int type, int alloctype, void *layer)
@@ -1979,7 +1979,7 @@
MVert * mvert; // vertices & normals
float (*orco)[3];
float (*tangent)[4]; // destination
- int numFaces;
+ int numTessFaces;
} SGLSLMeshToTangent;
@@ -1989,7 +1989,7 @@
static int GetNumFaces(const SMikkTSpaceContext * pContext)
{
SGLSLMeshToTangent * pMesh = (SGLSLMeshToTangent *) pContext->m_pUserData;
- return pMesh->numFaces;
+ return pMesh->numTessFaces;
}
static int GetNumVertsOfFace(const SMikkTSpaceContext * pContext, const int face_num)
@@ -2116,7 +2116,7 @@
mesh2tangent.mvert = mvert;
mesh2tangent.orco = orco;
mesh2tangent.tangent = tangent;
- mesh2tangent.numFaces = totface;
+ mesh2tangent.numTessFaces = totface;
sContext.m_pUserData = &mesh2tangent;
sContext.m_pInterface = &sInterface;
@@ -2242,7 +2242,7 @@
attribs->tface[a].glIndex = gattribs->layer[b].glindex;
} /*else {
int player;
- CustomData *pdata = dm->getFaceDataLayout(dm);
+ CustomData *pdata = dm->getPolyDataLayout(dm);
if(gattribs->layer[b].name[0])
player = CustomData_get_named_layer_index(pdata, CD_MTEXPOLY,
@@ -2362,7 +2362,7 @@
DEBUG_VBO( "Using legacy code. drawNavMeshColored\n" );
//glShadeModel(GL_SMOOTH);
glBegin(glmode = GL_QUADS);
- for(a = 0; a < dm->numFaceData; a++, mface++) {
+ for(a = 0; a < dm->numTessFaceData; a++, mface++) {
int new_glmode = mface->v4?GL_QUADS:GL_TRIANGLES;
int pi = polygonIdx[a];
if (pi <= 0) {
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2011-11-30 16:29:26 UTC (rev 42298)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/cdderivedmesh.c 2011-11-30 18:03:56 UTC (rev 42299)
@@ -109,9 +109,14 @@
static int cdDM_getNumTessFaces(DerivedMesh *dm)
{
- return dm->numFaceData;
+ return dm->numTessFaceData;
}
+static int cdDM_getNumLoops(DerivedMesh *dm)
+{
+ return dm->numLoopData;
+}
+
static int cdDM_getNumPolys(DerivedMesh *dm)
{
return dm->numPolyData;
@@ -150,7 +155,7 @@
static void cdDM_copyTessFaceArray(DerivedMesh *dm, MFace *face_r)
{
CDDerivedMesh *cddm = (CDDerivedMesh *)dm;
- memcpy(face_r, cddm->mface, sizeof(*face_r) * dm->numFaceData);
+ memcpy(face_r, cddm->mface, sizeof(*face_r) * dm->numTessFaceData);
}
static void cdDM_copyLoopArray(DerivedMesh *dm, MLoop *loop_r)
@@ -287,7 +292,7 @@
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
float (*face_nors)[3];
- if(!cddm->pbvh || !cddm->pbvh_draw || !dm->numFaceData)
+ if(!cddm->pbvh || !cddm->pbvh_draw || !dm->numTessFaceData)
return;
face_nors = CustomData_get_layer(&dm->faceData, CD_NORMAL);
@@ -329,7 +334,7 @@
if(mf) {
if( GPU_buffer_legacy(dm) ) {
glBegin(GL_LINES);
- for(i = 0; i < dm->numFaceData; i++, mf++, tf++) {
+ for(i = 0; i < dm->numTessFaceData; i++, mf++, tf++) {
if(!(mf->flag&ME_HIDE)) {
glVertex2fv(tf->uv[0]);
glVertex2fv(tf->uv[1]);
@@ -359,7 +364,7 @@
GPU_uvedge_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- for(i = 0; i < dm->numFaceData; i++, mf++) {
+ for(i = 0; i < dm->numTessFaceData; i++, mf++) {
if(!(mf->flag&ME_HIDE)) {
draw = 1;
}
@@ -506,7 +511,7 @@
}
if(cddm->pbvh && cddm->pbvh_draw) {
- if(dm->numFaceData) {
+ if(dm->numTessFaceData) {
float (*face_nors)[3] = CustomData_get_layer(&dm->faceData, CD_NORMAL);
/* should be per face */
@@ -524,7 +529,7 @@
if( GPU_buffer_legacy(dm) ) {
DEBUG_VBO( "Using legacy code. cdDM_drawFacesSolid\n" );
glBegin(glmode = GL_QUADS);
- for(a = 0; a < dm->numFaceData; a++, mface++) {
+ for(a = 0; a < dm->numTessFaceData; a++, mface++) {
int new_glmode, new_matnr, new_shademodel;
new_glmode = mface->v4?GL_QUADS:GL_TRIANGLES;
@@ -617,7 +622,7 @@
DEBUG_VBO( "Using legacy code. cdDM_drawFacesColored\n" );
glShadeModel(GL_SMOOTH);
glBegin(glmode = GL_QUADS);
- for(a = 0; a < dm->numFaceData; a++, mface++, cp1 += 16) {
+ for(a = 0; a < dm->numTessFaceData; a++, mface++, cp1 += 16) {
int new_glmode = mface->v4?GL_QUADS:GL_TRIANGLES;
if(new_glmode != glmode) {
@@ -696,7 +701,7 @@
if( GPU_buffer_legacy(dm) ) {
DEBUG_VBO( "Using legacy code. cdDM_drawFacesTex_common\n" );
- for(i = 0; i < dm->numFaceData; i++, mf++) {
+ for(i = 0; i < dm->numTessFaceData; i++, mf++) {
MVert *mvert;
int flag;
unsigned char *cp = NULL;
@@ -892,7 +897,7 @@
* color array temporarily overwritten for drawing, then reset. */
if( GPU_buffer_legacy(dm) || G.f & G_BACKBUFSEL) {
DEBUG_VBO( "Using legacy code. cdDM_drawMappedFaces\n" );
- for(i = 0; i < dm->numFaceData; i++, mf++) {
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list