[Bf-blender-cvs] [2059b30ee2d] master: Cleanup: Keep common IDTypeInfo code separated from ID type specific API.

Bastien Montagne noreply at git.blender.org
Wed May 20 18:43:52 CEST 2020


Commit: 2059b30ee2d1f7018c4d1c18c68027db7d22ec63
Author: Bastien Montagne
Date:   Wed May 20 16:45:47 2020 +0200
Branches: master
https://developer.blender.org/rB2059b30ee2d1f7018c4d1c18c68027db7d22ec63

Cleanup: Keep common IDTypeInfo code separated from ID type specific API.

Also remove useless IDTypeInfo callbacks.

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

M	source/blender/blenkernel/intern/pointcloud.c
M	source/blender/blenkernel/intern/volume.cc

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

diff --git a/source/blender/blenkernel/intern/pointcloud.c b/source/blender/blenkernel/intern/pointcloud.c
index 79b16443122..1639f0b0899 100644
--- a/source/blender/blenkernel/intern/pointcloud.c
+++ b/source/blender/blenkernel/intern/pointcloud.c
@@ -48,23 +48,7 @@
 
 /* PointCloud datablock */
 
-static void pointcloud_random(PointCloud *pointcloud)
-{
-  pointcloud->totpoint = 400;
-  CustomData_realloc(&pointcloud->pdata, pointcloud->totpoint);
-  BKE_pointcloud_update_customdata_pointers(pointcloud);
-
-  RNG *rng = BLI_rng_new(0);
-
-  for (int i = 0; i < pointcloud->totpoint; i++) {
-    pointcloud->co[i][0] = 2.0f * BLI_rng_get_float(rng) - 1.0f;
-    pointcloud->co[i][1] = 2.0f * BLI_rng_get_float(rng) - 1.0f;
-    pointcloud->co[i][2] = 2.0f * BLI_rng_get_float(rng) - 1.0f;
-    pointcloud->radius[i] = 0.05f * BLI_rng_get_float(rng);
-  }
-
-  BLI_rng_free(rng);
-}
+static void pointcloud_random(PointCloud *pointcloud);
 
 static void pointcloud_init_data(ID *id)
 {
@@ -81,15 +65,6 @@ static void pointcloud_init_data(ID *id)
   pointcloud_random(pointcloud);
 }
 
-void *BKE_pointcloud_add(Main *bmain, const char *name)
-{
-  PointCloud *pointcloud = BKE_libblock_alloc(bmain, ID_PT, name, 0);
-
-  pointcloud_init_data(&pointcloud->id);
-
-  return pointcloud;
-}
-
 static void pointcloud_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_src, const int flag)
 {
   PointCloud *pointcloud_dst = (PointCloud *)id_dst;
@@ -105,18 +80,6 @@ static void pointcloud_copy_data(Main *UNUSED(bmain), ID *id_dst, const ID *id_s
   BKE_pointcloud_update_customdata_pointers(pointcloud_dst);
 }
 
-PointCloud *BKE_pointcloud_copy(Main *bmain, const PointCloud *pointcloud)
-{
-  PointCloud *pointcloud_copy;
-  BKE_id_copy(bmain, &pointcloud->id, (ID **)&pointcloud_copy);
-  return pointcloud_copy;
-}
-
-static void pointcloud_make_local(Main *bmain, ID *id, const int flags)
-{
-  BKE_lib_id_make_local_generic(bmain, id, flags);
-}
-
 static void pointcloud_free_data(ID *id)
 {
   PointCloud *pointcloud = (PointCloud *)id;
@@ -139,9 +102,43 @@ IDTypeInfo IDType_ID_PT = {
     .init_data = pointcloud_init_data,
     .copy_data = pointcloud_copy_data,
     .free_data = pointcloud_free_data,
-    .make_local = pointcloud_make_local,
+    .make_local = NULL,
 };
 
+static void pointcloud_random(PointCloud *pointcloud)
+{
+  pointcloud->totpoint = 400;
+  CustomData_realloc(&pointcloud->pdata, pointcloud->totpoint);
+  BKE_pointcloud_update_customdata_pointers(pointcloud);
+
+  RNG *rng = BLI_rng_new(0);
+
+  for (int i = 0; i < pointcloud->totpoint; i++) {
+    pointcloud->co[i][0] = 2.0f * BLI_rng_get_float(rng) - 1.0f;
+    pointcloud->co[i][1] = 2.0f * BLI_rng_get_float(rng) - 1.0f;
+    pointcloud->co[i][2] = 2.0f * BLI_rng_get_float(rng) - 1.0f;
+    pointcloud->radius[i] = 0.05f * BLI_rng_get_float(rng);
+  }
+
+  BLI_rng_free(rng);
+}
+
+void *BKE_pointcloud_add(Main *bmain, const char *name)
+{
+  PointCloud *pointcloud = BKE_libblock_alloc(bmain, ID_PT, name, 0);
+
+  pointcloud_init_data(&pointcloud->id);
+
+  return pointcloud;
+}
+
+PointCloud *BKE_pointcloud_copy(Main *bmain, const PointCloud *pointcloud)
+{
+  PointCloud *pointcloud_copy;
+  BKE_id_copy(bmain, &pointcloud->id, (ID **)&pointcloud_copy);
+  return pointcloud_copy;
+}
+
 BoundBox *BKE_pointcloud_boundbox_get(Object *ob)
 {
   BLI_assert(ob->type == OB_POINTCLOUD);
diff --git a/source/blender/blenkernel/intern/volume.cc b/source/blender/blenkernel/intern/volume.cc
index 9e636c0ee8b..9bcc53363ad 100644
--- a/source/blender/blenkernel/intern/volume.cc
+++ b/source/blender/blenkernel/intern/volume.cc
@@ -442,26 +442,6 @@ static void volume_init_data(ID *id)
   BKE_volume_init_grids(volume);
 }
 
-void BKE_volume_init_grids(Volume *volume)
-{
-#ifdef WITH_OPENVDB
-  if (volume->runtime.grids == NULL) {
-    volume->runtime.grids = OBJECT_GUARDED_NEW(VolumeGridVector);
-  }
-#else
-  UNUSED_VARS(volume);
-#endif
-}
-
-void *BKE_volume_add(Main *bmain, const char *name)
-{
-  Volume *volume = (Volume *)BKE_libblock_alloc(bmain, ID_VO, name, 0);
-
-  volume_init_data(&volume->id);
-
-  return volume;
-}
-
 static void volume_copy_data(Main *UNUSED(bmain),
                              ID *id_dst,
                              const ID *id_src,
@@ -483,18 +463,6 @@ static void volume_copy_data(Main *UNUSED(bmain),
 #endif
 }
 
-Volume *BKE_volume_copy(Main *bmain, const Volume *volume)
-{
-  Volume *volume_copy;
-  BKE_id_copy(bmain, &volume->id, (ID **)&volume_copy);
-  return volume_copy;
-}
-
-static void volume_make_local(Main *bmain, ID *id, const int flags)
-{
-  BKE_lib_id_make_local_generic(bmain, id, flags);
-}
-
 static void volume_free_data(ID *id)
 {
   Volume *volume = (Volume *)id;
@@ -519,9 +487,36 @@ IDTypeInfo IDType_ID_VO = {
     /* init_data */ volume_init_data,
     /* copy_data */ volume_copy_data,
     /* free_data */ volume_free_data,
-    /* make_local */ volume_make_local,
+    /* make_local */ nullptr,
 };
 
+void BKE_volume_init_grids(Volume *volume)
+{
+#ifdef WITH_OPENVDB
+  if (volume->runtime.grids == NULL) {
+    volume->runtime.grids = OBJECT_GUARDED_NEW(VolumeGridVector);
+  }
+#else
+  UNUSED_VARS(volume);
+#endif
+}
+
+void *BKE_volume_add(Main *bmain, const char *name)
+{
+  Volume *volume = (Volume *)BKE_libblock_alloc(bmain, ID_VO, name, 0);
+
+  volume_init_data(&volume->id);
+
+  return volume;
+}
+
+Volume *BKE_volume_copy(Main *bmain, const Volume *volume)
+{
+  Volume *volume_copy;
+  BKE_id_copy(bmain, &volume->id, (ID **)&volume_copy);
+  return volume_copy;
+}
+
 /* Sequence */
 
 static int volume_sequence_frame(const Depsgraph *depsgraph, const Volume *volume)



More information about the Bf-blender-cvs mailing list