Depsgraph: Make name and name tag optional in component node
Matches the builder API, making some code less verbose.
This commit is contained in:
@@ -174,15 +174,13 @@ IDNode *DepsgraphNodeBuilder::add_id_node(ID *id)
|
||||
ComponentNode *comp_cow = id_node->add_component(NodeType::COPY_ON_WRITE);
|
||||
OperationNode *op_cow = comp_cow->add_operation(
|
||||
[id_node](::Depsgraph *depsgraph) { deg_evaluate_copy_on_write(depsgraph, id_node); },
|
||||
OperationCode::COPY_ON_WRITE,
|
||||
"",
|
||||
-1);
|
||||
OperationCode::COPY_ON_WRITE);
|
||||
graph_->operations.append(op_cow);
|
||||
}
|
||||
|
||||
ComponentNode *visibility_component = id_node->add_component(NodeType::VISIBILITY);
|
||||
OperationNode *visibility_operation = visibility_component->add_operation(
|
||||
nullptr, OperationCode::OPERATION, "", -1);
|
||||
nullptr, OperationCode::OPERATION);
|
||||
/* Pin the node so that it and its relations are preserved by the unused nodes/relations
|
||||
* deletion. This is mainly to make it easier to debug visibility. */
|
||||
visibility_operation->flag |= OperationFlag::DEPSOP_FLAG_PINNED;
|
||||
|
@@ -60,16 +60,20 @@ struct ComponentNode : public Node {
|
||||
* See #add_operation for the meaning and examples of #name and #name_tag.
|
||||
*/
|
||||
OperationNode *find_operation(OperationIDKey key) const;
|
||||
OperationNode *find_operation(OperationCode opcode, const char *name, int name_tag) const;
|
||||
OperationNode *find_operation(OperationCode opcode,
|
||||
const char *name = "",
|
||||
int name_tag = -1) const;
|
||||
|
||||
/* Find an existing operation, will throw an assert() if it does not exist.
|
||||
* See #add_operation for the meaning and examples of #name and #name_tag. */
|
||||
OperationNode *get_operation(OperationIDKey key) const;
|
||||
OperationNode *get_operation(OperationCode opcode, const char *name, int name_tag) const;
|
||||
OperationNode *get_operation(OperationCode opcode,
|
||||
const char *name = "",
|
||||
int name_tag = -1) const;
|
||||
|
||||
/* Check operation exists and return it. */
|
||||
bool has_operation(OperationIDKey key) const;
|
||||
bool has_operation(OperationCode opcode, const char *name, int name_tag) const;
|
||||
bool has_operation(OperationCode opcode, const char *name = "", int name_tag = -1) const;
|
||||
|
||||
/**
|
||||
* Create a new node for representing an operation and add this to graph
|
||||
@@ -89,8 +93,8 @@ struct ComponentNode : public Node {
|
||||
*/
|
||||
OperationNode *add_operation(const DepsEvalOperationCb &op,
|
||||
OperationCode opcode,
|
||||
const char *name,
|
||||
int name_tag);
|
||||
const char *name = "",
|
||||
int name_tag = -1);
|
||||
|
||||
/* Entry/exit operations management.
|
||||
*
|
||||
|
Reference in New Issue
Block a user