Blender  V2.93
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>

Inherited by blender::io::TestingHierarchyIterator, blender::io::alembic::ABCHierarchyIterator, and 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 (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_
 
Depsgraphdepsgraph_
 
WriterMap writers_
 
ExportSubset export_subset_
 

Detailed Description

Definition at line 208 of file IO_abstract_hierarchy_iterator.h.

Member Typedef Documentation

◆ ExportChildren

Definition at line 213 of file IO_abstract_hierarchy_iterator.h.

◆ ExportGraph

Definition at line 215 of file IO_abstract_hierarchy_iterator.h.

◆ ExportPathMap

Definition at line 218 of file IO_abstract_hierarchy_iterator.h.

◆ WriterMap

Definition at line 211 of file IO_abstract_hierarchy_iterator.h.

Constructor & Destructor Documentation

◆ AbstractHierarchyIterator()

blender::io::AbstractHierarchyIterator::AbstractHierarchyIterator ( Depsgraph depsgraph)
explicit

Definition at line 180 of file abstract_hierarchy_iterator.cc.

◆ ~AbstractHierarchyIterator()

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

Definition at line 185 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

Definition at line 233 of file abstract_hierarchy_iterator.cc.

References BLI_assert, context, and path_concatenate().

◆ 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 747 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 214 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 757 of file abstract_hierarchy_iterator.cc.

References DupliObject::no_draw.

Member Data Documentation

◆ depsgraph_

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

Definition at line 223 of file IO_abstract_hierarchy_iterator.h.

◆ duplisource_export_path_

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

Definition at line 222 of file IO_abstract_hierarchy_iterator.h.

◆ export_graph_

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

Definition at line 221 of file IO_abstract_hierarchy_iterator.h.

Referenced by graph_children().

◆ export_subset_

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

Definition at line 225 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: