Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/depsgraph.h
| Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | struct Depsgraph { | ||||
| typedef Vector<OperationNode *> OperationNodes; | typedef Vector<OperationNode *> OperationNodes; | ||||
| typedef Vector<IDNode *> IDDepsNodes; | typedef Vector<IDNode *> IDDepsNodes; | ||||
| Depsgraph(Main *bmain, Scene *scene, ViewLayer *view_layer, eEvaluationMode mode); | Depsgraph(Main *bmain, Scene *scene, ViewLayer *view_layer, eEvaluationMode mode); | ||||
| ~Depsgraph(); | ~Depsgraph(); | ||||
| TimeSourceNode *add_time_source(); | TimeSourceNode *add_time_source(); | ||||
| TimeSourceNode *find_time_source() const; | TimeSourceNode *find_time_source() const; | ||||
| void tag_time_source(); | |||||
| IDNode *find_id_node(const ID *id) const; | IDNode *find_id_node(const ID *id) const; | ||||
| IDNode *add_id_node(ID *id, ID *id_cow_hint = nullptr); | IDNode *add_id_node(ID *id, ID *id_cow_hint = nullptr); | ||||
| void clear_id_nodes(); | void clear_id_nodes(); | ||||
| void clear_id_nodes_conditional(const std::function<bool(ID_Type id_type)> &filter); | void clear_id_nodes_conditional(const std::function<bool(ID_Type id_type)> &filter); | ||||
| /* Add new relationship between two nodes. */ | /* Add new relationship between two nodes. */ | ||||
| Relation *add_new_relation(Node *from, Node *to, const char *description, int flags = 0); | Relation *add_new_relation(Node *from, Node *to, const char *description, int flags = 0); | ||||
| Show All 37 Lines | struct Depsgraph { | ||||
| /* Indicates type of IDs present in the depsgraph. */ | /* Indicates type of IDs present in the depsgraph. */ | ||||
| char id_type_exist[MAX_LIBARRAY]; | char id_type_exist[MAX_LIBARRAY]; | ||||
| /* Quick-Access Temp Data ............. */ | /* Quick-Access Temp Data ............. */ | ||||
| /* Nodes which have been tagged as "directly modified". */ | /* Nodes which have been tagged as "directly modified". */ | ||||
| Set<OperationNode *> entry_tags; | Set<OperationNode *> entry_tags; | ||||
| /* Special entry tag for time source. Allows to tag invisible dependency graphs for update when | |||||
| * scene frame changes, so then when dependency graph becomes visible it is on a proper state. */ | |||||
| bool need_update_time; | |||||
| /* Convenience Data ................... */ | /* Convenience Data ................... */ | ||||
| /* XXX: should be collected after building (if actually needed?) */ | /* XXX: should be collected after building (if actually needed?) */ | ||||
| /* All operation nodes, sorted in order of single-thread traversal order. */ | /* All operation nodes, sorted in order of single-thread traversal order. */ | ||||
| OperationNodes operations; | OperationNodes operations; | ||||
| /* Spin lock for threading-critical operations. | /* Spin lock for threading-critical operations. | ||||
| * Mainly used by graph evaluation. */ | * Mainly used by graph evaluation. */ | ||||
| ▲ Show 20 Lines • Show All 43 Lines • Show Last 20 Lines | |||||