Blender V5.0
blender::io::usd::AbstractHierarchyIterator Class Referenceabstract

#include <IO_abstract_hierarchy_iterator.h>

Inherited by blender::io::TestingHierarchyIterator, blender::io::alembic::ABCHierarchyIterator, and blender::io::usd::USDHierarchyIterator.

Public Types

using WriterMap = blender::Map<std::string, AbstractHierarchyWriter *>
using ExportChildren = blender::Set<HierarchyContext *>
using ExportGraph = blender::Map<ObjectIdentifier, ExportChildren>
using ExportPathMap = blender::Map<ID *, std::string>
using ExportUsedNameMap = blender::Map<std::string, blender::Set<std::string>>
using DupliSources = blender::Set<ID *>

Public Member Functions

 AbstractHierarchyIterator (Main *bmain, Depsgraph *depsgraph)
virtual ~AbstractHierarchyIterator ()
virtual void iterate_and_write ()
void release_writers ()
void set_export_subset (ExportSubset export_subset)
virtual std::string make_valid_name (const std::string &name) const
virtual std::string make_unique_name (const std::string &original_name, Set< std::string > &used_names)
virtual std::string get_id_name (const ID *id) const
virtual std::string get_object_data_path (const HierarchyContext *context) const

Protected Member Functions

virtual std::string path_concatenate (const std::string &parent_path, const std::string &child_path) const
virtual bool mark_as_weak_export (const Object *object) const
virtual bool should_visit_dupli_object (const DupliObject *dupli_object) const
virtual ObjectIdentifier determine_graph_index_object (const HierarchyContext *context)
virtual ObjectIdentifier determine_graph_index_dupli (const HierarchyContext *context, const DupliObject *dupli_object, const DupliParentFinder &dupli_parent_finder)
virtual AbstractHierarchyWritercreate_transform_writer (const HierarchyContext *context)=0
virtual AbstractHierarchyWritercreate_data_writer (const HierarchyContext *context)=0
virtual AbstractHierarchyWritercreate_hair_writer (const HierarchyContext *context)=0
virtual AbstractHierarchyWritercreate_particle_writer (const HierarchyContext *context)=0
virtual void release_writer (AbstractHierarchyWriter *writer)=0
virtual bool include_data_writers (const HierarchyContext *) const
virtual bool include_child_writers (const HierarchyContext *) const
AbstractHierarchyWriterget_writer (const std::string &export_path) const
ExportChildrengraph_children (const HierarchyContext *context)

Protected Attributes

ExportGraph export_graph_
ExportPathMap duplisource_export_path_
Mainbmain_
Depsgraph * depsgraph_
WriterMap writers_
ExportSubset export_subset_
DupliSources duplisources_
ExportUsedNameMap used_names_

Detailed Description

Definition at line 228 of file IO_abstract_hierarchy_iterator.h.

Member Typedef Documentation

◆ DupliSources

◆ ExportChildren

◆ ExportGraph

◆ ExportPathMap

◆ ExportUsedNameMap

◆ WriterMap

Constructor & Destructor Documentation

◆ AbstractHierarchyIterator()

blender::io::AbstractHierarchyIterator::AbstractHierarchyIterator ( Main * bmain,
Depsgraph * depsgraph )
explicit

Definition at line 174 of file abstract_hierarchy_iterator.cc.

◆ ~AbstractHierarchyIterator()

Member Function Documentation

◆ create_data_writer()

◆ create_hair_writer()

◆ create_particle_writer()

◆ create_transform_writer()

◆ determine_graph_index_dupli()

ObjectIdentifier blender::io::AbstractHierarchyIterator::determine_graph_index_dupli ( const HierarchyContext * context,
const DupliObject * dupli_object,
const DupliParentFinder & dupli_parent_finder )
protectedvirtual

Definition at line 503 of file abstract_hierarchy_iterator.cc.

◆ determine_graph_index_object()

◆ get_id_name()

std::string blender::io::AbstractHierarchyIterator::get_id_name ( const ID * id) const
virtual

Definition at line 218 of file abstract_hierarchy_iterator.cc.

◆ get_object_data_path()

Definition at line 243 of file abstract_hierarchy_iterator.cc.

◆ get_writer()

AbstractHierarchyWriter * blender::io::AbstractHierarchyIterator::get_writer ( const std::string & export_path) const
protected

Definition at line 806 of file abstract_hierarchy_iterator.cc.

◆ graph_children()

◆ include_child_writers()

virtual bool blender::io::AbstractHierarchyIterator::include_child_writers ( const HierarchyContext * ) const
inlineprotectedvirtual

Definition at line 388 of file IO_abstract_hierarchy_iterator.h.

◆ include_data_writers()

virtual bool blender::io::AbstractHierarchyIterator::include_data_writers ( const HierarchyContext * ) const
inlineprotectedvirtual

Definition at line 382 of file IO_abstract_hierarchy_iterator.h.

◆ iterate_and_write()

◆ make_unique_name()

std::string blender::io::AbstractHierarchyIterator::make_unique_name ( const std::string & original_name,
Set< std::string > & used_names )
virtual

Definition at line 227 of file abstract_hierarchy_iterator.cc.

◆ make_valid_name()

std::string blender::io::AbstractHierarchyIterator::make_valid_name ( const std::string & name) const
virtual

Definition at line 213 of file abstract_hierarchy_iterator.cc.

◆ mark_as_weak_export()

bool blender::io::AbstractHierarchyIterator::mark_as_weak_export ( const Object * object) const
protectedvirtual

Definition at line 835 of file abstract_hierarchy_iterator.cc.

◆ path_concatenate()

std::string blender::io::AbstractHierarchyIterator::path_concatenate ( const std::string & parent_path,
const std::string & child_path ) const
protectedvirtual

Definition at line 829 of file abstract_hierarchy_iterator.cc.

◆ release_writer()

◆ release_writers()

◆ set_export_subset()

◆ should_visit_dupli_object()

bool blender::io::AbstractHierarchyIterator::should_visit_dupli_object ( const DupliObject * dupli_object) const
protectedvirtual

Definition at line 839 of file abstract_hierarchy_iterator.cc.

Member Data Documentation

◆ bmain_

◆ depsgraph_

◆ duplisource_export_path_

◆ duplisources_

◆ export_graph_

◆ export_subset_

◆ used_names_

◆ writers_


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