Blender  V3.3
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
blender::deg Namespace Reference

Namespaces

 tests
 

Classes

class  DepsgraphBuilder
 
class  AnimatedPropertyID
 
class  AnimatedPropertyStorage
 
class  DepsgraphBuilderCache
 
class  BuilderMap
 
class  DepsgraphNodeBuilder
 
struct  RootPChanMap
 
struct  TimeSourceKey
 
struct  ComponentKey
 
struct  OperationKey
 
struct  RNAPathKey
 
class  DepsgraphRelationBuilder
 
struct  DepsNodeHandle
 
class  DriverDescriptor
 
class  RNANodeQueryIDData
 
class  RNANodeIdentifier
 
class  RNANodeQuery
 
class  BuilderStack
 
class  AbstractBuilderPipeline
 
class  AllObjectsBuilderPipeline
 
class  CompositorBuilderPipeline
 
class  FromIDsBuilderPipeline
 
class  RenderBuilderPipeline
 
class  ViewLayerBuilderPipeline
 
class  DepsgraphDebug
 
struct  DotExportContext
 
class  AveragedTimeSampler
 
struct  Depsgraph
 
struct  Relation
 
struct  DEGCustomDataMeshMasks
 
class  RuntimeBackup
 
class  AnimationValueBackup
 
class  AnimationBackup
 
class  GPencilBackup
 
class  ModifierDataBackup
 
class  MovieClipBackup
 
class  ObjectRuntimeBackup
 
class  SceneBackup
 
class  SequenceBackup
 
class  SequencerBackup
 
class  SoundBackup
 
class  VolumeBackup
 
struct  Node
 
struct  ComponentNode
 
struct  BoneComponentNode
 
struct  ParametersComponentNode
 
struct  DepsNodeFactory
 
struct  DepsNodeFactoryImpl
 
struct  IDNode
 
struct  OperationNode
 
struct  TimeSourceNode
 

Typedefs

using Seq_build_prop_cb_data = struct Seq_build_prop_cb_data { DepsgraphRelationBuilder *builder
 
using GraphRegistry = Map< Main *, VectorSet< Depsgraph * > >
 
using FlushQueue = deque< OperationNode * >
 
typedef uint64_t IDComponentsMask
 
typedef function< void(struct ::Depsgraph *)> DepsEvalOperationCb
 

Enumerations

enum class  RNAPointerSource { ENTRY , EXIT }
 
enum  { OP_VISITED = 1 , OP_REACHABLE = 2 }
 
enum  RelationFlag {
  RELATION_FLAG_CYCLIC = (1 << 0) , RELATION_FLAG_NO_FLUSH = (1 << 1) , RELATION_FLAG_FLUSH_USER_EDIT_ONLY = (1 << 2) , RELATION_FLAG_GODMODE = (1 << 4) ,
  RELATION_CHECK_BEFORE_ADD = (1 << 5)
}
 
enum  eUpdateSource { DEG_UPDATE_SOURCE_TIME = (1 << 0) , DEG_UPDATE_SOURCE_USER_EDIT = (1 << 1) , DEG_UPDATE_SOURCE_RELATIONS = (1 << 2) , DEG_UPDATE_SOURCE_VISIBILITY = (1 << 3) }
 
enum  { ID_STATE_NONE = 0 , ID_STATE_MODIFIED = 1 }
 
enum  { COMPONENT_STATE_NONE = 0 , COMPONENT_STATE_SCHEDULED = 1 , COMPONENT_STATE_DONE = 2 }
 
enum class  NodeClass { GENERIC = 0 , COMPONENT = 1 , OPERATION = 2 }
 
enum class  NodeType {
  UNDEFINED = 0 , OPERATION , TIMESOURCE , ID_REF ,
  PARAMETERS , ANIMATION , TRANSFORM , GEOMETRY ,
  SEQUENCER , LAYER_COLLECTIONS , COPY_ON_WRITE , OBJECT_FROM_LAYER ,
  AUDIO , ARMATURE , GENERIC_DATABLOCK , VISIBILITY ,
  EVAL_POSE , BONE , PARTICLE_SYSTEM , PARTICLE_SETTINGS ,
  SHADING , POINT_CACHE , IMAGE_ANIMATION , CACHE ,
  BATCH_CACHE , DUPLI , SYNCHRONIZATION , SIMULATION ,
  NTREE_OUTPUT , NUM_TYPES
}
 
enum  eDepsNode_LinkedState_Type { DEG_ID_LINKED_INDIRECTLY = 0 , DEG_ID_LINKED_VIA_SET = 1 , DEG_ID_LINKED_DIRECTLY = 2 }
 
enum class  OperationCode {
  OPERATION = 0 , ID_PROPERTY , PARAMETERS_ENTRY , PARAMETERS_EVAL ,
  PARAMETERS_EXIT , VISIBILITY , ANIMATION_ENTRY , ANIMATION_EVAL ,
  ANIMATION_EXIT , DRIVER , SCENE_EVAL , AUDIO_ENTRY ,
  AUDIO_VOLUME , OBJECT_FROM_LAYER_ENTRY , OBJECT_BASE_FLAGS , OBJECT_FROM_LAYER_EXIT ,
  DIMENSIONS , TRANSFORM_INIT , TRANSFORM_LOCAL , TRANSFORM_PARENT ,
  TRANSFORM_CONSTRAINTS , TRANSFORM_EVAL , TRANSFORM_SIMULATION_INIT , TRANSFORM_FINAL ,
  RIGIDBODY_REBUILD , RIGIDBODY_SIM , RIGIDBODY_TRANSFORM_COPY , GEOMETRY_EVAL_INIT ,
  GEOMETRY_EVAL , GEOMETRY_EVAL_DONE , GEOMETRY_SHAPEKEY , LIGHT_PROBE_EVAL ,
  SPEAKER_EVAL , SOUND_EVAL , ARMATURE_EVAL , POSE_INIT ,
  POSE_INIT_IK , POSE_CLEANUP , POSE_DONE , POSE_IK_SOLVER ,
  POSE_SPLINE_IK_SOLVER , BONE_LOCAL , BONE_POSE_PARENT , BONE_CONSTRAINTS ,
  BONE_READY , BONE_DONE , BONE_SEGMENTS , PARTICLE_SYSTEM_INIT ,
  PARTICLE_SYSTEM_EVAL , PARTICLE_SYSTEM_DONE , PARTICLE_SETTINGS_INIT , PARTICLE_SETTINGS_EVAL ,
  PARTICLE_SETTINGS_RESET , POINT_CACHE_RESET , FILE_CACHE_UPDATE , VIEW_LAYER_EVAL ,
  COPY_ON_WRITE , SHADING , MATERIAL_UPDATE , LIGHT_UPDATE ,
  WORLD_UPDATE , NTREE_OUTPUT , GEOMETRY_SELECT_UPDATE , MASK_ANIMATION ,
  MASK_EVAL , MOVIECLIP_EVAL , MOVIECLIP_SELECT_UPDATE , IMAGE_ANIMATION ,
  SYNCHRONIZE_TO_ORIGINAL , GENERIC_DATABLOCK_UPDATE , SEQUENCES_EVAL , DUPLI ,
  SIMULATION_EVAL
}
 
enum  OperationFlag {
  DEPSOP_FLAG_NEEDS_UPDATE = (1 << 0) , DEPSOP_FLAG_DIRECTLY_MODIFIED = (1 << 1) , DEPSOP_FLAG_USER_MODIFIED = (1 << 2) , DEPSOP_FLAG_PINNED = (1 << 3) ,
  DEPSOP_FLAG_AFFECTS_VISIBILITY = (1 << 4) , DEPSOP_FLAG_FLUSH = (DEPSOP_FLAG_USER_MODIFIED)
}
 

Functions

bool deg_check_id_in_depsgraph (const Depsgraph *graph, ID *id_orig)
 
bool deg_check_base_in_depsgraph (const Depsgraph *graph, Base *base)
 
bool operator== (const AnimatedPropertyID &a, const AnimatedPropertyID &b)
 
void deg_graph_detect_cycles (Depsgraph *graph)
 
static int foreach_id_cow_detect_need_for_update_callback (LibraryIDLinkCallbackData *cb_data)
 
static void build_idproperties_callback (IDProperty *id_property, void *user_data)
 
static bool seq_node_build_cb (Sequence *seq, void *user_data)
 
static void build_idproperties_callback (IDProperty *id_property, void *user_data)
 
static bool seq_build_prop_cb (Sequence *seq, void *user_data)
 
static bool is_reachable (const Node *const from, const Node *const to)
 
static bool rigidbody_object_depends_on_evaluated_geometry (const RigidBodyOb *rbo)
 
static bool is_unused_noop (OperationNode *op_node)
 
void deg_graph_remove_unused_noops (Depsgraph *graph)
 
bool rna_prop_affects_parameters_node (const PointerRNA *ptr, const PropertyRNA *prop)
 
static void deg_graph_tag_paths_recursive (Node *node)
 
void deg_graph_transitive_reduction (Depsgraph *graph)
 
bool terminal_do_color ()
 
string color_for_pointer (const void *pointer)
 
string color_end ()
 
static int deg_debug_node_color_index (const Node *node)
 
static void deg_debug_graphviz_legend_color (const char *name, const char *color, std::stringstream &ss)
 
static void deg_debug_graphviz_legend (DotExportContext &ctx)
 
static void deg_debug_graphviz_node_color (DotExportContext &ctx, const Node *node, dot::Attributes &dot_attributes)
 
static void deg_debug_graphviz_node_penwidth (DotExportContext &ctx, const Node *node, dot::Attributes &dot_attributes)
 
static void deg_debug_graphviz_node_fillcolor (const Node *node, dot::Attributes &dot_attributes)
 
static void deg_debug_graphviz_relation_color (const Relation *rel, dot::DirectedEdge &edge)
 
static void deg_debug_graphviz_relation_style (const Relation *rel, dot::DirectedEdge &edge)
 
static void deg_debug_graphviz_relation_arrowhead (const Relation *rel, dot::DirectedEdge &edge)
 
static void deg_debug_graphviz_node_style (DotExportContext &ctx, const Node *node, dot::Attributes &dot_attributes)
 
static void deg_debug_graphviz_node_single (DotExportContext &ctx, const Node *node, dot::Cluster *parent_cluster)
 
static dot::Clusterdeg_debug_graphviz_node_cluster_create (DotExportContext &ctx, const Node *node, dot::Cluster *parent_cluster)
 
static void deg_debug_graphviz_graph_nodes (DotExportContext &ctx, const Depsgraph *graph)
 
static void deg_debug_graphviz_graph_relations (DotExportContext &ctx, const Depsgraph *graph)
 
static void deg_debug_graphviz_node (DotExportContext &ctx, const Node *node, dot::Cluster *parent_cluster)
 
static void deg_debug_graphviz_node_relations (DotExportContext &ctx, const Node *node)
 
template<typename FilterFunc >
static void clear_id_nodes_conditional (Depsgraph::IDDepsNodes *id_nodes, const FilterFunc &filter)
 
ListBasebuild_effector_relations (Depsgraph *graph, Collection *collection)
 
ListBasebuild_collision_relations (Depsgraph *graph, Collection *collection, unsigned int modifier_type)
 
void clear_physics_relations (Depsgraph *graph)
 
static const IDget_original_id (const ID *id)
 
static IDget_original_id (ID *id)
 
static const IDget_evaluated_id (const Depsgraph *deg_graph, const ID *id)
 
static IDget_evaluated_id (const Depsgraph *deg_graph, ID *id)
 
static GraphRegistryget_graph_registry ()
 
void register_graph (Depsgraph *depsgraph)
 
void unregister_graph (Depsgraph *depsgraph)
 
Span< Depsgraph * > get_all_registered_graphs (Main *bmain)
 
void graph_tag_ids_for_visible_update (Depsgraph *graph)
 
NodeType geometry_tag_to_component (const ID *id)
 
void id_tag_update (Main *bmain, ID *id, int flag, eUpdateSource update_source)
 
void graph_id_tag_update (Main *bmain, Depsgraph *graph, ID *id, int flag, eUpdateSource update_source)
 
void deg_editors_id_update (const DEGEditorUpdateContext *update_ctx, ID *id)
 
void deg_editors_scene_update (const DEGEditorUpdateContext *update_ctx, bool updated)
 
void deg_evaluate_on_refresh (Depsgraph *graph)
 
IDdeg_update_copy_on_write_datablock (const Depsgraph *depsgraph, const IDNode *id_node)
 
IDdeg_update_copy_on_write_datablock (const Depsgraph *depsgraph, ID *id_orig)
 
void deg_free_copy_on_write_datablock (ID *id_cow)
 
void deg_evaluate_copy_on_write (struct ::Depsgraph *graph, const IDNode *id_node)
 
bool deg_validate_copy_on_write_datablock (ID *id_cow)
 
void deg_tag_copy_on_write_id (ID *id_cow, const ID *id_orig)
 
bool deg_copy_on_write_is_expanded (const ID *id_cow)
 
bool deg_copy_on_write_is_needed (const ID *id_orig)
 
bool deg_copy_on_write_is_needed (const ID_Type id_type)
 
IDdeg_update_copy_on_write_datablock (const struct Depsgraph *depsgraph, const IDNode *id_node)
 
IDdeg_update_copy_on_write_datablock (const struct Depsgraph *depsgraph, struct ID *id_orig)
 
void deg_evaluate_copy_on_write (struct ::Depsgraph *depsgraph, const struct IDNode *id_node)
 
void deg_tag_copy_on_write_id (struct ID *id_cow, const struct ID *id_orig)
 
bool deg_copy_on_write_is_expanded (const struct ID *id_cow)
 
void deg_graph_flush_updates (Depsgraph *graph)
 
void deg_graph_clear_tags (Depsgraph *graph)
 
static bool seq_init_cb (Sequence *seq, void *user_data)
 
static bool seq_restore_cb (Sequence *seq, void *user_data)
 
void deg_eval_stats_aggregate (Depsgraph *graph)
 
void deg_evaluate_object_node_visibility (::Depsgraph *depsgraph, IDNode *id_node)
 
void deg_graph_flush_visibility_flags (Depsgraph *graph)
 
void deg_graph_flush_visibility_flags_if_needed (Depsgraph *graph)
 
const char * nodeClassAsString (NodeClass node_class)
 
const char * nodeTypeAsString (NodeType type)
 
NodeType nodeTypeFromSceneComponent (eDepsSceneComponentType component)
 
eDepsSceneComponentType nodeTypeToSceneComponent (NodeType type)
 
NodeType nodeTypeFromObjectComponent (eDepsObjectComponentType component_type)
 
eDepsObjectComponentType nodeTypeToObjectComponent (NodeType type)
 
 DEG_DEPSNODE_DEFINE (TimeSourceNode, NodeType::TIMESOURCE, "Time Source")
 
 DEG_DEPSNODE_DEFINE (IDNode, NodeType::ID_REF, "ID Node")
 
void deg_register_base_depsnodes ()
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Animation)
 
 DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE (BatchCache)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Cache)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (CopyOnWrite)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Geometry)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (ImageAnimation)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (LayerCollections)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Particles)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (ParticleSettings)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Pose)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (PointCache)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Sequencer)
 
 DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE (Shading)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (ShadingParameters)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Transform)
 
 DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE (ObjectFromLayer)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Dupli)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Synchronization)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Audio)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Armature)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (GenericDatablock)
 
 DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE (Visibility)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (Simulation)
 
 DEG_COMPONENT_NODE_DECLARE_GENERIC (NTreeOutput)
 
void register_node_typeinfo (DepsNodeFactory *factory)
 
DepsNodeFactorytype_get_factory (const NodeType type)
 
const char * linkedStateAsString (eDepsNode_LinkedState_Type linked_state)
 
const char * operationCodeAsString (OperationCode opcode)
 
 DEG_DEPSNODE_DEFINE (OperationNode, NodeType::OPERATION, "Operation")
 
void deg_register_operation_depsnodes ()
 
Builder Finalizer.
void deg_graph_build_finalize (Main *bmain, Depsgraph *graph)
 
Register All Components
 DEG_COMPONENT_NODE_DEFINE (Animation, ANIMATION, ID_RECALC_ANIMATION)
 
 DEG_COMPONENT_NODE_DEFINE (BatchCache, BATCH_CACHE, ID_RECALC_SHADING)
 
 DEG_COMPONENT_NODE_DEFINE (Bone, BONE, ID_RECALC_GEOMETRY)
 
 DEG_COMPONENT_NODE_DEFINE (Cache, CACHE, 0)
 
 DEG_COMPONENT_NODE_DEFINE (CopyOnWrite, COPY_ON_WRITE, ID_RECALC_COPY_ON_WRITE)
 
 DEG_COMPONENT_NODE_DEFINE (ImageAnimation, IMAGE_ANIMATION, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Geometry, GEOMETRY, ID_RECALC_GEOMETRY)
 
 DEG_COMPONENT_NODE_DEFINE (LayerCollections, LAYER_COLLECTIONS, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Parameters, PARAMETERS, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Particles, PARTICLE_SYSTEM, ID_RECALC_GEOMETRY)
 
 DEG_COMPONENT_NODE_DEFINE (ParticleSettings, PARTICLE_SETTINGS, 0)
 
 DEG_COMPONENT_NODE_DEFINE (PointCache, POINT_CACHE, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Pose, EVAL_POSE, ID_RECALC_GEOMETRY)
 
 DEG_COMPONENT_NODE_DEFINE (Sequencer, SEQUENCER, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Shading, SHADING, ID_RECALC_SHADING)
 
 DEG_COMPONENT_NODE_DEFINE (Transform, TRANSFORM, ID_RECALC_TRANSFORM)
 
 DEG_COMPONENT_NODE_DEFINE (ObjectFromLayer, OBJECT_FROM_LAYER, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Dupli, DUPLI, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Synchronization, SYNCHRONIZATION, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Audio, AUDIO, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Armature, ARMATURE, 0)
 
 DEG_COMPONENT_NODE_DEFINE (GenericDatablock, GENERIC_DATABLOCK, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Visibility, VISIBILITY, 0)
 
 DEG_COMPONENT_NODE_DEFINE (Simulation, SIMULATION, 0)
 
 DEG_COMPONENT_NODE_DEFINE (NTreeOutput, NTREE_OUTPUT, ID_RECALC_NTREE_OUTPUT)
 
Node Types Register
void deg_register_component_depsnodes ()
 

Variables

ComponentKey sequencer_key
 
bool has_audio_strips
 
constexpr int kColumnSpacing = 4
 
constexpr int kPrintDepthWidth = 5 + kColumnSpacing
 
constexpr int kPrintTypeWidth = 21 + kColumnSpacing
 
static const char * deg_debug_graphviz_fontname = "helvetica"
 
static float deg_debug_graphviz_graph_label_size = 20.0f
 
static float deg_debug_graphviz_node_label_size = 14.0f
 
static const int deg_debug_max_colors = 12
 
static const char * deg_debug_colors_light []
 
static DEG_EditorUpdateIDCb deg_editor_update_id_cb = nullptr
 
static DEG_EditorUpdateSceneCb deg_editor_update_scene_cb = nullptr
 
static DepsNodeFactoryImpl< TimeSourceNodeDNTI_TIMESOURCE
 
static DepsNodeFactoryImpl< IDNodeDNTI_ID_REF
 
static DepsNodeFactorynode_typeinfo_registry [static_cast< int >(NodeType::NUM_TYPES)] = {nullptr}
 
static DepsNodeFactoryImpl< OperationNodeDNTI_OPERATION
 

Typedef Documentation

◆ DepsEvalOperationCb

typedef function<void(struct ::Depsgraph *)> blender::deg::DepsEvalOperationCb

Definition at line 22 of file deg_node_operation.h.

◆ FlushQueue

using blender::deg::FlushQueue = typedef deque<OperationNode *>

Definition at line 69 of file deg_eval_flush.cc.

◆ GraphRegistry

Definition at line 16 of file depsgraph_registry.cc.

◆ IDComponentsMask

Definition at line 19 of file deg_node_id.h.

◆ Seq_build_prop_cb_data

Definition at line 2946 of file deg_builder_relations.cc.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
OP_VISITED 
OP_REACHABLE 

Definition at line 37 of file deg_builder_transitive.cc.

◆ anonymous enum

anonymous enum
Enumerator
ID_STATE_NONE 
ID_STATE_MODIFIED 

Definition at line 58 of file deg_eval_flush.cc.

◆ anonymous enum

anonymous enum
Enumerator
COMPONENT_STATE_NONE 
COMPONENT_STATE_SCHEDULED 
COMPONENT_STATE_DONE 

Definition at line 63 of file deg_eval_flush.cc.

◆ eDepsNode_LinkedState_Type

Enumerator
DEG_ID_LINKED_INDIRECTLY 
DEG_ID_LINKED_VIA_SET 
DEG_ID_LINKED_DIRECTLY 

Definition at line 23 of file deg_node_id.h.

◆ eUpdateSource

Enumerator
DEG_UPDATE_SOURCE_TIME 
DEG_UPDATE_SOURCE_USER_EDIT 
DEG_UPDATE_SOURCE_RELATIONS 
DEG_UPDATE_SOURCE_VISIBILITY 

Definition at line 61 of file depsgraph_type.h.

◆ NodeClass

Enumerator
GENERIC 
COMPONENT 
OPERATION 

Definition at line 29 of file deg_node.h.

◆ NodeType

Enumerator
UNDEFINED 
OPERATION 
TIMESOURCE 
ID_REF 
PARAMETERS 
ANIMATION 
TRANSFORM 
GEOMETRY 
SEQUENCER 
LAYER_COLLECTIONS 
COPY_ON_WRITE 
OBJECT_FROM_LAYER 
AUDIO 
ARMATURE 
GENERIC_DATABLOCK 
VISIBILITY 
EVAL_POSE 
BONE 
PARTICLE_SYSTEM 
PARTICLE_SETTINGS 
SHADING 
POINT_CACHE 
IMAGE_ANIMATION 
CACHE 
BATCH_CACHE 
DUPLI 
SYNCHRONIZATION 
SIMULATION 
NTREE_OUTPUT 
NUM_TYPES 

Definition at line 44 of file deg_node.h.

◆ OperationCode

Enumerator
OPERATION 
ID_PROPERTY 
PARAMETERS_ENTRY 
PARAMETERS_EVAL 
PARAMETERS_EXIT 
VISIBILITY 
ANIMATION_ENTRY 
ANIMATION_EVAL 
ANIMATION_EXIT 
DRIVER 
SCENE_EVAL 
AUDIO_ENTRY 
AUDIO_VOLUME 
OBJECT_FROM_LAYER_ENTRY 
OBJECT_BASE_FLAGS 
OBJECT_FROM_LAYER_EXIT 
DIMENSIONS 
TRANSFORM_INIT 
TRANSFORM_LOCAL 
TRANSFORM_PARENT 
TRANSFORM_CONSTRAINTS 
TRANSFORM_EVAL 
TRANSFORM_SIMULATION_INIT 
TRANSFORM_FINAL 
RIGIDBODY_REBUILD 
RIGIDBODY_SIM 
RIGIDBODY_TRANSFORM_COPY 
GEOMETRY_EVAL_INIT 
GEOMETRY_EVAL 
GEOMETRY_EVAL_DONE 
GEOMETRY_SHAPEKEY 
LIGHT_PROBE_EVAL 
SPEAKER_EVAL 
SOUND_EVAL 
ARMATURE_EVAL 
POSE_INIT 
POSE_INIT_IK 
POSE_CLEANUP 
POSE_DONE 
POSE_IK_SOLVER 
POSE_SPLINE_IK_SOLVER 
BONE_LOCAL 
BONE_POSE_PARENT 
BONE_CONSTRAINTS 
BONE_READY 
BONE_DONE 
BONE_SEGMENTS 
PARTICLE_SYSTEM_INIT 
PARTICLE_SYSTEM_EVAL 
PARTICLE_SYSTEM_DONE 
PARTICLE_SETTINGS_INIT 
PARTICLE_SETTINGS_EVAL 
PARTICLE_SETTINGS_RESET 
POINT_CACHE_RESET 
FILE_CACHE_UPDATE 
VIEW_LAYER_EVAL 
COPY_ON_WRITE 
SHADING 
MATERIAL_UPDATE 
LIGHT_UPDATE 
WORLD_UPDATE 
NTREE_OUTPUT 
GEOMETRY_SELECT_UPDATE 
MASK_ANIMATION 
MASK_EVAL 
MOVIECLIP_EVAL 
MOVIECLIP_SELECT_UPDATE 
IMAGE_ANIMATION 
SYNCHRONIZE_TO_ORIGINAL 
GENERIC_DATABLOCK_UPDATE 
SEQUENCES_EVAL 
DUPLI 
SIMULATION_EVAL 

Definition at line 25 of file deg_node_operation.h.

◆ OperationFlag

Enumerator
DEPSOP_FLAG_NEEDS_UPDATE 
DEPSOP_FLAG_DIRECTLY_MODIFIED 
DEPSOP_FLAG_USER_MODIFIED 
DEPSOP_FLAG_PINNED 
DEPSOP_FLAG_AFFECTS_VISIBILITY 
DEPSOP_FLAG_FLUSH 

Definition at line 202 of file deg_node_operation.h.

◆ RelationFlag

Enumerator
RELATION_FLAG_CYCLIC 
RELATION_FLAG_NO_FLUSH 
RELATION_FLAG_FLUSH_USER_EDIT_ONLY 
RELATION_FLAG_GODMODE 
RELATION_CHECK_BEFORE_ADD 

Definition at line 18 of file depsgraph_relation.h.

◆ RNAPointerSource

Enumerator
ENTRY 
EXIT 

Definition at line 27 of file deg_builder_rna.h.

Function Documentation

◆ build_collision_relations()

ListBase * blender::deg::build_collision_relations ( Depsgraph graph,
Collection collection,
unsigned int  modifier_type 
)

◆ build_effector_relations()

ListBase * blender::deg::build_effector_relations ( Depsgraph graph,
Collection collection 
)

◆ build_idproperties_callback() [1/2]

static void blender::deg::build_idproperties_callback ( IDProperty id_property,
void user_data 
)
static

◆ build_idproperties_callback() [2/2]

static void blender::deg::build_idproperties_callback ( IDProperty id_property,
void user_data 
)
static

◆ clear_id_nodes_conditional()

template<typename FilterFunc >
static void blender::deg::clear_id_nodes_conditional ( Depsgraph::IDDepsNodes id_nodes,
const FilterFunc &  filter 
)
static

◆ clear_physics_relations()

void blender::deg::clear_physics_relations ( Depsgraph graph)

◆ color_end()

string blender::deg::color_end ( )

◆ color_for_pointer()

string blender::deg::color_for_pointer ( const void pointer)

◆ deg_check_base_in_depsgraph()

bool blender::deg::deg_check_base_in_depsgraph ( const Depsgraph graph,
Base base 
)

◆ deg_check_id_in_depsgraph()

bool blender::deg::deg_check_id_in_depsgraph ( const Depsgraph graph,
ID id_orig 
)

Definition at line 42 of file deg_builder.cc.

References blender::deg::Depsgraph::find_id_node(), graph, and id_node.

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [1/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Animation  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [2/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Armature  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [3/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Audio  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [4/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Cache  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [5/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( CopyOnWrite  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [6/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Dupli  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [7/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( GenericDatablock  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [8/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Geometry  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [9/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( ImageAnimation  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [10/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( LayerCollections  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [11/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( NTreeOutput  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [12/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Particles  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [13/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( ParticleSettings  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [14/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( PointCache  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [15/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Pose  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [16/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Sequencer  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [17/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( ShadingParameters  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [18/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Simulation  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [19/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Synchronization  )

◆ DEG_COMPONENT_NODE_DECLARE_GENERIC() [20/20]

blender::deg::DEG_COMPONENT_NODE_DECLARE_GENERIC ( Transform  )

◆ DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE() [1/4]

blender::deg::DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE ( BatchCache  )

◆ DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE() [2/4]

blender::deg::DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE ( ObjectFromLayer  )

◆ DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE() [3/4]

blender::deg::DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE ( Shading  )

◆ DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE() [4/4]

blender::deg::DEG_COMPONENT_NODE_DECLARE_NO_COW_TAG_ON_UPDATE ( Visibility  )

◆ DEG_COMPONENT_NODE_DEFINE() [1/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Animation  ,
ANIMATION  ,
ID_RECALC_ANIMATION   
)

◆ DEG_COMPONENT_NODE_DEFINE() [2/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Armature  ,
ARMATURE  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [3/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Audio  ,
AUDIO  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [4/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( BatchCache  ,
BATCH_CACHE  ,
ID_RECALC_SHADING   
)

◆ DEG_COMPONENT_NODE_DEFINE() [5/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Bone  ,
BONE  ,
ID_RECALC_GEOMETRY   
)

◆ DEG_COMPONENT_NODE_DEFINE() [6/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Cache  ,
CACHE  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [7/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( CopyOnWrite  ,
COPY_ON_WRITE  ,
ID_RECALC_COPY_ON_WRITE   
)

◆ DEG_COMPONENT_NODE_DEFINE() [8/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Dupli  ,
DUPLI  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [9/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( GenericDatablock  ,
GENERIC_DATABLOCK  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [10/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Geometry  ,
GEOMETRY  ,
ID_RECALC_GEOMETRY   
)

◆ DEG_COMPONENT_NODE_DEFINE() [11/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( ImageAnimation  ,
IMAGE_ANIMATION  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [12/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( LayerCollections  ,
LAYER_COLLECTIONS  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [13/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( NTreeOutput  ,
NTREE_OUTPUT  ,
ID_RECALC_NTREE_OUTPUT   
)

◆ DEG_COMPONENT_NODE_DEFINE() [14/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( ObjectFromLayer  ,
OBJECT_FROM_LAYER  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [15/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Parameters  ,
PARAMETERS  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [16/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Particles  ,
PARTICLE_SYSTEM  ,
ID_RECALC_GEOMETRY   
)

◆ DEG_COMPONENT_NODE_DEFINE() [17/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( ParticleSettings  ,
PARTICLE_SETTINGS  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [18/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( PointCache  ,
POINT_CACHE  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [19/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Pose  ,
EVAL_POSE  ,
ID_RECALC_GEOMETRY   
)

◆ DEG_COMPONENT_NODE_DEFINE() [20/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Sequencer  ,
SEQUENCER  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [21/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Shading  ,
SHADING  ,
ID_RECALC_SHADING   
)

◆ DEG_COMPONENT_NODE_DEFINE() [22/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Simulation  ,
SIMULATION  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [23/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Synchronization  ,
SYNCHRONIZATION  ,
 
)

◆ DEG_COMPONENT_NODE_DEFINE() [24/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Transform  ,
TRANSFORM  ,
ID_RECALC_TRANSFORM   
)

◆ DEG_COMPONENT_NODE_DEFINE() [25/25]

blender::deg::DEG_COMPONENT_NODE_DEFINE ( Visibility  ,
VISIBILITY  ,
 
)

◆ deg_copy_on_write_is_expanded() [1/2]

bool blender::deg::deg_copy_on_write_is_expanded ( const ID id_cow)

◆ deg_copy_on_write_is_expanded() [2/2]

bool blender::deg::deg_copy_on_write_is_expanded ( const struct ID id_cow)

Check whether ID data-block is expanded.

TODO(sergey): Make it an inline function or a macro.

◆ deg_copy_on_write_is_needed() [1/2]

bool blender::deg::deg_copy_on_write_is_needed ( const ID id_orig)

◆ deg_copy_on_write_is_needed() [2/2]

bool blender::deg::deg_copy_on_write_is_needed ( const ID_Type  id_type)

Definition at line 1073 of file deg_eval_copy_on_write.cc.

References ID_TYPE_IS_COW.

◆ deg_debug_graphviz_graph_nodes()

static void blender::deg::deg_debug_graphviz_graph_nodes ( DotExportContext ctx,
const Depsgraph graph 
)
static

◆ deg_debug_graphviz_graph_relations()

static void blender::deg::deg_debug_graphviz_graph_relations ( DotExportContext ctx,
const Depsgraph graph 
)
static

◆ deg_debug_graphviz_legend()

static void blender::deg::deg_debug_graphviz_legend ( DotExportContext ctx)
static

◆ deg_debug_graphviz_legend_color()

static void blender::deg::deg_debug_graphviz_legend_color ( const char *  name,
const char *  color,
std::stringstream &  ss 
)
static

Definition at line 149 of file deg_debug_relations_graphviz.cc.

References color.

Referenced by deg_debug_graphviz_legend().

◆ deg_debug_graphviz_node()

static void blender::deg::deg_debug_graphviz_node ( DotExportContext ctx,
const Node node,
dot::Cluster parent_cluster 
)
static

◆ deg_debug_graphviz_node_cluster_create()

static dot::Cluster& blender::deg::deg_debug_graphviz_node_cluster_create ( DotExportContext ctx,
const Node node,
dot::Cluster parent_cluster 
)
static

◆ deg_debug_graphviz_node_color()

static void blender::deg::deg_debug_graphviz_node_color ( DotExportContext ctx,
const Node node,
dot::Attributes dot_attributes 
)
static

◆ deg_debug_graphviz_node_fillcolor()

static void blender::deg::deg_debug_graphviz_node_fillcolor ( const Node node,
dot::Attributes dot_attributes 
)
static

◆ deg_debug_graphviz_node_penwidth()

static void blender::deg::deg_debug_graphviz_node_penwidth ( DotExportContext ctx,
const Node node,
dot::Attributes dot_attributes 
)
static

◆ deg_debug_graphviz_node_relations()

static void blender::deg::deg_debug_graphviz_node_relations ( DotExportContext ctx,
const Node node 
)
static

◆ deg_debug_graphviz_node_single()

static void blender::deg::deg_debug_graphviz_node_single ( DotExportContext ctx,
const Node node,
dot::Cluster parent_cluster 
)
static

◆ deg_debug_graphviz_node_style()

static void blender::deg::deg_debug_graphviz_node_style ( DotExportContext ctx,
const Node node,
dot::Attributes dot_attributes 
)
static

◆ deg_debug_graphviz_relation_arrowhead()

static void blender::deg::deg_debug_graphviz_relation_arrowhead ( const Relation rel,
dot::DirectedEdge edge 
)
static

◆ deg_debug_graphviz_relation_color()

static void blender::deg::deg_debug_graphviz_relation_color ( const Relation rel,
dot::DirectedEdge edge 
)
static

◆ deg_debug_graphviz_relation_style()

static void blender::deg::deg_debug_graphviz_relation_style ( const Relation rel,
dot::DirectedEdge edge 
)
static

◆ deg_debug_node_color_index()

static int blender::deg::deg_debug_node_color_index ( const Node node)
static

◆ DEG_DEPSNODE_DEFINE() [1/3]

blender::deg::DEG_DEPSNODE_DEFINE ( IDNode  ,
NodeType::ID_REF  ,
"ID Node  
)

◆ DEG_DEPSNODE_DEFINE() [2/3]

blender::deg::DEG_DEPSNODE_DEFINE ( OperationNode  ,
NodeType::OPERATION  ,
"Operation"   
)

◆ DEG_DEPSNODE_DEFINE() [3/3]

blender::deg::DEG_DEPSNODE_DEFINE ( TimeSourceNode  ,
NodeType::TIMESOURCE  ,
"Time Source"   
)

◆ deg_editors_id_update()

void blender::deg::deg_editors_id_update ( const DEGEditorUpdateContext update_ctx,
ID id 
)

Definition at line 21 of file depsgraph_update.cc.

References deg_editor_update_id_cb.

◆ deg_editors_scene_update()

void blender::deg::deg_editors_scene_update ( const DEGEditorUpdateContext update_ctx,
bool  updated 
)

Definition at line 28 of file depsgraph_update.cc.

References deg_editor_update_scene_cb.

Referenced by DEG_editors_update().

◆ deg_eval_stats_aggregate()

void blender::deg::deg_eval_stats_aggregate ( Depsgraph graph)

◆ deg_evaluate_copy_on_write() [1/2]

void blender::deg::deg_evaluate_copy_on_write ( struct ::Depsgraph depsgraph,
const struct IDNode id_node 
)

Callback function for depsgraph operation node which ensures copy-on-write data-block is ready for use by further evaluation routines.

◆ deg_evaluate_copy_on_write() [2/2]

void blender::deg::deg_evaluate_copy_on_write ( struct ::Depsgraph graph,
const IDNode id_node 
)

◆ deg_evaluate_object_node_visibility()

void blender::deg::deg_evaluate_object_node_visibility ( ::Depsgraph depsgraph,
IDNode id_node 
)

◆ deg_evaluate_on_refresh()

void blender::deg::deg_evaluate_on_refresh ( Depsgraph graph)

◆ deg_free_copy_on_write_datablock()

void blender::deg::deg_free_copy_on_write_datablock ( ID id_cow)

Free content of the CoW data-block. Notes:

  • Does not recurse into nested ID data-blocks.
  • Does not free data-block itself.

Helper function which frees memory used by copy-on-written data-block.

Definition at line 996 of file deg_eval_copy_on_write.cc.

References BKE_libblock_free_data(), BKE_libblock_free_data_py(), BKE_libblock_free_datablock(), Object::data, GS, ID_OB, ID::name, Object::sculpt, and type.

Referenced by deg_update_copy_on_write_datablock(), blender::deg::IDNode::destroy(), and blender::deg::DepsgraphNodeBuilder::~DepsgraphNodeBuilder().

◆ deg_graph_build_finalize()

void blender::deg::deg_graph_build_finalize ( Main bmain,
Depsgraph graph 
)

◆ deg_graph_clear_tags()

void blender::deg::deg_graph_clear_tags ( struct Depsgraph graph)

◆ deg_graph_detect_cycles()

void blender::deg::deg_graph_detect_cycles ( Depsgraph graph)

Definition at line 204 of file deg_builder_cycle.cc.

References graph, and state.

Referenced by blender::deg::AbstractBuilderPipeline::build_step_finalize().

◆ deg_graph_flush_updates()

void blender::deg::deg_graph_flush_updates ( struct Depsgraph graph)

◆ deg_graph_flush_visibility_flags()

void blender::deg::deg_graph_flush_visibility_flags ( Depsgraph graph)

◆ deg_graph_flush_visibility_flags_if_needed()

void blender::deg::deg_graph_flush_visibility_flags_if_needed ( Depsgraph graph)

◆ deg_graph_remove_unused_noops()

void blender::deg::deg_graph_remove_unused_noops ( Depsgraph graph)

◆ deg_graph_tag_paths_recursive()

static void blender::deg::deg_graph_tag_paths_recursive ( Node node)
static

◆ deg_graph_transitive_reduction()

void blender::deg::deg_graph_transitive_reduction ( Depsgraph graph)

◆ deg_register_base_depsnodes()

void blender::deg::deg_register_base_depsnodes ( )

Definition at line 322 of file deg_node.cc.

References DNTI_ID_REF, DNTI_TIMESOURCE, and register_node_typeinfo().

Referenced by DEG_register_node_types().

◆ deg_register_component_depsnodes()

void blender::deg::deg_register_component_depsnodes ( )

Definition at line 347 of file deg_node_component.cc.

References register_node_typeinfo().

Referenced by DEG_register_node_types().

◆ deg_register_operation_depsnodes()

void blender::deg::deg_register_operation_depsnodes ( )

Definition at line 257 of file deg_node_operation.cc.

References DNTI_OPERATION, and register_node_typeinfo().

Referenced by DEG_register_node_types().

◆ deg_tag_copy_on_write_id() [1/2]

void blender::deg::deg_tag_copy_on_write_id ( ID id_cow,
const ID id_orig 
)

◆ deg_tag_copy_on_write_id() [2/2]

void blender::deg::deg_tag_copy_on_write_id ( struct ID id_cow,
const struct ID id_orig 
)

Tag given ID block as being copy-on-written.

◆ deg_update_copy_on_write_datablock() [1/4]

ID* blender::deg::deg_update_copy_on_write_datablock ( const Depsgraph depsgraph,
const IDNode id_node 
)

◆ deg_update_copy_on_write_datablock() [2/4]

ID* blender::deg::deg_update_copy_on_write_datablock ( const Depsgraph depsgraph,
ID id_orig 
)
Note
Depsgraph is supposed to have ID node already.

Definition at line 910 of file deg_eval_copy_on_write.cc.

References BLI_assert, deg_update_copy_on_write_datablock(), depsgraph, blender::deg::Depsgraph::find_id_node(), and id_node.

◆ deg_update_copy_on_write_datablock() [3/4]

ID* blender::deg::deg_update_copy_on_write_datablock ( const struct Depsgraph depsgraph,
const IDNode id_node 
)

Makes sure given CoW data-block is brought back to state of the original data-block.

◆ deg_update_copy_on_write_datablock() [4/4]

ID* blender::deg::deg_update_copy_on_write_datablock ( const struct Depsgraph depsgraph,
struct ID id_orig 
)

◆ deg_validate_copy_on_write_datablock()

bool blender::deg::deg_validate_copy_on_write_datablock ( ID id_cow)

Check that given ID is properly expanded and does not have any shallow copies inside.

Definition at line 1040 of file deg_eval_copy_on_write.cc.

References BKE_library_foreach_ID_link(), data, and IDWALK_NOP.

◆ foreach_id_cow_detect_need_for_update_callback()

static int blender::deg::foreach_id_cow_detect_need_for_update_callback ( LibraryIDLinkCallbackData cb_data)
static

◆ geometry_tag_to_component()

NodeType blender::deg::geometry_tag_to_component ( const ID id)

◆ get_all_registered_graphs()

Span< Depsgraph * > blender::deg::get_all_registered_graphs ( Main bmain)

◆ get_evaluated_id() [1/2]

static const ID* blender::deg::get_evaluated_id ( const Depsgraph deg_graph,
const ID id 
)
static

◆ get_evaluated_id() [2/2]

static ID* blender::deg::get_evaluated_id ( const Depsgraph deg_graph,
ID id 
)
static

Definition at line 71 of file depsgraph_query.cc.

References get_evaluated_id(), and id.

Referenced by DEG_get_evaluated_id().

◆ get_graph_registry()

static GraphRegistry& blender::deg::get_graph_registry ( )
static

◆ get_original_id() [1/2]

static const ID* blender::deg::get_original_id ( const ID id)
static

Definition at line 38 of file depsgraph_query.cc.

References BLI_assert, id, LIB_TAG_COPIED_ON_WRITE, ID::orig_id, and ID::tag.

Referenced by get_original_id().

◆ get_original_id() [2/2]

static ID* blender::deg::get_original_id ( ID id)
static

Definition at line 50 of file depsgraph_query.cc.

References get_original_id(), and id.

Referenced by DEG_get_eval_flags_for_id(), and DEG_get_original_id().

◆ graph_id_tag_update()

void blender::deg::graph_id_tag_update ( Main bmain,
Depsgraph graph,
ID id,
int  flag,
eUpdateSource  update_source 
)

◆ graph_tag_ids_for_visible_update()

void blender::deg::graph_tag_ids_for_visible_update ( Depsgraph graph)

◆ id_tag_update()

void blender::deg::id_tag_update ( Main bmain,
ID id,
int  flag,
eUpdateSource  update_source 
)

Definition at line 617 of file depsgraph_tag.cc.

References depsgraph, get_all_registered_graphs(), and graph_id_tag_update().

Referenced by DEG_id_tag_update_ex().

◆ is_reachable()

static bool blender::deg::is_reachable ( const Node *const  from,
const Node *const  to 
)
static

◆ is_unused_noop()

static bool blender::deg::is_unused_noop ( OperationNode op_node)
inlinestatic

◆ linkedStateAsString()

const char * blender::deg::linkedStateAsString ( eDepsNode_LinkedState_Type  linked_state)

◆ nodeClassAsString()

const char * blender::deg::nodeClassAsString ( NodeClass  node_class)

Definition at line 25 of file deg_node.cc.

References BLI_assert_msg, COMPONENT, GENERIC, and OPERATION.

◆ nodeTypeAsString()

const char * blender::deg::nodeTypeAsString ( NodeType  type)

◆ nodeTypeFromObjectComponent()

NodeType blender::deg::nodeTypeFromObjectComponent ( eDepsObjectComponentType  component_type)

◆ nodeTypeFromSceneComponent()

NodeType blender::deg::nodeTypeFromSceneComponent ( eDepsSceneComponentType  component)

◆ nodeTypeToObjectComponent()

eDepsObjectComponentType blender::deg::nodeTypeToObjectComponent ( NodeType  type)

◆ nodeTypeToSceneComponent()

eDepsSceneComponentType blender::deg::nodeTypeToSceneComponent ( NodeType  type)

◆ operationCodeAsString()

const char * blender::deg::operationCodeAsString ( OperationCode  opcode)

◆ operator==()

bool blender::deg::operator== ( const AnimatedPropertyID a,
const AnimatedPropertyID b 
)

Definition at line 55 of file deg_builder_cache.cc.

◆ register_graph()

void blender::deg::register_graph ( Depsgraph depsgraph)

◆ register_node_typeinfo()

void blender::deg::register_node_typeinfo ( DepsNodeFactory factory)

◆ rigidbody_object_depends_on_evaluated_geometry()

static bool blender::deg::rigidbody_object_depends_on_evaluated_geometry ( const RigidBodyOb rbo)
inlinestatic

◆ rna_prop_affects_parameters_node()

bool blender::deg::rna_prop_affects_parameters_node ( const PointerRNA ptr,
const PropertyRNA prop 
)

◆ seq_build_prop_cb()

static bool blender::deg::seq_build_prop_cb ( Sequence seq,
void user_data 
)
static

◆ seq_init_cb()

static bool blender::deg::seq_init_cb ( Sequence seq,
void user_data 
)
static

◆ seq_node_build_cb()

static bool blender::deg::seq_node_build_cb ( Sequence seq,
void user_data 
)
static

◆ seq_restore_cb()

static bool blender::deg::seq_restore_cb ( Sequence seq,
void user_data 
)
static

◆ terminal_do_color()

bool blender::deg::terminal_do_color ( )

Definition at line 59 of file deg_debug.cc.

References G, and G_DEBUG_DEPSGRAPH_PRETTY.

Referenced by color_end(), and color_for_pointer().

◆ type_get_factory()

DepsNodeFactory * blender::deg::type_get_factory ( const NodeType  type)

◆ unregister_graph()

void blender::deg::unregister_graph ( Depsgraph depsgraph)

Variable Documentation

◆ deg_debug_colors_light

const char* blender::deg::deg_debug_colors_light[]
static
Initial value:
= {
"#8dd3c7",
"#ffffb3",
"#bebada",
"#fb8072",
"#80b1d3",
"#fdb462",
"#b3de69",
"#fccde5",
"#d9d9d9",
"#bc80bd",
"#ccebc5",
"#ffed6f",
"#ff00ff",
}

Definition at line 63 of file deg_debug_relations_graphviz.cc.

Referenced by deg_debug_graphviz_legend(), and deg_debug_graphviz_node_fillcolor().

◆ deg_debug_graphviz_fontname

const char* blender::deg::deg_debug_graphviz_fontname = "helvetica"
static

◆ deg_debug_graphviz_graph_label_size

float blender::deg::deg_debug_graphviz_graph_label_size = 20.0f
static

Definition at line 43 of file deg_debug_relations_graphviz.cc.

Referenced by DEG_debug_relations_graphviz().

◆ deg_debug_graphviz_node_label_size

float blender::deg::deg_debug_graphviz_node_label_size = 14.0f
static

◆ deg_debug_max_colors

const int blender::deg::deg_debug_max_colors = 12
static

◆ deg_editor_update_id_cb

DEG_EditorUpdateIDCb blender::deg::deg_editor_update_id_cb = nullptr
static

Definition at line 18 of file depsgraph_update.cc.

Referenced by deg_editors_id_update(), and DEG_editors_set_update_cb().

◆ deg_editor_update_scene_cb

DEG_EditorUpdateSceneCb blender::deg::deg_editor_update_scene_cb = nullptr
static

Definition at line 19 of file depsgraph_update.cc.

Referenced by deg_editors_scene_update(), and DEG_editors_set_update_cb().

◆ DNTI_ID_REF

DepsNodeFactoryImpl<IDNode> blender::deg::DNTI_ID_REF
static

Definition at line 320 of file deg_node.cc.

Referenced by deg_register_base_depsnodes().

◆ DNTI_OPERATION

DepsNodeFactoryImpl<OperationNode> blender::deg::DNTI_OPERATION
static

Definition at line 255 of file deg_node_operation.cc.

Referenced by deg_register_operation_depsnodes().

◆ DNTI_TIMESOURCE

DepsNodeFactoryImpl<TimeSourceNode> blender::deg::DNTI_TIMESOURCE
static

Definition at line 317 of file deg_node.cc.

Referenced by deg_register_base_depsnodes().

◆ has_audio_strips

bool blender::deg::has_audio_strips

Definition at line 2949 of file deg_builder_relations.cc.

◆ kColumnSpacing

constexpr int blender::deg::kColumnSpacing = 4
constexpr

Definition at line 24 of file deg_builder_stack.cc.

◆ kPrintDepthWidth

constexpr int blender::deg::kPrintDepthWidth = 5 + kColumnSpacing
constexpr

Definition at line 28 of file deg_builder_stack.cc.

Referenced by blender::deg::BuilderStack::print_backtrace().

◆ kPrintTypeWidth

constexpr int blender::deg::kPrintTypeWidth = 21 + kColumnSpacing
constexpr

Definition at line 29 of file deg_builder_stack.cc.

Referenced by blender::deg::BuilderStack::print_backtrace().

◆ node_typeinfo_registry

DepsNodeFactory* blender::deg::node_typeinfo_registry[static_cast< int >(NodeType::NUM_TYPES)] = {nullptr}
static

Definition at line 13 of file deg_node_factory.cc.

Referenced by register_node_typeinfo(), and type_get_factory().

◆ sequencer_key

ComponentKey blender::deg::sequencer_key