diff --git a/source/blender/blenkernel/BKE_subsurf.hh b/source/blender/blenkernel/BKE_subsurf.hh index 474a7846869..0bea59fd545 100644 --- a/source/blender/blenkernel/BKE_subsurf.hh +++ b/source/blender/blenkernel/BKE_subsurf.hh @@ -94,13 +94,6 @@ struct CCGDerivedMesh { CCGFace *face; } *faceMap; - int *reverseFaceMap; - - PBVH *pbvh; - - MeshElemMap *pmap; - int *pmap_mem; - CCGElem **gridData; int *gridOffset; CCGFace **gridFaces; diff --git a/source/blender/blenkernel/intern/mesh_legacy_derived_mesh.cc b/source/blender/blenkernel/intern/mesh_legacy_derived_mesh.cc index 7ae471df790..c2987c98975 100644 --- a/source/blender/blenkernel/intern/mesh_legacy_derived_mesh.cc +++ b/source/blender/blenkernel/intern/mesh_legacy_derived_mesh.cc @@ -221,14 +221,6 @@ struct CDDerivedMesh { MFace *mface; int *corner_verts; int *corner_edges; - - /* Cached */ - PBVH *pbvh; - bool pbvh_draw; - - /* Mesh connectivity */ - MeshElemMap *pmap; - int *pmap_mem; }; /**************** DerivedMesh interface functions ****************/ @@ -281,22 +273,11 @@ static void cdDM_copyPolyArray(DerivedMesh *dm, int *r_face_offsets) memcpy(r_face_offsets, dm->face_offsets, sizeof(int) * (dm->numPolyData + 1)); } -static void cdDM_free_internal(CDDerivedMesh *cddm) -{ - if (cddm->pmap) { - MEM_freeN(cddm->pmap); - } - if (cddm->pmap_mem) { - MEM_freeN(cddm->pmap_mem); - } -} - static void cdDM_release(DerivedMesh *dm) { CDDerivedMesh *cddm = (CDDerivedMesh *)dm; DM_release(dm); - cdDM_free_internal(cddm); MEM_freeN(cddm); } diff --git a/source/blender/blenkernel/intern/subsurf_ccg.cc b/source/blender/blenkernel/intern/subsurf_ccg.cc index 13573766b82..6f57f9cf1b8 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.cc +++ b/source/blender/blenkernel/intern/subsurf_ccg.cc @@ -640,83 +640,6 @@ static int ccgDM_getFaceMapIndex(CCGSubSurf *ss, CCGFace *f) return ((int *)ccgSubSurf_getFaceUserData(ss, f))[1]; } -static void minmax_v3_v3v3(const float vec[3], float min[3], float max[3]) -{ - if (min[0] > vec[0]) { - min[0] = vec[0]; - } - if (min[1] > vec[1]) { - min[1] = vec[1]; - } - if (min[2] > vec[2]) { - min[2] = vec[2]; - } - if (max[0] < vec[0]) { - max[0] = vec[0]; - } - if (max[1] < vec[1]) { - max[1] = vec[1]; - } - if (max[2] < vec[2]) { - max[2] = vec[2]; - } -} - -static void UNUSED_FUNCTION(ccgDM_getMinMax)(DerivedMesh *dm, float r_min[3], float r_max[3]) -{ - CCGDerivedMesh *ccgdm = (CCGDerivedMesh *)dm; - CCGSubSurf *ss = ccgdm->ss; - CCGVertIterator vi; - CCGEdgeIterator ei; - CCGFaceIterator fi; - CCGKey key; - int i, edgeSize = ccgSubSurf_getEdgeSize(ss); - int gridSize = ccgSubSurf_getGridSize(ss); - - CCG_key_top_level(&key, ss); - - if (!ccgSubSurf_getNumVerts(ss)) { - r_min[0] = r_min[1] = r_min[2] = r_max[0] = r_max[1] = r_max[2] = 0.0; - } - - for (ccgSubSurf_initVertIterator(ss, &vi); !ccgVertIterator_isStopped(&vi); - ccgVertIterator_next(&vi)) - { - CCGVert *v = ccgVertIterator_getCurrent(&vi); - float *co = static_cast(ccgSubSurf_getVertData(ss, v)); - - minmax_v3_v3v3(co, r_min, r_max); - } - - for (ccgSubSurf_initEdgeIterator(ss, &ei); !ccgEdgeIterator_isStopped(&ei); - ccgEdgeIterator_next(&ei)) - { - CCGEdge *e = ccgEdgeIterator_getCurrent(&ei); - CCGElem *edgeData = static_cast(ccgSubSurf_getEdgeDataArray(ss, e)); - - for (i = 0; i < edgeSize; i++) { - minmax_v3_v3v3(CCG_elem_offset_co(&key, edgeData, i), r_min, r_max); - } - } - - for (ccgSubSurf_initFaceIterator(ss, &fi); !ccgFaceIterator_isStopped(&fi); - ccgFaceIterator_next(&fi)) - { - CCGFace *f = ccgFaceIterator_getCurrent(&fi); - int S, x, y, numVerts = ccgSubSurf_getFaceNumVerts(f); - - for (S = 0; S < numVerts; S++) { - CCGElem *faceGridData = static_cast(ccgSubSurf_getFaceGridDataArray(ss, f, S)); - - for (y = 0; y < gridSize; y++) { - for (x = 0; x < gridSize; x++) { - minmax_v3_v3v3(CCG_grid_elem_co(&key, faceGridData, x, y), r_min, r_max); - } - } - } - } -} - static int ccgDM_getNumVerts(DerivedMesh *dm) { CCGDerivedMesh *ccgdm = (CCGDerivedMesh *)dm; @@ -1033,9 +956,6 @@ static void ccgDM_release(DerivedMesh *dm) delete ccgdm->ehash; - if (ccgdm->reverseFaceMap) { - MEM_freeN(ccgdm->reverseFaceMap); - } if (ccgdm->gridFaces) { MEM_freeN(ccgdm->gridFaces); } @@ -1058,12 +978,6 @@ static void ccgDM_release(DerivedMesh *dm) if (ccgdm->freeSS) { ccgSubSurf_free(ccgdm->ss); } - if (ccgdm->pmap) { - MEM_freeN(ccgdm->pmap); - } - if (ccgdm->pmap_mem) { - MEM_freeN(ccgdm->pmap_mem); - } MEM_freeN(ccgdm->vertMap); MEM_freeN(ccgdm->edgeMap); MEM_freeN(ccgdm->faceMap); @@ -1530,8 +1444,6 @@ static void set_ccgdm_all_geometry(CCGDerivedMesh *ccgdm, polyOrigIndex++; } - ccgdm->reverseFaceMap[faceNum] = index; - /* This is a simple one to one mapping, here... */ if (polyidx) { polyidx[faceNum] = faceNum; @@ -1655,9 +1567,6 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss, &ccgdm->dm.loopData, ".corner_edge", ccgSubSurf_getNumFinalFaces(ss) * 4); MEM_SAFE_FREE(ccgdm->dm.face_offsets); - ccgdm->reverseFaceMap = static_cast( - MEM_callocN(sizeof(int) * ccgSubSurf_getNumFinalFaces(ss), "reverseFaceMap")); - create_ccgdm_maps(ccgdm, ss); set_default_ccgdm_callbacks(ccgdm);