33#include <NDEVR/Model.h>
34#include <NDEVR/Geometry.h>
48 , e_do_not_parse_children
63 bool process_material =
false;
64 bool process_geometry =
true;
65 bool process_model =
true;
66 bool post_process_model =
false;
67 bool depth_first =
true;
68 bool is_recursive =
true;
69 bool use_unit =
false;
A class for easily transversing a model heirarchy, applying an optional function at each level.
Definition ModelIterator.h:87
ParseResult process(Model &model, Geometry &geo) final override
std::function< ParseResult(Model &)> m_model_callback
Definition ModelIterator.h:106
void setCallback(const std::function< ParseResult(Model &, Geometry &)> &geo_callback)
BasicModelIterator(const Model &model)
std::function< ParseResult(Model &, Geometry &)> m_geo_callback
Definition ModelIterator.h:104
void setCallback(const std::function< ParseResult(Model &, Material &)> &material_callback)
BasicModelIterator(const std::function< ParseResult(Model &, Geometry &)> &geo_callback)
ParseResult process(Model &model, Material &mat) final override
BasicModelIterator(const Buffer< Model > &models)
ParseResult process(Model &model) final override
std::function< ParseResult(Model &, Material &)> m_material_callback
Definition ModelIterator.h:105
BasicModelIterator(const std::function< ParseResult(Model &)> &model_callback)
BasicModelIterator(const std::function< ParseResult(Model &, Material &)> &material_callback)
void setCallback(const std::function< ParseResult(Model &)> &model_callback)
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
A core class within the model heirarchy containing vertex-based data (Usually 3D data) within a set c...
Definition Geometry.h:64
Container responsible for storing and setting the appearance of a Model or Geometry within the NDEVR ...
Definition Material.h:51
A core class that represents a node on model heirarchy. This node may contain a Geometry or one or mo...
Definition Model.h:58
A base class for easily transversing a model heirarchy, applying an overritten function at each level...
Definition ModelIterator.h:43
Buffer< Model > m_model_parent_stack
Definition ModelIterator.h:81
ModelIterator(const Model &model)
std::function< bool(const Model &, const Geometry &)> geo_filter
Definition ModelIterator.h:59
virtual void parseAllModels()
void removeFromPostProcessStack()
virtual ParseResult process(Model &model, Material &mat)
ModelIterator(Buffer< Model > models)
void parseAll(const Model &model)
virtual ParseResult process(Model &model)
std::function< bool(const Model &, const Material &)> material_filter
Definition ModelIterator.h:60
Buffer< uint04 > m_model_parent_child_count
Definition ModelIterator.h:80
Model currentModel() const
Buffer< Model > m_model_stack
Definition ModelIterator.h:79
ParseResult
Definition ModelIterator.h:46
std::function< bool(const Model &)> model_filter
Definition ModelIterator.h:61
virtual ParseResult process(Model &model, Geometry &geo)
void parseAll(const Buffer< Model > &models)
virtual ParseResult postProcess(Model &model)
PrimitiveProperty
Definition DesignObjectBase.h:44