Blender  V3.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
blender::io::AbstractHierarchyIterator Class Referenceabstract

#include <IO_abstract_hierarchy_iterator.h>

Inheritance diagram for blender::io::AbstractHierarchyIterator:
blender::io::TestingHierarchyIterator blender::io::alembic::ABCHierarchyIterator blender::io::usd::USDHierarchyIterator

Public Types

typedef std::map< std::string, AbstractHierarchyWriter * > WriterMap
 
typedef std::set< HierarchyContext * > ExportChildren
 
typedef std::map< ObjectIdentifier, ExportChildrenExportGraph
 
typedef std::map< ID *, std::string > ExportPathMap
 

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 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 ExportGraph::key_type determine_graph_index_object (const HierarchyContext *context)
 
virtual ExportGraph::key_type 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
 
AbstractHierarchyWriterget_writer (const std::string &export_path) const
 
ExportChildrengraph_children (const HierarchyContext *parent_context)
 

Protected Attributes

ExportGraph export_graph_
 
ExportPathMap duplisource_export_path_
 
Mainbmain_
 
Depsgraphdepsgraph_
 
WriterMap writers_
 
ExportSubset export_subset_
 

Detailed Description

Definition at line 192 of file IO_abstract_hierarchy_iterator.h.

Member Typedef Documentation

◆ ExportChildren

Definition at line 197 of file IO_abstract_hierarchy_iterator.h.

◆ ExportGraph

Definition at line 199 of file IO_abstract_hierarchy_iterator.h.

◆ ExportPathMap

Definition at line 202 of file IO_abstract_hierarchy_iterator.h.

◆ WriterMap

Definition at line 195 of file IO_abstract_hierarchy_iterator.h.

Constructor & Destructor Documentation

◆ AbstractHierarchyIterator()

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

Definition at line 164 of file abstract_hierarchy_iterator.cc.

◆ ~AbstractHierarchyIterator()

blender::io::AbstractHierarchyIterator::~AbstractHierarchyIterator ( )
virtual

Definition at line 169 of file abstract_hierarchy_iterator.cc.

References BLI_assert, and writers_.

Member Function Documentation

◆ create_data_writer()

virtual AbstractHierarchyWriter* blender::io::AbstractHierarchyIterator::create_data_writer ( const HierarchyContext context)
protectedpure virtual

◆ create_hair_writer()

virtual AbstractHierarchyWriter* blender::io::AbstractHierarchyIterator::create_hair_writer ( const HierarchyContext context)
protectedpure virtual

◆ create_particle_writer()

virtual AbstractHierarchyWriter* blender::io::AbstractHierarchyIterator::create_particle_writer ( const HierarchyContext context)
protectedpure virtual

◆ create_transform_writer()

virtual AbstractHierarchyWriter* blender::io::AbstractHierarchyIterator::create_transform_writer ( const HierarchyContext context)
protectedpure virtual

◆ determine_graph_index_dupli()

AbstractHierarchyIterator::ExportGraph::key_type blender::io::AbstractHierarchyIterator::determine_graph_index_dupli ( const HierarchyContext context,
const DupliObject dupli_object,
const DupliParentFinder dupli_parent_finder 
)
protectedvirtual

◆ determine_graph_index_object()

AbstractHierarchyIterator::ExportGraph::key_type blender::io::AbstractHierarchyIterator::determine_graph_index_object ( const HierarchyContext context)
protectedvirtual

◆ get_id_name()

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

◆ get_object_data_path()

std::string blender::io::AbstractHierarchyIterator::get_object_data_path ( const HierarchyContext context) const
virtual

◆ get_writer()

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

◆ graph_children()

AbstractHierarchyIterator::ExportChildren & blender::io::AbstractHierarchyIterator::graph_children ( const HierarchyContext parent_context)
protected

◆ iterate_and_write()

void blender::io::AbstractHierarchyIterator::iterate_and_write ( )
virtual

◆ make_valid_name()

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

◆ mark_as_weak_export()

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

◆ path_concatenate()

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

Definition at line 735 of file abstract_hierarchy_iterator.cc.

Referenced by get_object_data_path().

◆ release_writer()

virtual void blender::io::AbstractHierarchyIterator::release_writer ( AbstractHierarchyWriter writer)
protectedpure virtual

◆ release_writers()

void blender::io::AbstractHierarchyIterator::release_writers ( )

◆ set_export_subset()

void blender::io::AbstractHierarchyIterator::set_export_subset ( ExportSubset  export_subset_)

Definition at line 198 of file abstract_hierarchy_iterator.cc.

References export_subset_.

Referenced by blender::io::alembic::export_startjob().

◆ should_visit_dupli_object()

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

Definition at line 745 of file abstract_hierarchy_iterator.cc.

References DupliObject::no_draw.

Member Data Documentation

◆ bmain_

Main* blender::io::AbstractHierarchyIterator::bmain_
protected

Definition at line 207 of file IO_abstract_hierarchy_iterator.h.

◆ depsgraph_

Depsgraph* blender::io::AbstractHierarchyIterator::depsgraph_
protected

Definition at line 208 of file IO_abstract_hierarchy_iterator.h.

◆ duplisource_export_path_

ExportPathMap blender::io::AbstractHierarchyIterator::duplisource_export_path_
protected

Definition at line 206 of file IO_abstract_hierarchy_iterator.h.

◆ export_graph_

ExportGraph blender::io::AbstractHierarchyIterator::export_graph_
protected

Definition at line 205 of file IO_abstract_hierarchy_iterator.h.

Referenced by graph_children().

◆ export_subset_

ExportSubset blender::io::AbstractHierarchyIterator::export_subset_
protected

Definition at line 210 of file IO_abstract_hierarchy_iterator.h.

Referenced by set_export_subset().

◆ writers_

WriterMap blender::io::AbstractHierarchyIterator::writers_
protected

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