Blender V5.0
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 741 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 809 of file lib_override.cc.

References do_create_linked_overrides_set, linked_ids_hierarchy_default_override, missing_tag, and tag.

◆ root_get()

ID * LibOverrideGroupTagData::root_get ( )
inline

Definition at line 760 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 764 of file lib_override.cc.

References id_root_override, id_root_reference, and is_override.

Member Data Documentation

◆ bmain

Main* LibOverrideGroupTagData::bmain

Definition at line 742 of file lib_override.cc.

Referenced by clear().

◆ do_create_linked_overrides_set

bool LibOverrideGroupTagData::do_create_linked_overrides_set

Definition at line 801 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 751 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 747 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 750 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 746 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 758 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 788 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 800 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 838 of file lib_override.cc.

Referenced by clear().

◆ mem_arena

MemArena* LibOverrideGroupTagData::mem_arena

Definition at line 839 of file lib_override.cc.

Referenced by clear().

◆ missing_tag

uint LibOverrideGroupTagData::missing_tag

Definition at line 792 of file lib_override.cc.

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

◆ scene

Scene* LibOverrideGroupTagData::scene

Definition at line 743 of file lib_override.cc.

Referenced by clear().

◆ tag

uint LibOverrideGroupTagData::tag

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

Definition at line 791 of file lib_override.cc.

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


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