Blender V4.3
LibOverrideGroupTagData Struct Reference

Public Member Functions

IDroot_get ()
 
void root_set (ID *id_root)
 
IDhierarchy_root_get ()
 
void hierarchy_root_set (ID *hierarchy_root_id)
 
bool id_tag_set (ID *id, const bool is_missing)
 
bool id_tag_clear (ID *id, const bool is_missing)
 
void clear ()
 

Public Attributes

Mainbmain
 
Scenescene
 
IDid_root_reference
 
IDhierarchy_root_id_reference
 
IDid_root_override
 
IDhierarchy_root_id_override
 
bool is_override
 
bool is_resync
 
uint tag
 
uint missing_tag
 
blender::Set< ID * > linked_ids_hierarchy_default_override
 
bool do_create_linked_overrides_set
 
GHashlinked_object_to_instantiating_collections
 
MemArenamem_arena
 

Detailed Description

Definition at line 722 of file lib_override.cc.

Member Function Documentation

◆ clear()

◆ hierarchy_root_get()

ID * LibOverrideGroupTagData::hierarchy_root_get ( )
inline

◆ hierarchy_root_set()

void LibOverrideGroupTagData::hierarchy_root_set ( ID * hierarchy_root_id)
inline

◆ id_tag_clear()

bool LibOverrideGroupTagData::id_tag_clear ( ID * id,
const bool is_missing )
inline

◆ id_tag_set()

bool LibOverrideGroupTagData::id_tag_set ( ID * id,
const bool is_missing )
inline

Helpers to mark or unmark an ID as part of the processed (reference of) liboverride hierarchy.

Returns
true if the given ID is tagged as missing linked data, false otherwise.

Definition at line 788 of file lib_override.cc.

References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), do_create_linked_overrides_set, linked_ids_hierarchy_default_override, missing_tag, and tag.

◆ root_get()

ID * LibOverrideGroupTagData::root_get ( )
inline

Definition at line 741 of file lib_override.cc.

References id_root_override, id_root_reference, and is_override.

◆ root_set()

void LibOverrideGroupTagData::root_set ( ID * id_root)
inline

Definition at line 745 of file lib_override.cc.

References id_root_override, id_root_reference, and is_override.

Member Data Documentation

◆ bmain

◆ do_create_linked_overrides_set

bool LibOverrideGroupTagData::do_create_linked_overrides_set

Definition at line 782 of file lib_override.cc.

Referenced by id_tag_clear(), and id_tag_set().

◆ hierarchy_root_id_override

ID* LibOverrideGroupTagData::hierarchy_root_id_override

Definition at line 732 of file lib_override.cc.

Referenced by clear(), hierarchy_root_get(), and hierarchy_root_set().

◆ hierarchy_root_id_reference

ID* LibOverrideGroupTagData::hierarchy_root_id_reference

Definition at line 728 of file lib_override.cc.

Referenced by clear(), hierarchy_root_get(), and hierarchy_root_set().

◆ id_root_override

ID* LibOverrideGroupTagData::id_root_override

The existing liboverrides, if any.

Definition at line 731 of file lib_override.cc.

Referenced by clear(), root_get(), and root_set().

◆ id_root_reference

ID* LibOverrideGroupTagData::id_root_reference

The linked data used as reference for the liboverrides.

Definition at line 727 of file lib_override.cc.

Referenced by clear(), root_get(), and root_set().

◆ is_override

bool LibOverrideGroupTagData::is_override

Whether we are looping on override data, or their references (linked) one.

IMPORTANT: This value controls which of the reference/override ID pointers are accessed by the root/hierarchy_root accessor functions below.

Definition at line 739 of file lib_override.cc.

Referenced by clear(), hierarchy_root_get(), hierarchy_root_set(), root_get(), and root_set().

◆ is_resync

bool LibOverrideGroupTagData::is_resync

Whether we are creating new override, or resyncing existing one.

Definition at line 769 of file lib_override.cc.

Referenced by clear().

◆ linked_ids_hierarchy_default_override

blender::Set<ID *> LibOverrideGroupTagData::linked_ids_hierarchy_default_override

A set of all IDs belonging to the reference linked hierarchy that is being overridden.

NOTE: This is needed only for partial resync, when only part of the liboverridden hierarchy is re-generated, since some IDs in that sub-hierarchy may not be detected as needing to be overridden, while they would when considering the whole hierarchy.

Definition at line 781 of file lib_override.cc.

Referenced by clear(), id_tag_clear(), and id_tag_set().

◆ linked_object_to_instantiating_collections

GHash* LibOverrideGroupTagData::linked_object_to_instantiating_collections

Definition at line 817 of file lib_override.cc.

Referenced by clear().

◆ mem_arena

MemArena* LibOverrideGroupTagData::mem_arena

Definition at line 818 of file lib_override.cc.

Referenced by clear().

◆ missing_tag

uint LibOverrideGroupTagData::missing_tag

Definition at line 773 of file lib_override.cc.

Referenced by clear(), and id_tag_set().

◆ scene

Scene* LibOverrideGroupTagData::scene

Definition at line 724 of file lib_override.cc.

◆ tag

uint LibOverrideGroupTagData::tag

ID tag to use for IDs detected as being part of the liboverride hierarchy.

Definition at line 772 of file lib_override.cc.

Referenced by clear(), and id_tag_set().


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