Cleanup: remove unused derived mesh functionality
authorCampbell Barton <ideasman42@gmail.com>
Wed, 26 Feb 2020 03:52:42 +0000 (14:52 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 26 Feb 2020 04:22:46 +0000 (15:22 +1100)
source/blender/blenkernel/BKE_DerivedMesh.h
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/cdderivedmesh.c
source/blender/blenkernel/intern/subsurf_ccg.c

index a5226dfa947157e6753755d40f35a54befddcc60..575fdc4b8ff222c8af605739d6babf67ad7d78dd 100644 (file)
@@ -116,11 +116,8 @@ struct DerivedMesh {
   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;
   DerivedMeshType type;
   DMDirtyFlag dirty;
-  int totmat;            /* total materials. Will be valid only before object drawing. */
-  struct Material **mat; /* material array. Will be valid only before object drawing */
 
   /**
    * \warning Typical access is done via #getLoopTriArray, #getNumLoopTri.
@@ -222,11 +219,6 @@ struct DerivedMesh {
   CustomData *(*getLoopDataLayout)(DerivedMesh *dm);
   CustomData *(*getPolyDataLayout)(DerivedMesh *dm);
 
-  /** Copies all customdata for an element source into dst at index dest */
-  void (*copyFromVertCData)(DerivedMesh *dm, int source, CustomData *dst, int dest);
-  void (*copyFromEdgeCData)(DerivedMesh *dm, int source, CustomData *dst, int dest);
-  void (*copyFromFaceCData)(DerivedMesh *dm, int source, CustomData *dst, int dest);
-
   /** Optional grid access for subsurf */
   int (*getNumGrids)(DerivedMesh *dm);
   int (*getGridSize)(DerivedMesh *dm);
@@ -236,12 +228,6 @@ struct DerivedMesh {
   DMFlagMat *(*getGridFlagMats)(DerivedMesh *dm);
   unsigned int **(*getGridHidden)(DerivedMesh *dm);
 
-  /** Iterate over all vertex points, calling DO_MINMAX with given args.
-   *
-   * Also called in Editmode
-   */
-  void (*getMinMax)(DerivedMesh *dm, float r_min[3], float r_max[3]);
-
   /** Direct Access Operations
    * - Can be undefined
    * - Must be defined for modifiers that only deform however */
index 0e532fdedc25459398c74899f4215f78e55b07a3..3006ab76032bca9a1fdc4da28e2623ebba05c0c0 100644 (file)
@@ -317,8 +317,6 @@ void DM_init_funcs(DerivedMesh *dm)
   dm->getTessFaceDataArray = DM_get_tessface_data_layer;
   dm->getPolyDataArray = DM_get_poly_data_layer;
   dm->getLoopDataArray = DM_get_loop_data_layer;
-
-  dm->bvhCache = NULL;
 }
 
 /**
@@ -411,19 +409,12 @@ void DM_from_template(DerivedMesh *dm,
 int DM_release(DerivedMesh *dm)
 {
   if (dm->needsFree) {
-    bvhcache_free(&dm->bvhCache);
     CustomData_free(&dm->vertData, dm->numVertData);
     CustomData_free(&dm->edgeData, dm->numEdgeData);
     CustomData_free(&dm->faceData, dm->numTessFaceData);
     CustomData_free(&dm->loopData, dm->numLoopData);
     CustomData_free(&dm->polyData, dm->numPolyData);
 
-    if (dm->mat) {
-      MEM_freeN(dm->mat);
-      dm->mat = NULL;
-      dm->totmat = 0;
-    }
-
     MEM_SAFE_FREE(dm->looptris.array);
     dm->looptris.num = 0;
     dm->looptris.num_alloc = 0;
index 65297ba630c9552dabdf3ed3b055aa9a47f972c6..8d79d1061458e23a4869cbca81f7b6bcbf4ac2c2 100644 (file)
@@ -151,22 +151,6 @@ static void cdDM_copyPolyArray(DerivedMesh *dm, MPoly *r_poly)
   memcpy(r_poly, cddm->mpoly, sizeof(*r_poly) * dm->numPolyData);
 }
 
-static void cdDM_getMinMax(DerivedMesh *dm, float r_min[3], float r_max[3])
-{
-  CDDerivedMesh *cddm = (CDDerivedMesh *)dm;
-  int i;
-
-  if (dm->numVertData) {
-    for (i = 0; i < dm->numVertData; i++) {
-      minmax_v3v3_v3(r_min, r_max, cddm->mvert[i].co);
-    }
-  }
-  else {
-    zero_v3(r_min);
-    zero_v3(r_max);
-  }
-}
-
 static void cdDM_getVertCo(DerivedMesh *dm, int index, float r_co[3])
 {
   CDDerivedMesh *cddm = (CDDerivedMesh *)dm;
@@ -241,8 +225,6 @@ static CDDerivedMesh *cdDM_create(const char *desc)
   cddm = MEM_callocN(sizeof(*cddm), desc);
   dm = &cddm->dm;
 
-  dm->getMinMax = cdDM_getMinMax;
-
   dm->getNumVerts = cdDM_getNumVerts;
   dm->getNumEdges = cdDM_getNumEdges;
   dm->getNumTessFaces = cdDM_getNumTessFaces;
index 33a9875151a5d30ca2b74f56e9a64ff7331f9356..da3c03cf705b138da928ddc58b2a1d53e61fe6fa 100644 (file)
@@ -838,7 +838,8 @@ static void minmax_v3_v3v3(const float vec[3], float min[3], float max[3])
   }
 }
 
-static void ccgDM_getMinMax(DerivedMesh *dm, float r_min[3], float r_max[3])
+/* UNUSED, keep since this functionality may be useful in the future. */
+static void UNUSED_FUNCTION(ccgDM_getMinMax)(DerivedMesh *dm, float r_min[3], float r_max[3])
 {
   CCGDerivedMesh *ccgdm = (CCGDerivedMesh *)dm;
   CCGSubSurf *ss = ccgdm->ss;
@@ -2042,7 +2043,6 @@ static void ccgDM_recalcLoopTri(DerivedMesh *dm)
 
 static void set_default_ccgdm_callbacks(CCGDerivedMesh *ccgdm)
 {
-  ccgdm->dm.getMinMax = ccgDM_getMinMax;
   ccgdm->dm.getNumVerts = ccgDM_getNumVerts;
   ccgdm->dm.getNumEdges = ccgDM_getNumEdges;
   ccgdm->dm.getNumLoops = ccgDM_getNumLoops;