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

#include <ModelIterator.h>

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

Public Types

enum  ParseResult { e_continue_parsing , e_do_not_parse_children , e_finish_parsing }
 

Public Member Functions

 ModelIterator ()
 
 ModelIterator (const Model &model)
 
 ModelIterator (Buffer< Model > models)
 
void parseAll (const Model &model)
 
void parseAll (const Buffer< Model > &models)
 
void parseAll ()
 
ParseResult parseNext ()
 
Model currentModel () const
 

Public Attributes

std::function< bool(const Model &, const Geometry &)> geo_filter
 
std::function< bool(const Model &, const Material &)> material_filter
 
std::function< bool(const Model &)> model_filter
 
bool process_material = false
 
bool process_geometry = true
 
bool process_model = true
 
bool post_process_model = false
 
bool depth_first = true
 
bool is_recursive = true
 
bool use_unit = false
 
PrimitiveProperty material_property = PrimitiveProperty::Solid
 

Protected Member Functions

virtual ParseResult process (Model &model)
 
virtual ParseResult process (Model &model, Material &mat)
 
virtual ParseResult process (Model &model, Geometry &geo)
 
virtual ParseResult postProcess (Model &model)
 
void removeFromPostProcessStack ()
 
virtual void _parseAll ()
 
Model popNextModel ()
 

Protected Attributes

Buffer< Modelm_model_stack
 
Buffer< uint04m_model_parent_child_count
 
Buffer< Modelm_model_parent_stack
 

Member Enumeration Documentation

◆ ParseResult

Enumerator
e_continue_parsing 
e_do_not_parse_children 
e_finish_parsing 

Constructor & Destructor Documentation

◆ ModelIterator() [1/3]

◆ ModelIterator() [2/3]

ModelIterator ( const Model & model)
explicit

◆ ModelIterator() [3/3]

ModelIterator ( Buffer< Model > models)
explicit

Member Function Documentation

◆ _parseAll()

void _parseAll ( )
protectedvirtual

◆ currentModel()

Model currentModel ( ) const

◆ parseAll() [1/3]

void parseAll ( )

◆ parseAll() [2/3]

void parseAll ( const Buffer< Model > & models)

◆ parseAll() [3/3]

void parseAll ( const Model & model)

◆ parseNext()


Fn: Buffer::decltype(auto) operator[](const uint04 index)

Constructor.

Author: Tyler Parke

Date: 2017-11-19

Parameters:

parameter1 - The first parameter.

◆ popNextModel()

Model popNextModel ( )
protected

◆ postProcess()

◆ process() [1/3]

◆ process() [2/3]

◆ process() [3/3]

◆ removeFromPostProcessStack()

void removeFromPostProcessStack ( )
protected

Member Data Documentation

◆ depth_first

bool depth_first = true

◆ geo_filter

std::function<bool(const Model&, const Geometry&)> geo_filter

◆ is_recursive

bool is_recursive = true

◆ m_model_parent_child_count

Buffer<uint04> m_model_parent_child_count
protected

◆ m_model_parent_stack

Buffer<Model> m_model_parent_stack
protected

◆ m_model_stack

Buffer<Model> m_model_stack
protected

◆ material_filter

std::function<bool(const Model&, const Material&)> material_filter

◆ material_property

◆ model_filter

std::function<bool(const Model&)> model_filter

◆ post_process_model

bool post_process_model = false

◆ process_geometry

bool process_geometry = true

◆ process_material

bool process_material = false

◆ process_model

bool process_model = true

◆ use_unit

bool use_unit = false

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