Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.h')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.h31
1 files changed, 26 insertions, 5 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.h b/source/blender/depsgraph/intern/builder/deg_builder_relations.h
index aa8dc2a4982..ea7e23eca79 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.h
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.h
@@ -56,6 +56,7 @@ struct ID;
struct FCurve;
struct Group;
struct Key;
+struct LayerCollection;
struct Main;
struct Mask;
struct Material;
@@ -67,7 +68,9 @@ struct Object;
struct bPoseChannel;
struct bConstraint;
struct ParticleSystem;
+struct ParticleSettings;
struct Scene;
+struct ViewLayer;
struct Tex;
struct World;
struct EffectorWeights;
@@ -189,9 +192,10 @@ struct DepsgraphRelationBuilder
const char *description,
bool check_unique = false);
- void build_scene(Scene *scene);
+ void build_view_layer(Scene *scene, ViewLayer *view_layer);
void build_group(Object *object, Group *group);
- void build_object(Object *object);
+ void build_object(Base *base, Object *object);
+ void build_object_flags(Base *base, Object *object);
void build_object_data(Object *object);
void build_object_parent(Object *object);
void build_constraints(ID *id,
@@ -216,6 +220,7 @@ struct DepsgraphRelationBuilder
void build_world(World *world);
void build_rigidbody(Scene *scene);
void build_particles(Object *object);
+ void build_particle_settings(ParticleSettings *part);
void build_particles_visualization_object(Object *object,
ParticleSystem *psys,
Object *draw_object);
@@ -243,12 +248,12 @@ struct DepsgraphRelationBuilder
void build_cachefile(CacheFile *cache_file);
void build_mask(Mask *mask);
void build_movieclip(MovieClip *clip);
+ void build_lightprobe(Object *object);
void add_collision_relations(const OperationKey &key,
Scene *scene,
Object *object,
Group *group,
- int layer,
bool dupli,
const char *name);
void add_forcefield_relations(const OperationKey &key,
@@ -256,8 +261,24 @@ struct DepsgraphRelationBuilder
Object *object,
ParticleSystem *psys,
EffectorWeights *eff,
- bool add_absorption,
- const char *name);
+ bool add_absorption, const char *name);
+
+ struct LayerCollectionState {
+ int index;
+ OperationKey init_key;
+ OperationKey done_key;
+ OperationKey prev_key;
+ };
+ void build_layer_collection(ID *owner_id,
+ LayerCollection *layer_collection,
+ LayerCollectionState *state);
+ void build_layer_collections(ID *owner_id,
+ ListBase *layer_collections,
+ LayerCollectionState *state);
+ void build_view_layer_collections(struct ID *owner_id, ViewLayer *view_layer);
+
+ void build_copy_on_write_relations();
+ void build_copy_on_write_relations(IDDepsNode *id_node);
template <typename KeyType>
OperationDepsNode *find_operation_node(const KeyType &key);