38 struct BoneComponentNode;
64 void init(
const ID *
id,
const char *subdata)
override;
144 #define DEG_COMPONENT_NODE_DEFINE_TYPEINFO(NodeType, type_, type_name_, id_recalc_tag) \
145 const Node::TypeInfo NodeType::typeinfo = Node::TypeInfo(type_, type_name_, id_recalc_tag)
147 #define DEG_COMPONENT_NODE_DECLARE DEG_DEPSNODE_DECLARE
149 #define DEG_COMPONENT_NODE_DEFINE(name, NAME, id_recalc_tag) \
150 DEG_COMPONENT_NODE_DEFINE_TYPEINFO( \
151 name##ComponentNode, NodeType::NAME, #name " Component", id_recalc_tag); \
152 static DepsNodeFactoryImpl<name##ComponentNode> DNTI_##NAME
154 #define DEG_COMPONENT_NODE_DECLARE_GENERIC(name) \
155 struct name##ComponentNode : public ComponentNode { \
156 DEG_COMPONENT_NODE_DECLARE; \
159 #define DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE(name) \
160 struct name##ComponentNode : public ComponentNode { \
161 DEG_COMPONENT_NODE_DECLARE; \
162 virtual bool need_tag_cow_before_update() \
195 void init(
const ID *
id,
const char *subdata);
struct Depsgraph Depsgraph
DEG_COMPONENT_NODE_DECLARE_GENERIC(Animation)
void deg_register_component_depsnodes()
DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE(BatchCache)
function< void(struct ::Depsgraph *)> DepsEvalOperationCb
unsigned __int64 uint64_t
DEG_COMPONENT_NODE_DECLARE
struct bPoseChannel * pchan
void init(const ID *id, const char *subdata)
bool operator==(const OperationIDKey &other) const
string identifier() const
virtual bool need_tag_cow_before_update()
virtual OperationNode * get_entry_operation() override
OperationNode * get_operation(OperationIDKey key) const
void init(const ID *id, const char *subdata) override
virtual void tag_update(Depsgraph *graph, eUpdateSource source) override
OperationNode * exit_operation
Vector< OperationNode * > operations
OperationNode * find_operation(OperationIDKey key) const
OperationNode * add_operation(const DepsEvalOperationCb &op, OperationCode opcode, const char *name, int name_tag)
virtual OperationNode * get_exit_operation() override
bool has_operation(OperationIDKey key) const
void set_exit_operation(OperationNode *op_node)
void finalize_build(Depsgraph *graph)
OperationNode * entry_operation
virtual string identifier() const override
Map< ComponentNode::OperationIDKey, OperationNode * > * operations_map
bool affects_directly_visible
void set_entry_operation(OperationNode *op_node)
virtual bool depends_on_cow()