[Bf-blender-cvs] [ed7bbbe1644] temp-mesh-cpp: Cleanup: Move object_modifier.c to C++

Hans Goudey noreply at git.blender.org
Fri Apr 15 18:57:33 CEST 2022


Commit: ed7bbbe16448711042cdef0dae8125d0fddd5808
Author: Hans Goudey
Date:   Fri Apr 15 11:57:23 2022 -0500
Branches: temp-mesh-cpp
https://developer.blender.org/rBed7bbbe16448711042cdef0dae8125d0fddd5808

Cleanup: Move object_modifier.c to C++

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

M	source/blender/editors/object/CMakeLists.txt
R092	source/blender/editors/object/object_modifier.c	source/blender/editors/object/object_modifier.cc

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

diff --git a/source/blender/editors/object/CMakeLists.txt b/source/blender/editors/object/CMakeLists.txt
index 02feccc211a..97376a495c1 100644
--- a/source/blender/editors/object/CMakeLists.txt
+++ b/source/blender/editors/object/CMakeLists.txt
@@ -43,7 +43,7 @@ set(SRC
   object_gpencil_modifier.c
   object_hook.c
   object_modes.c
-  object_modifier.c
+  object_modifier.cc
   object_ops.c
   object_random.c
   object_relations.c
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.cc
similarity index 92%
rename from source/blender/editors/object/object_modifier.c
rename to source/blender/editors/object/object_modifier.cc
index 6a230669056..8cbd9a8d3e8 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.cc
@@ -5,9 +5,9 @@
  * \ingroup edobj
  */
 
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
+#include <cmath>
+#include <cstdio>
+#include <cstdlib>
 
 #include "MEM_guardedalloc.h"
 
@@ -142,19 +142,19 @@ static void object_force_modifier_bind_simple_options(Depsgraph *depsgraph,
 ModifierData *ED_object_modifier_add(
     ReportList *reports, Main *bmain, Scene *scene, Object *ob, const char *name, int type)
 {
-  ModifierData *md = NULL, *new_md = NULL;
-  const ModifierTypeInfo *mti = BKE_modifier_get_info(type);
+  ModifierData *md = nullptr, *new_md = nullptr;
+  const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)type);
 
   /* Check compatibility of modifier [T25291, T50373]. */
   if (!BKE_object_support_modifier_type_check(ob, type)) {
     BKE_reportf(reports, RPT_WARNING, "Modifiers cannot be added to object '%s'", ob->id.name + 2);
-    return NULL;
+    return nullptr;
   }
 
   if (mti->flags & eModifierTypeFlag_Single) {
-    if (BKE_modifiers_findby_type(ob, type)) {
+    if (BKE_modifiers_findby_type(ob, (ModifierType)type)) {
       BKE_report(reports, RPT_WARNING, "Only one modifier of this type is allowed");
-      return NULL;
+      return nullptr;
     }
   }
 
@@ -169,9 +169,10 @@ ModifierData *ED_object_modifier_add(
     new_md = BKE_modifier_new(type);
 
     if (mti->flags & eModifierTypeFlag_RequiresOriginalData) {
-      md = ob->modifiers.first;
+      md = static_cast<ModifierData *>(ob->modifiers.first);
 
-      while (md && BKE_modifier_get_info(md->type)->type == eModifierTypeType_OnlyDeform) {
+      while (md &&
+             BKE_modifier_get_info((ModifierType)md->type)->type == eModifierTypeType_OnlyDeform) {
         md = md->next;
       }
 
@@ -217,7 +218,7 @@ ModifierData *ED_object_modifier_add(
     }
     else if (type == eModifierType_Skin) {
       /* ensure skin-node customdata exists */
-      BKE_mesh_ensure_skin_customdata(ob->data);
+      BKE_mesh_ensure_skin_customdata(static_cast<Mesh *>(ob->data));
     }
   }
 
@@ -248,7 +249,7 @@ bool ED_object_iter_other(Main *bmain,
                           bool (*callback)(Object *ob, void *callback_data),
                           void *callback_data)
 {
-  ID *ob_data_id = orig_ob->data;
+  ID *ob_data_id = static_cast<ID *>(orig_ob->data);
   int users = ob_data_id->us;
 
   if (ob_data_id->flag & LIB_FAKEUSER) {
@@ -260,7 +261,8 @@ bool ED_object_iter_other(Main *bmain,
     Object *ob;
     int totfound = include_orig ? 0 : 1;
 
-    for (ob = bmain->objects.first; ob && totfound < users; ob = ob->id.next) {
+    for (ob = static_cast<Object *>(bmain->objects.first); ob && totfound < users;
+         ob = reinterpret_cast<Object *>(ob->id.next)) {
       if (((ob != orig_ob) || include_orig) && (ob->data == orig_ob->data)) {
         if (callback(ob, callback_data)) {
           return true;
@@ -281,7 +283,7 @@ static bool object_has_modifier_cb(Object *ob, void *data)
 {
   ModifierType type = *((ModifierType *)data);
 
-  return object_has_modifier(ob, NULL, type);
+  return object_has_modifier(ob, nullptr, type);
 }
 
 bool ED_object_multires_update_totlevels_cb(Object *ob, void *totlevel_v)
@@ -342,7 +344,7 @@ static bool object_modifier_remove(
   else if (md->type == eModifierType_Multires) {
     /* Delete MDisps layer if not used by another multires modifier */
     if (object_modifier_safe_to_delete(bmain, ob, md, eModifierType_Multires)) {
-      multires_customdata_delete(ob->data);
+      multires_customdata_delete(static_cast<Mesh *>(ob->data));
     }
   }
   else if (md->type == eModifierType_Skin) {
@@ -384,7 +386,7 @@ bool ED_object_modifier_remove(
 
 void ED_object_modifier_clear(Main *bmain, Scene *scene, Object *ob)
 {
-  ModifierData *md = ob->modifiers.first;
+  ModifierData *md = static_cast<ModifierData *>(ob->modifiers.first);
   bool sort_depsgraph = false;
 
   if (!md) {
@@ -406,10 +408,10 @@ void ED_object_modifier_clear(Main *bmain, Scene *scene, Object *ob)
 bool ED_object_modifier_move_up(ReportList *reports, Object *ob, ModifierData *md)
 {
   if (md->prev) {
-    const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
+    const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
 
     if (mti->type != eModifierTypeType_OnlyDeform) {
-      const ModifierTypeInfo *nmti = BKE_modifier_get_info(md->prev->type);
+      const ModifierTypeInfo *nmti = BKE_modifier_get_info((ModifierType)md->prev->type);
 
       if (nmti->flags & eModifierTypeFlag_RequiresOriginalData) {
         BKE_report(reports, RPT_WARNING, "Cannot move above a modifier requiring original data");
@@ -430,10 +432,10 @@ bool ED_object_modifier_move_up(ReportList *reports, Object *ob, ModifierData *m
 bool ED_object_modifier_move_down(ReportList *reports, Object *ob, ModifierData *md)
 {
   if (md->next) {
-    const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
+    const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
 
     if (mti->flags & eModifierTypeFlag_RequiresOriginalData) {
-      const ModifierTypeInfo *nmti = BKE_modifier_get_info(md->next->type);
+      const ModifierTypeInfo *nmti = BKE_modifier_get_info((ModifierType)md->next->type);
 
       if (nmti->type != eModifierTypeType_OnlyDeform) {
         BKE_report(reports, RPT_WARNING, "Cannot move beyond a non-deforming modifier");
@@ -456,7 +458,7 @@ bool ED_object_modifier_move_to_index(ReportList *reports,
                                       ModifierData *md,
                                       const int index)
 {
-  BLI_assert(md != NULL);
+  BLI_assert(md != nullptr);
   BLI_assert(index >= 0);
   if (index >= BLI_listbase_count(&ob->modifiers)) {
     BKE_report(reports, RPT_WARNING, "Cannot move modifier beyond the end of the stack");
@@ -534,7 +536,7 @@ bool ED_object_modifier_convert(ReportList *UNUSED(reports),
     return false;
   }
   ParticleSystem *psys_eval = psys_eval_get(depsgraph, ob, psys_orig);
-  if (psys_eval->pathcache == NULL) {
+  if (psys_eval->pathcache == nullptr) {
     return false;
   }
 
@@ -572,15 +574,15 @@ bool ED_object_modifier_convert(ReportList *UNUSED(reports),
   }
 
   /* add new mesh */
-  Object *obn = BKE_object_add(bmain, view_layer, OB_MESH, NULL);
-  Mesh *me = obn->data;
+  Object *obn = BKE_object_add(bmain, view_layer, OB_MESH, nullptr);
+  Mesh *me = static_cast<Mesh *>(obn->data);
 
   me->totvert = verts_num;
   me->totedge = edges_num;
 
-  me->mvert = CustomData_add_layer(&me->vdata, CD_MVERT, CD_CALLOC, NULL, verts_num);
-  me->medge = CustomData_add_layer(&me->edata, CD_MEDGE, CD_CALLOC, NULL, edges_num);
-  me->mface = CustomData_add_layer(&me->fdata, CD_MFACE, CD_CALLOC, NULL, 0);
+  me->mvert = (MVert *)CustomData_add_layer(&me->vdata, CD_MVERT, CD_CALLOC, nullptr, verts_num);
+  me->medge = (MEdge *)CustomData_add_layer(&me->edata, CD_MEDGE, CD_CALLOC, nullptr, edges_num);
+  me->mface = (MFace *)CustomData_add_layer(&me->fdata, CD_MFACE, CD_CALLOC, nullptr, 0);
 
   MVert *mvert = me->mvert;
   MEdge *medge = me->medge;
@@ -650,9 +652,9 @@ static bool modifier_apply_shape(Main *bmain,
                                  Object *ob,
                                  ModifierData *md_eval)
 {
-  const ModifierTypeInfo *mti = BKE_modifier_get_info(md_eval->type);
+  const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md_eval->type);
 
-  if (mti->isDisabled && mti->isDisabled(scene, md_eval, 0)) {
+  if (mti->isDisabled && mti->isDisabled(scene, md_eval, false)) {
     BKE_report(reports, RPT_ERROR, "Modifier is disabled, skipping apply");
     return false;
   }
@@ -668,7 +670,7 @@ static bool modifier_apply_shape(Main *bmain,
    * we can look into supporting them. */
 
   if (ob->type == OB_MESH) {
-    Mesh *me = ob->data;
+    Mesh *me = static_cast<Mesh *>(ob->data);
     Key *key = me->key;
 
     if (!BKE_modifier_is_same_topology(md_eval) || mti->type == eModifierTypeType_NonGeometrical) {
@@ -683,19 +685,19 @@ static bool modifier_apply_shape(Main *bmain,
       return false;
     }
 
-    if (key == NULL) {
+    if (key == nullptr) {
       key = me->key = BKE_key_add(bmain, (ID *)me);
       key->type = KEY_RELATIVE;
       /* if that was the first key block added, then it was the basis.
        * Initialize it with the mesh, and add another for the modifier */
-      KeyBlock *kb = BKE_keyblock_add(key, NULL);
+      KeyBlock *kb = BKE_keyblock_add(key, nullptr);
       BKE_keyblock_convert_from_mesh(me, key, kb);
     }
 
     KeyBlock *kb = BKE_keyblock_add(key, md_eval->name);
     BKE_mesh_nomain_to_meshkey(mesh_applied, me, kb);
 
-    BKE_id_free(NULL, mesh_applied);
+    BKE_id_free(nullptr, mesh_applied);
   }
   else {
     /* TODO: implement for curves, point clouds and volumes. */
@@ -708,15 +710,15 @@ static bool modifier_apply_shape(Main *bmain,
 static bool modifier_apply_obdata(
     ReportList *reports, Depsgraph *depsgraph, Scene *scene, Object *ob, ModifierData *md_eval)
 {
-  const ModifierTypeInfo *mti = BKE_modifier_get_info(md_eval->type);
+  const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md_eval->type);
 
-  if (mti->isDisabled && mti->isDisabled(scene, md_eval, 0)) {
+  if (mti->isDisabled && mti->isDisabled(scene, md_eval, false)) {
     BKE_report(reports, RPT_ERROR, "Modifier is disabled, skipping apply");
     return false;
   }
 
   if (ob-

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list