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

#include <depsgraph.h>

Public Types

typedef Vector< OperationNode * > OperationNodes
 
typedef Vector< IDNode * > IDDepsNodes
 

Public Member Functions

 Depsgraph (Main *bmain, Scene *scene, ViewLayer *view_layer, eEvaluationMode mode)
 
 ~Depsgraph ()
 
TimeSourceNodeadd_time_source ()
 
TimeSourceNodefind_time_source () const
 
void tag_time_source ()
 
IDNodefind_id_node (const ID *id) const
 
IDNodeadd_id_node (ID *id, ID *id_cow_hint=nullptr)
 
void clear_id_nodes ()
 
Relationadd_new_relation (Node *from, Node *to, const char *description, int flags=0)
 
Relationcheck_nodes_connected (const Node *from, const Node *to, const char *description)
 
void add_entry_tag (OperationNode *node)
 
void clear_all_nodes ()
 
IDget_cow_id (const ID *id_orig) const
 
 MEM_CXX_CLASS_ALLOC_FUNCS ("Depsgraph")
 

Public Attributes

Map< const ID *, IDNode * > id_hash
 
IDDepsNodes id_nodes
 
TimeSourceNodetime_source
 
bool has_animated_visibility
 
bool need_update_relations
 
bool need_update_nodes_visibility
 
bool need_tag_id_on_graph_visibility_update
 
bool need_tag_id_on_graph_visibility_time_update
 
char id_type_updated [INDEX_ID_MAX]
 
char id_type_exist [INDEX_ID_MAX]
 
Set< OperationNode * > entry_tags
 
OperationNodes operations
 
SpinLock lock
 
Mainbmain
 
Scenescene
 
ViewLayerview_layer
 
eEvaluationMode mode
 
float frame
 
float ctime
 
Scenescene_cow
 
bool is_active
 
DepsgraphDebug debug
 
bool is_evaluating
 
bool is_render_pipeline_depsgraph
 
bool use_editors_update
 
Map< const ID *, ListBase * > * physics_relations [DEG_PHYSICS_RELATIONS_NUM]
 

Detailed Description

Definition at line 43 of file depsgraph.h.

Member Typedef Documentation

◆ IDDepsNodes

typedef Vector<IDNode *> blender::deg::Depsgraph::IDDepsNodes

Definition at line 45 of file depsgraph.h.

◆ OperationNodes

typedef Vector<OperationNode *> blender::deg::Depsgraph::OperationNodes

Definition at line 44 of file depsgraph.h.

Constructor & Destructor Documentation

◆ Depsgraph()

blender::deg::Depsgraph::Depsgraph ( Main bmain,
Scene scene,
ViewLayer view_layer,
eEvaluationMode  mode 
)

◆ ~Depsgraph()

blender::deg::Depsgraph::~Depsgraph ( )

Definition at line 73 of file depsgraph.cc.

References BLI_spin_end(), clear_id_nodes(), lock, and time_source.

Member Function Documentation

◆ add_entry_tag()

void blender::deg::Depsgraph::add_entry_tag ( OperationNode node)

Definition at line 216 of file depsgraph.cc.

References entry_tags, and node.

◆ add_id_node()

IDNode * blender::deg::Depsgraph::add_id_node ( ID id,
ID id_cow_hint = nullptr 
)

◆ add_new_relation()

Relation * blender::deg::Depsgraph::add_new_relation ( Node from,
Node to,
const char *  description,
int  flags = 0 
)

◆ add_time_source()

TimeSourceNode * blender::deg::Depsgraph::add_time_source ( )

◆ check_nodes_connected()

Relation * blender::deg::Depsgraph::check_nodes_connected ( const Node from,
const Node to,
const char *  description 
)

◆ clear_all_nodes()

void blender::deg::Depsgraph::clear_all_nodes ( )

Definition at line 229 of file depsgraph.cc.

References clear_id_nodes(), and time_source.

Referenced by blender::deg::DepsgraphNodeBuilder::begin_build().

◆ clear_id_nodes()

void blender::deg::Depsgraph::clear_id_nodes ( )

◆ find_id_node()

IDNode * blender::deg::Depsgraph::find_id_node ( const ID id) const

◆ find_time_source()

TimeSourceNode * blender::deg::Depsgraph::find_time_source ( ) const

◆ get_cow_id()

ID * blender::deg::Depsgraph::get_cow_id ( const ID id_orig) const

◆ MEM_CXX_CLASS_ALLOC_FUNCS()

blender::deg::Depsgraph::MEM_CXX_CLASS_ALLOC_FUNCS ( "Depsgraph"  )

◆ tag_time_source()

void blender::deg::Depsgraph::tag_time_source ( )

Member Data Documentation

◆ bmain

Main* blender::deg::Depsgraph::bmain

◆ ctime

float blender::deg::Depsgraph::ctime

◆ debug

DepsgraphDebug blender::deg::Depsgraph::debug

◆ entry_tags

Set<OperationNode *> blender::deg::Depsgraph::entry_tags

◆ frame

float blender::deg::Depsgraph::frame

◆ has_animated_visibility

bool blender::deg::Depsgraph::has_animated_visibility

◆ id_hash

Map<const ID *, IDNode *> blender::deg::Depsgraph::id_hash

Definition at line 81 of file depsgraph.h.

Referenced by add_id_node(), clear_id_nodes(), and find_id_node().

◆ id_nodes

IDDepsNodes blender::deg::Depsgraph::id_nodes

◆ id_type_exist

char blender::deg::Depsgraph::id_type_exist[INDEX_ID_MAX]

Definition at line 109 of file depsgraph.h.

Referenced by add_id_node(), DEG_id_type_any_exists(), and Depsgraph().

◆ id_type_updated

char blender::deg::Depsgraph::id_type_updated[INDEX_ID_MAX]

◆ is_active

bool blender::deg::Depsgraph::is_active

◆ is_evaluating

bool blender::deg::Depsgraph::is_evaluating

◆ is_render_pipeline_depsgraph

bool blender::deg::Depsgraph::is_render_pipeline_depsgraph

◆ lock

SpinLock blender::deg::Depsgraph::lock

Definition at line 124 of file depsgraph.h.

Referenced by Depsgraph(), and ~Depsgraph().

◆ mode

eEvaluationMode blender::deg::Depsgraph::mode

◆ need_tag_id_on_graph_visibility_time_update

bool blender::deg::Depsgraph::need_tag_id_on_graph_visibility_time_update

Definition at line 103 of file depsgraph.h.

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

◆ need_tag_id_on_graph_visibility_update

bool blender::deg::Depsgraph::need_tag_id_on_graph_visibility_update

Definition at line 102 of file depsgraph.h.

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

◆ need_update_nodes_visibility

bool blender::deg::Depsgraph::need_update_nodes_visibility

◆ need_update_relations

bool blender::deg::Depsgraph::need_update_relations

◆ operations

OperationNodes blender::deg::Depsgraph::operations

◆ physics_relations

Map<const ID *, ListBase *>* blender::deg::Depsgraph::physics_relations[DEG_PHYSICS_RELATIONS_NUM]

◆ scene

Scene* blender::deg::Depsgraph::scene

◆ scene_cow

Scene* blender::deg::Depsgraph::scene_cow

◆ time_source

TimeSourceNode* blender::deg::Depsgraph::time_source

◆ use_editors_update

bool blender::deg::Depsgraph::use_editors_update

Definition at line 161 of file depsgraph.h.

◆ view_layer

ViewLayer* blender::deg::Depsgraph::view_layer

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