[Bf-blender-cvs] [23775f3914d] master: Cleanup: Remove unused DerivedMesh functions

Hans Goudey noreply at git.blender.org
Mon Jan 31 01:06:56 CET 2022


Commit: 23775f3914d6474fd73eff78429aaf3180f27dd7
Author: Hans Goudey
Date:   Sun Jan 30 18:06:47 2022 -0600
Branches: master
https://developer.blender.org/rB23775f3914d6474fd73eff78429aaf3180f27dd7

Cleanup: Remove unused DerivedMesh functions

Remove functions and function pointers that were never set or never
used at all. The "tessface" original index handling in `subsurf_ccg.c`
can be removed because the data was never used.

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

M	source/blender/blenkernel/BKE_DerivedMesh.h
M	source/blender/blenkernel/intern/DerivedMesh.cc
M	source/blender/blenkernel/intern/cdderivedmesh.c
M	source/blender/blenkernel/intern/subsurf_ccg.c
M	source/blender/editors/sculpt_paint/paint_image_proj.c

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

diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 051fb85def0..dc464b584bb 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -158,7 +158,6 @@ struct DerivedMesh {
    */
   struct MVert *(*getVertArray)(DerivedMesh *dm);
   struct MEdge *(*getEdgeArray)(DerivedMesh *dm);
-  struct MFace *(*getTessFaceArray)(DerivedMesh *dm);
   struct MLoop *(*getLoopArray)(DerivedMesh *dm);
   struct MPoly *(*getPolyArray)(DerivedMesh *dm);
 
@@ -167,7 +166,6 @@ struct DerivedMesh {
    */
   void (*copyVertArray)(DerivedMesh *dm, struct MVert *r_vert);
   void (*copyEdgeArray)(DerivedMesh *dm, struct MEdge *r_edge);
-  void (*copyTessFaceArray)(DerivedMesh *dm, struct MFace *r_face);
   void (*copyLoopArray)(DerivedMesh *dm, struct MLoop *r_loop);
   void (*copyPolyArray)(DerivedMesh *dm, struct MPoly *r_poly);
 
@@ -176,37 +174,18 @@ struct DerivedMesh {
    */
   struct MVert *(*dupVertArray)(DerivedMesh *dm);
   struct MEdge *(*dupEdgeArray)(DerivedMesh *dm);
-  struct MFace *(*dupTessFaceArray)(DerivedMesh *dm);
   struct MLoop *(*dupLoopArray)(DerivedMesh *dm);
   struct MPoly *(*dupPolyArray)(DerivedMesh *dm);
 
-  /** Return a pointer to a single element of vert/edge/face custom data
-   * from the derived mesh (this gives a pointer to the actual data, not
-   * a copy)
-   */
-  void *(*getVertData)(DerivedMesh *dm, int index, int type);
-  void *(*getEdgeData)(DerivedMesh *dm, int index, int type);
-  void *(*getTessFaceData)(DerivedMesh *dm, int index, int type);
-  void *(*getPolyData)(DerivedMesh *dm, int index, int type);
-
   /** Return a pointer to the entire array of vert/edge/face custom data
    * from the derived mesh (this gives a pointer to the actual data, not
    * a copy)
    */
   void *(*getVertDataArray)(DerivedMesh *dm, int type);
   void *(*getEdgeDataArray)(DerivedMesh *dm, int type);
-  void *(*getTessFaceDataArray)(DerivedMesh *dm, int type);
   void *(*getLoopDataArray)(DerivedMesh *dm, int type);
   void *(*getPolyDataArray)(DerivedMesh *dm, int type);
 
-  /** Retrieves the base CustomData structures for
-   * verts/edges/tessfaces/loops/faces. */
-  CustomData *(*getVertDataLayout)(DerivedMesh *dm);
-  CustomData *(*getEdgeDataLayout)(DerivedMesh *dm);
-  CustomData *(*getTessFaceDataLayout)(DerivedMesh *dm);
-  CustomData *(*getLoopDataLayout)(DerivedMesh *dm);
-  CustomData *(*getPolyDataLayout)(DerivedMesh *dm);
-
   /** Optional grid access for subsurf */
   int (*getNumGrids)(DerivedMesh *dm);
   int (*getGridSize)(DerivedMesh *dm);
@@ -225,11 +204,6 @@ struct DerivedMesh {
 
   /** Get smooth vertex normal, undefined if index is not valid */
   void (*getVertNo)(DerivedMesh *dm, int index, float r_no[3]);
-  void (*getPolyNo)(DerivedMesh *dm, int index, float r_no[3]);
-
-  /** Get a map of vertices to faces
-   */
-  const struct MeshElemMap *(*getPolyMap)(struct Object *ob, DerivedMesh *dm);
 
   /** Release reference to the DerivedMesh. This function decides internally
    * if the DerivedMesh will be freed, or cached for later use. */
@@ -297,25 +271,8 @@ void DM_set_only_copy(DerivedMesh *dm, const struct CustomData_MeshMasks *mask);
 
 void DM_add_vert_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer);
 void DM_add_edge_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer);
-void DM_add_tessface_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer);
-void DM_add_loop_layer(DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer);
 void DM_add_poly_layer(struct DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer);
 
-/* -------------------------------------------------------------------- */
-/** \name Custom Data Access Functions
- *
- * \return pointer to data from first layer which matches type
- * if they return NULL for valid indices, data doesn't exist.
- * \note these return pointers - any change modifies the internals of the mesh.
- * \{ */
-
-void *DM_get_vert_data(struct DerivedMesh *dm, int index, int type);
-void *DM_get_edge_data(struct DerivedMesh *dm, int index, int type);
-void *DM_get_tessface_data(struct DerivedMesh *dm, int index, int type);
-void *DM_get_poly_data(struct DerivedMesh *dm, int index, int type);
-
-/** \} */
-
 /* -------------------------------------------------------------------- */
 /** \name Custom Data Layer Access Functions
  *
@@ -326,7 +283,6 @@ void *DM_get_poly_data(struct DerivedMesh *dm, int index, int type);
 
 void *DM_get_vert_data_layer(struct DerivedMesh *dm, int type);
 void *DM_get_edge_data_layer(struct DerivedMesh *dm, int type);
-void *DM_get_tessface_data_layer(struct DerivedMesh *dm, int type);
 void *DM_get_poly_data_layer(struct DerivedMesh *dm, int type);
 void *DM_get_loop_data_layer(struct DerivedMesh *dm, int type);
 
diff --git a/source/blender/blenkernel/intern/DerivedMesh.cc b/source/blender/blenkernel/intern/DerivedMesh.cc
index 4b366a4a1bd..ba4b235429a 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.cc
+++ b/source/blender/blenkernel/intern/DerivedMesh.cc
@@ -127,30 +127,6 @@ static MEdge *dm_getEdgeArray(DerivedMesh *dm)
   return medge;
 }
 
-static MFace *dm_getTessFaceArray(DerivedMesh *dm)
-{
-  MFace *mface = (MFace *)CustomData_get_layer(&dm->faceData, CD_MFACE);
-
-  if (!mface) {
-    int numTessFaces = dm->getNumTessFaces(dm);
-
-    if (!numTessFaces) {
-      /* Do not add layer if there's no elements in it, this leads to issues later when
-       * this layer is needed with non-zero size, but currently CD stuff does not check
-       * for requested layer size on creation and just returns layer which was previously
-       * added (sergey) */
-      return nullptr;
-    }
-
-    mface = (MFace *)CustomData_add_layer(
-        &dm->faceData, CD_MFACE, CD_CALLOC, nullptr, numTessFaces);
-    CustomData_set_layer_flag(&dm->faceData, CD_MFACE, CD_FLAG_TEMPORARY);
-    dm->copyTessFaceArray(dm, mface);
-  }
-
-  return mface;
-}
-
 static MLoop *dm_getLoopArray(DerivedMesh *dm)
 {
   MLoop *mloop = (MLoop *)CustomData_get_layer(&dm->loopData, CD_MLOOP);
@@ -203,18 +179,6 @@ static MEdge *dm_dupEdgeArray(DerivedMesh *dm)
   return tmp;
 }
 
-static MFace *dm_dupFaceArray(DerivedMesh *dm)
-{
-  MFace *tmp = (MFace *)MEM_malloc_arrayN(
-      dm->getNumTessFaces(dm), sizeof(*tmp), "dm_dupFaceArray tmp");
-
-  if (tmp) {
-    dm->copyTessFaceArray(dm, tmp);
-  }
-
-  return tmp;
-}
-
 static MLoop *dm_dupLoopArray(DerivedMesh *dm)
 {
   MLoop *tmp = (MLoop *)MEM_malloc_arrayN(
@@ -270,42 +234,15 @@ static const MLoopTri *dm_getLoopTriArray(DerivedMesh *dm)
   return looptri;
 }
 
-static CustomData *dm_getVertCData(DerivedMesh *dm)
-{
-  return &dm->vertData;
-}
-
-static CustomData *dm_getEdgeCData(DerivedMesh *dm)
-{
-  return &dm->edgeData;
-}
-
-static CustomData *dm_getTessFaceCData(DerivedMesh *dm)
-{
-  return &dm->faceData;
-}
-
-static CustomData *dm_getLoopCData(DerivedMesh *dm)
-{
-  return &dm->loopData;
-}
-
-static CustomData *dm_getPolyCData(DerivedMesh *dm)
-{
-  return &dm->polyData;
-}
-
 void DM_init_funcs(DerivedMesh *dm)
 {
   /* default function implementations */
   dm->getVertArray = dm_getVertArray;
   dm->getEdgeArray = dm_getEdgeArray;
-  dm->getTessFaceArray = dm_getTessFaceArray;
   dm->getLoopArray = dm_getLoopArray;
   dm->getPolyArray = dm_getPolyArray;
   dm->dupVertArray = dm_dupVertArray;
   dm->dupEdgeArray = dm_dupEdgeArray;
-  dm->dupTessFaceArray = dm_dupFaceArray;
   dm->dupLoopArray = dm_dupLoopArray;
   dm->dupPolyArray = dm_dupPolyArray;
 
@@ -314,19 +251,8 @@ void DM_init_funcs(DerivedMesh *dm)
   /* subtypes handle getting actual data */
   dm->getNumLoopTri = dm_getNumLoopTri;
 
-  dm->getVertDataLayout = dm_getVertCData;
-  dm->getEdgeDataLayout = dm_getEdgeCData;
-  dm->getTessFaceDataLayout = dm_getTessFaceCData;
-  dm->getLoopDataLayout = dm_getLoopCData;
-  dm->getPolyDataLayout = dm_getPolyCData;
-
-  dm->getVertData = DM_get_vert_data;
-  dm->getEdgeData = DM_get_edge_data;
-  dm->getTessFaceData = DM_get_tessface_data;
-  dm->getPolyData = DM_get_poly_data;
   dm->getVertDataArray = DM_get_vert_data_layer;
   dm->getEdgeDataArray = DM_get_edge_data_layer;
-  dm->getTessFaceDataArray = DM_get_tessface_data_layer;
   dm->getPolyDataArray = DM_get_poly_data_layer;
   dm->getLoopDataArray = DM_get_loop_data_layer;
 }
@@ -544,45 +470,11 @@ void DM_add_edge_layer(DerivedMesh *dm, int type, eCDAllocType alloctype, void *
   CustomData_add_layer(&dm->edgeData, type, alloctype, layer, dm->numEdgeData);
 }
 
-void DM_add_tessface_layer(DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
-{
-  CustomData_add_layer(&dm->faceData, type, alloctype, layer, dm->numTessFaceData);
-}
-
-void DM_add_loop_layer(DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
-{
-  CustomData_add_layer(&dm->loopData, type, alloctype, layer, dm->numLoopData);
-}
-
 void DM_add_poly_layer(DerivedMesh *dm, int type, eCDAllocType alloctype, void *layer)
 {
   CustomData_add_layer(&dm->polyData, type, alloctype, layer, dm->numPolyData);
 }
 
-void *DM_get_vert_data(DerivedMesh *dm, int index, int type)
-{
-  BLI_assert(index >= 0 && index < dm->getNumVerts(dm));
-  return CustomData_get(&dm->vertData, index, type);
-}
-
-void *DM_get_edge_data(DerivedMesh *dm, int index, int type)
-{
-  BLI_assert(index >= 0 && index < dm->getNumEdges(dm));
-  return CustomData_get(&dm->edgeData, index, type);
-}
-
-void *DM_get_tessface_data(DerivedMesh *dm, int index, int type)
-{
-  BLI_assert(index >= 0 && index < dm->getNumTessFaces(dm));
-  return CustomData_get(&dm->faceData, index, type);
-}
-
-void *DM_get_poly_data(DerivedMesh *dm, int index, int type)
-{
-  BLI_assert(index >= 0 && index < dm->getNumPolys(dm));
-  return CustomData_get(&dm->polyData, index, type);
-}
-
 void *DM_get_vert_data_layer(DerivedMesh *dm, int type)
 {
   if (type == CD_MVERT) {
@@ -601,15 +493,6 @@ void *DM_get_edge_data_layer(DerivedMesh *dm, int type)
   return CustomData_get_layer(&dm->edgeData, type);
 }
 
-void *DM_get_tessface_data_layer(DerivedMesh *dm, int type)
-{
-  if (type == CD_MFACE) {
-    return dm->ge

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list