[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