Blender  V3.3
Classes | Public Member Functions | Public Attributes | List of all members
blender::deg::IDNode Struct Reference

#include <deg_node_id.h>

Inheritance diagram for blender::deg::IDNode:
blender::deg::Node

Classes

struct  ComponentIDKey
 

Public Member Functions

virtual void init (const ID *id, const char *subdata) override
 
void init_copy_on_write (ID *id_cow_hint=nullptr)
 
 ~IDNode ()
 
void destroy ()
 
virtual string identifier () const override
 
ComponentNodefind_component (NodeType type, const char *name="") const
 
ComponentNodeadd_component (NodeType type, const char *name="")
 
virtual void tag_update (Depsgraph *graph, eUpdateSource source) override
 
void finalize_build (Depsgraph *graph)
 
IDComponentsMask get_visible_components_mask () const
 
- Public Member Functions inherited from blender::deg::Node
 Node ()
 
virtual ~Node ()
 
virtual OperationNodeget_entry_operation ()
 
virtual OperationNodeget_exit_operation ()
 
virtual NodeClass get_class () const
 
 MEM_CXX_CLASS_ALLOC_FUNCS ("Node")
 

Public Attributes

ID_Type id_type
 
IDid_orig
 
uint id_orig_session_uuid
 
IDid_cow
 
Map< ComponentIDKey, ComponentNode * > components
 
uint32_t eval_flags
 
uint32_t previous_eval_flags
 
DEGCustomDataMeshMasks customdata_masks
 
DEGCustomDataMeshMasks previous_customdata_masks
 
eDepsNode_LinkedState_Type linked_state
 
bool is_visible_on_build
 
bool is_enabled_on_eval
 
bool is_collection_fully_expanded
 
bool has_base
 
bool is_user_modified
 
bool is_cow_explicitly_tagged
 
int id_cow_recalc_backup
 
IDComponentsMask visible_components_mask
 
IDComponentsMask previously_visible_components_mask
 
 DEG_DEPSNODE_DECLARE
 
- Public Attributes inherited from blender::deg::Node
string name
 
NodeType type
 
Relations inlinks
 
Relations outlinks
 
Stats stats
 
int custom_flags
 

Additional Inherited Members

- Public Types inherited from blender::deg::Node
typedef Vector< Relation * > Relations
 

Detailed Description

Definition at line 34 of file deg_node_id.h.

Constructor & Destructor Documentation

◆ ~IDNode()

blender::deg::IDNode::~IDNode ( )

Definition at line 109 of file deg_node_id.cc.

References destroy().

Member Function Documentation

◆ add_component()

ComponentNode * blender::deg::IDNode::add_component ( NodeType  type,
const char *  name = "" 
)

◆ destroy()

void blender::deg::IDNode::destroy ( )

◆ finalize_build()

void blender::deg::IDNode::finalize_build ( Depsgraph graph)

◆ find_component()

ComponentNode * blender::deg::IDNode::find_component ( NodeType  type,
const char *  name = "" 
) const

Definition at line 146 of file deg_node_id.cc.

References components, blender::deg::Node::name, and blender::deg::Node::type.

Referenced by add_component().

◆ get_visible_components_mask()

IDComponentsMask blender::deg::IDNode::get_visible_components_mask ( ) const

Definition at line 188 of file deg_node_id.cc.

References BLI_assert, components, and result.

Referenced by finalize_build().

◆ identifier()

string blender::deg::IDNode::identifier ( ) const
overridevirtual

◆ init()

void blender::deg::IDNode::init ( const ID id,
const char *  subdata 
)
overridevirtual

◆ init_copy_on_write()

void blender::deg::IDNode::init_copy_on_write ( ID id_cow_hint = nullptr)

◆ tag_update()

void blender::deg::IDNode::tag_update ( Depsgraph graph,
eUpdateSource  source 
)
overridevirtual

Member Data Documentation

◆ components

Map<ComponentIDKey, ComponentNode *> blender::deg::IDNode::components

◆ customdata_masks

DEGCustomDataMeshMasks blender::deg::IDNode::customdata_masks

Definition at line 89 of file deg_node_id.h.

Referenced by blender::deg::deg_graph_build_finalize(), and init().

◆ DEG_DEPSNODE_DECLARE

blender::deg::IDNode::DEG_DEPSNODE_DECLARE

Definition at line 129 of file deg_node_id.h.

◆ eval_flags

uint32_t blender::deg::IDNode::eval_flags

Definition at line 85 of file deg_node_id.h.

Referenced by blender::deg::deg_graph_build_finalize(), and init().

◆ has_base

bool blender::deg::IDNode::has_base

Definition at line 115 of file deg_node_id.h.

Referenced by blender::deg::deg_check_base_in_depsgraph(), and init().

◆ id_cow

ID* blender::deg::IDNode::id_cow

◆ id_cow_recalc_backup

int blender::deg::IDNode::id_cow_recalc_backup

Definition at line 124 of file deg_node_id.h.

Referenced by init().

◆ id_orig

ID* blender::deg::IDNode::id_orig

◆ id_orig_session_uuid

uint blender::deg::IDNode::id_orig_session_uuid

Definition at line 73 of file deg_node_id.h.

Referenced by init().

◆ id_type

ID_Type blender::deg::IDNode::id_type

◆ is_collection_fully_expanded

bool blender::deg::IDNode::is_collection_fully_expanded

Definition at line 112 of file deg_node_id.h.

Referenced by init().

◆ is_cow_explicitly_tagged

bool blender::deg::IDNode::is_cow_explicitly_tagged

Definition at line 121 of file deg_node_id.h.

Referenced by blender::deg::deg_update_copy_on_write_datablock().

◆ is_enabled_on_eval

bool blender::deg::IDNode::is_enabled_on_eval

◆ is_user_modified

bool blender::deg::IDNode::is_user_modified

Definition at line 118 of file deg_node_id.h.

Referenced by init().

◆ is_visible_on_build

bool blender::deg::IDNode::is_visible_on_build

Definition at line 99 of file deg_node_id.h.

Referenced by blender::deg::deg_graph_flush_visibility_flags(), identifier(), and init().

◆ linked_state

eDepsNode_LinkedState_Type blender::deg::IDNode::linked_state

Definition at line 92 of file deg_node_id.h.

Referenced by init().

◆ previous_customdata_masks

DEGCustomDataMeshMasks blender::deg::IDNode::previous_customdata_masks

Definition at line 90 of file deg_node_id.h.

Referenced by blender::deg::deg_graph_build_finalize(), and init().

◆ previous_eval_flags

uint32_t blender::deg::IDNode::previous_eval_flags

Definition at line 86 of file deg_node_id.h.

Referenced by blender::deg::deg_graph_build_finalize(), and init().

◆ previously_visible_components_mask

IDComponentsMask blender::deg::IDNode::previously_visible_components_mask

Definition at line 127 of file deg_node_id.h.

Referenced by blender::deg::graph_tag_ids_for_visible_update(), and init().

◆ visible_components_mask

IDComponentsMask blender::deg::IDNode::visible_components_mask

The documentation for this struct was generated from the following files: