[Bf-blender-cvs] [3f0136ff907] temp-modifiers-instancing: store geometry set in runtime object data

Jacques Lucke noreply at git.blender.org
Tue Nov 10 16:38:59 CET 2020


Commit: 3f0136ff907ef3c971bc55f6026e70e1c31f524e
Author: Jacques Lucke
Date:   Mon Nov 9 16:16:20 2020 +0100
Branches: temp-modifiers-instancing
https://developer.blender.org/rB3f0136ff907ef3c971bc55f6026e70e1c31f524e

store geometry set in runtime object data

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

M	source/blender/blenkernel/intern/object.c
M	source/blender/makesdna/DNA_object_types.h

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

diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index f9aa6dcca6a..80535261023 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -94,6 +94,7 @@
 #include "BKE_fcurve.h"
 #include "BKE_fcurve_driver.h"
 #include "BKE_font.h"
+#include "BKE_geometry_set.h"
 #include "BKE_global.h"
 #include "BKE_gpencil.h"
 #include "BKE_gpencil_geom.h"
@@ -1507,6 +1508,9 @@ void BKE_object_eval_assign_data(Object *object_eval, ID *data_eval, bool is_own
       object_eval->data = data_eval;
     }
   }
+
+  /* Is set separately currently. */
+  object_eval->runtime.geometry_set_eval = NULL;
 }
 
 /**
@@ -1551,6 +1555,10 @@ void BKE_object_free_derived_caches(Object *ob)
     BKE_gpencil_eval_delete(ob->runtime.gpd_eval);
     ob->runtime.gpd_eval = NULL;
   }
+
+  if (ob->runtime.geometry_set_eval != NULL) {
+    BKE_geometry_set_user_remove(ob->runtime.geometry_set_eval);
+  }
 }
 
 void BKE_object_free_caches(Object *object)
@@ -4870,6 +4878,7 @@ void BKE_object_runtime_reset_on_copy(Object *object, const int UNUSED(flag))
   runtime->data_eval = NULL;
   runtime->mesh_deform_eval = NULL;
   runtime->curve_cache = NULL;
+  runtime->geometry_set_eval = NULL;
 }
 
 /**
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index 345d1287ab1..9c015dae471 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -51,6 +51,7 @@ struct RigidBodyOb;
 struct SculptSession;
 struct SoftBody;
 struct bGPdata;
+struct GeometrySetC;
 
 /* Vertex Groups - Name Info */
 typedef struct bDeformGroup {
@@ -150,6 +151,7 @@ typedef struct Object_Runtime {
    * It has all modifiers applied.
    */
   struct ID *data_eval;
+  struct GeometrySetC *geometry_set_eval;
   /**
    * Mesh structure created during object evaluation.
    * It has deformation only modifiers applied on it.



More information about the Bf-blender-cvs mailing list