API Documentation
Loading...
Searching...
No Matches
BasicModelIterator Class Reference

A class for easily transversing a model heirarchy, applying an optional function at each level. More...

#include <ModelIterator.h>

Inheritance diagram for BasicModelIterator:
[legend]
Collaboration diagram for BasicModelIterator:
[legend]

Public Member Functions

 BasicModelIterator ()
 
 BasicModelIterator (const Buffer< Model > &models)
 
 BasicModelIterator (const Model &model)
 
 BasicModelIterator (const std::function< ParseResult(Model &)> &model_callback)
 
 BasicModelIterator (const std::function< ParseResult(Model &, Geometry &)> &geo_callback)
 
 BasicModelIterator (const std::function< ParseResult(Model &, Material &)> &material_callback)
 
void setCallback (const std::function< ParseResult(Model &)> &model_callback)
 
void setCallback (const std::function< ParseResult(Model &, Geometry &)> &geo_callback)
 
void setCallback (const std::function< ParseResult(Model &, Material &)> &material_callback)
 
- Public Member Functions inherited from ModelIterator
Model currentModel () const
 
 ModelIterator ()
 
 ModelIterator (Buffer< Model > models)
 
 ModelIterator (const Model &model)
 
void parseAll ()
 
void parseAll (const Buffer< Model > &models)
 
void parseAll (const Model &model)
 
ParseResult parseNext ()
 

Protected Member Functions

ParseResult process (Model &model) final override
 
ParseResult process (Model &model, Geometry &geo) final override
 
ParseResult process (Model &model, Material &mat) final override
 
- Protected Member Functions inherited from ModelIterator
virtual void parseAllModels ()
 
Model popNextModel ()
 
virtual ParseResult postProcess (Model &model)
 
void removeFromPostProcessStack ()
 

Protected Attributes

std::function< ParseResult(Model &, Geometry &)> m_geo_callback
 
std::function< ParseResult(Model &, Material &)> m_material_callback
 
std::function< ParseResult(Model &)> m_model_callback
 
- Protected Attributes inherited from ModelIterator
Buffer< uint04m_model_parent_child_count
 
Buffer< Modelm_model_parent_stack
 
Buffer< Modelm_model_stack
 

Additional Inherited Members

- Public Types inherited from ModelIterator
enum  ParseResult { e_continue_parsing , e_do_not_parse_children , e_finish_parsing }
 
- Public Attributes inherited from ModelIterator
bool depth_first = true
 
std::function< bool(const Model &, const Geometry &)> geo_filter
 
bool is_recursive = true
 
std::function< bool(const Model &, const Material &)> material_filter
 
PrimitiveProperty material_property = PrimitiveProperty::Solid
 
std::function< bool(const Model &)> model_filter
 
bool post_process_model = false
 
bool process_geometry = true
 
bool process_material = false
 
bool process_model = true
 
bool use_unit = false
 

Detailed Description

A class for easily transversing a model heirarchy, applying an optional function at each level.


Constructor & Destructor Documentation

◆ BasicModelIterator() [1/6]

◆ BasicModelIterator() [2/6]

BasicModelIterator ( const Model & model)
explicit

◆ BasicModelIterator() [3/6]

BasicModelIterator ( const Buffer< Model > & models)
explicit

◆ BasicModelIterator() [4/6]

BasicModelIterator ( const std::function< ParseResult(Model &, Geometry &)> & geo_callback)
explicit

◆ BasicModelIterator() [5/6]

BasicModelIterator ( const std::function< ParseResult(Model &, Material &)> & material_callback)
explicit

◆ BasicModelIterator() [6/6]

BasicModelIterator ( const std::function< ParseResult(Model &)> & model_callback)
explicit

Member Function Documentation

◆ process() [1/3]

ParseResult process ( Model & model)
finaloverrideprotectedvirtual

Reimplemented from ModelIterator.

◆ process() [2/3]

ParseResult process ( Model & model,
Geometry & geo )
finaloverrideprotectedvirtual

Reimplemented from ModelIterator.

◆ process() [3/3]

ParseResult process ( Model & model,
Material & mat )
finaloverrideprotectedvirtual

Reimplemented from ModelIterator.

◆ setCallback() [1/3]

void setCallback ( const std::function< ParseResult(Model &)> & model_callback)

◆ setCallback() [2/3]

void setCallback ( const std::function< ParseResult(Model &, Geometry &)> & geo_callback)

◆ setCallback() [3/3]

void setCallback ( const std::function< ParseResult(Model &, Material &)> & material_callback)

Member Data Documentation

◆ m_geo_callback

std::function<ParseResult(Model&, Geometry&)> m_geo_callback
protected

◆ m_material_callback

std::function<ParseResult(Model&, Material&)> m_material_callback
protected

◆ m_model_callback

std::function<ParseResult(Model&)> m_model_callback
protected

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