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

A core class that represents a node on model heirarchy. This node may contain a Geometry or. More...

#include <Model.h>

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

Public Types

enum  DescendedFlags { e_descendent_selected = 0 , e_descendent_focussed = 1 , e_descendent_deletion_blocked = 2 }
 
enum  InheritedFlags : uint01 {
  e_inherited_is_visible = 0 , e_inherited_has_no_focus = 1 , e_inherited_is_tree_visible = 2 , e_inherited_not_selected = 3 ,
  e_inherited_is_manager_visible = 4 , e_inherited_can_delete = 5 , e_inherited_does_not_follow_camera = 6 , e_inherited_does_not_orient_to_camera = 7 ,
  e_inherited_does_not_scale_to_camera = 8 , e_inherited_not_deleted = 9 , e_inherited_not_application_owned = 10 , e_inherited_exportable = 11
}
 
enum class  MaterialMode { e_by_parent , e_by_layer , e_custom , e_hidden }
 
enum class  ModelColorMode { e_direct , e_by_selectable_children , e_by_material_root , e_by_layer }
 
enum  ModelProperty {
  e_type , e_fixed_bounding_box , e_visible_box , e_calculation_ignored ,
  e_can_select_children , e_complete_transform , e_material_mode_solid , e_material_mode_outline ,
  e_material_mode_vertices , e_parent_matrix_flags , e_global_bounds , e_global_selection_bounds ,
  e_model_color , e_inherited_flags , e_personal_inherited_flags , e_export_ignored ,
  e_descended_flags , e_personal_descended_flags , e_application_constructed , e_application_constructed_parent_base ,
  e_model_property_size
}
 
enum  ParentMatrixFlags : uint01 {
  e_ignore_offset = 0 , e_ignore_scale = 1 , e_ignore_rotation = 2 , e_ignore_scale_distortion = 3 ,
  e_use_only_for_offset = 4 , e_orient_to_camera = 5 , e_follow_camera = 6 , e_scale_to_camera = 7
}
 
- Public Types inherited from DesignObject
enum  DesignObjectType {
  e_model = 0x00000001 , e_geometry = 0x00000002 , e_material = 0x00000004 , e_bone = 0x00000008 ,
  e_effect = 0x00000010 , e_layer = 0x00000020 , e_scene = 0x00000040 , e_camera = 0x00000080 ,
  e_selection = 0x00000100
}
 
enum  DesignProperty {
  e_guid , e_design_types , e_transform , e_bounding_box ,
  e_selection_box , e_name , e_description , e_editable_description ,
  e_creation_time , e_modified_time , e_asc_modified_time , e_desc_modified_time ,
  e_bounds_modified_time , e_author , e_creation_software , e_3D_visible ,
  e_tree_visible , e_icon , e_is_selected , e_is_focused ,
  e_allow_interactions , e_file , e_search_terms , e_category ,
  e_deletion_allowed , e_is_deleted , e_is_application_locked , e_is_application_owned ,
  e_bounds_ignored , e_selection_ignored , e_meta_data , e_untranslated_string_data ,
  e_translated_string_data , e_uncompressed_data , e_compressed_data , e_manager_visible ,
  e_library_id , e_is_frozen , e_applied_filters , e_design_property_size
}
 

Public Member Functions

void addChild (Model &child)
 
void addChild (uint04 child_index)
 
void addPerVertexColorFromMaterialConstant (UVType constant_index)
 
Matrix< fltp08applyTransformToParent (const Matrix< fltp08 > &parent_mat) const
 
Vector< 3, fltp08calculateAverageDirection (const Matrix< fltp08 > &parent_transform=Constant< Matrix< fltp08 > >::Invalid) const
 
Vector< 2, fltp08calculateHVLength (const Matrix< fltp08 > &parent_transform=Constant< Matrix< fltp08 > >::Invalid) const
 
void calculateIndexNeighborList ()
 
fltp08 calculateLength (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const
 
void calculateNormals (NormalMode mode, Angle< fltp08 > smoothing_angle)
 
void calculateSmoothTextures (Vector< 3, fltp08 > origin, fltp08 scale)
 
fltp08 calculateSurfaceArea (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const
 
void calculateTangentSpace (bool calc_tan, bool calc_bitan)
 
fltp08 calculateVolume (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const
 
Vector< 2, fltp08calculateVolumeAndSurfaceArea (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid, const void *lock=nullptr) const
 
bool canExplode () const
 
bool canInteract () const
 
Vertex< 3, fltp08centerAlignModel ()
 
void checkBounds ()
 
uint04 childCount () const
 
void clearChildren ()
 
void clearLayer ()
 
void clearMaterialDescendents ()
 
void colorByChannel (Material &mat, const String &channel, fltp08 avg=Constant< fltp08 >::Invalid) const
 
Dictionary< UUID, DesignObjectcopyFrom (const Model &model, bool deep_copy, bool copy_ids=false, bool recursive=true)
 
Dictionary< UUID, DesignObjectcopyMaterialProperties (const Model &model)
 
Model createChild ()
 
Model createChild (uint04 child_slot)
 
Effect createChildEffect ()
 
Geometry createChildGeometry ()
 
Material createChildMaterial (bool copy_child=false)
 
Material createChildMaterial (PrimitiveProperty property, bool copy_child=false)
 
void createChildren (uint04 child_size)
 
Effect createSceneEffect () const
 
Geometry createSceneGeometry () const
 
Model createSceneLayer () const
 
Material createSceneMaterial () const
 
Model createSceneModel () const
 
RGBColor customModelColor (ModelColorMode mode) const
 
void deleteModel (bool delete_children, bool remove_from_parent=true)
 
BitFlag descendedFlags () const
 
BitFlag descendedFlagsNoCache (bool complete_cache_ignore) const
 
BitFlag descendedPersonalFlagsNoCache () const
 
Buffer< GeometryTypedescendentGeometryTypes () const
 
TranslatedString displayName () const
 
TranslatedString displayNamePath (const String &seperator=":") const
 
bool doesModelPropertyContain (ModelProperty property, const char *value, bool ignore_case) const
 
bool doesModelPropertyContain (ModelProperty property, const String &value, bool ignore_case) const
 
void eraseModel ()
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > explodeModel ()
 
bool exportIgnored () const
 
Model findDescendentByName (const String &name) const
 
Model findDescendentByType (const String &type) const
 
Time getAscModifiedTime (bool include_self, bool include_layer=true) const
 
Bounds< 3, fltp08getBounds () const
 
Bounds< 3, fltp08getBoundsOfVisible () const
 
Model getChild (uint04 child) const
 
uint04 getChildIndex () const
 
uint04 getChildIndex (uint04 child) const
 
Buffer< uint04getChildIndices () const
 
uint04 getChildLayerIndex () const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildren () const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByName (const String &name) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByType (const Buffer< String > &type) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByType (const String &type) const
 
Buffer< UUIDgetChildrenIDs () const
 
Buffer< std::pair< Model, Geometry >, uint04, ObjectAllocator< DESIGN_PRIM > > getClippingGeometry () const
 
Matrix< fltp08getCompleteTransform () const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendents (bool include_deleted=false, bool local_only=false) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByName (const String &name, uint04 max_count=Constant< uint04 >::Max) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByNameAndType (const String &name, const String &type, uint04 max_count=Constant< uint04 >::Max) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByType (const String &type, uint04 max_count=Constant< uint04 >::Max) const
 
Time getDescModifiedTime (bool include_self) const
 
uint04 getDirectLayerIndex () const
 
Effect getEffect (uint04 index=0) const
 
Buffer< Effect, uint04, ObjectAllocator< false > > getEffectChildren () const
 
Buffer< Effect, uint04, ObjectAllocator< false > > getEffectDescendents () const
 
uint04 getEffectIndex (uint04 child_index=0) const
 
Model getFamilyMember (uint04 index) const
 
Geometry getGeometry () const
 
Buffer< Geometry, uint04, ObjectAllocator< DESIGN_PRIM > > getGeometryDescendents (bool remove_redundant=true, uint04 max_count=Constant< uint04 >::Max) const
 
uint04 getGeometryIndex () const
 
Model getLayer () const
 
Material getMaterial (PrimitiveProperty property) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialChildren () const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendents (bool local_only=false) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendents (PrimitiveProperty property) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendentsByName (const String &name, uint04 max_count=Constant< uint04 >::Max) const
 
uint04 getMaterialIndex (PrimitiveProperty property) const
 
MaterialMode getMaterialMode (PrimitiveProperty property) const
 
String getModelIcon () const
 
template<class t_type >
t_type getModelProperty (ModelProperty property) const
 
uint04 getNumOfEffects () const
 
Model getParent () const
 
uint04 getParentIndex () const
 
Matrix< fltp08getParentTransform () const
 
Material getRootMaterial (PrimitiveProperty property) const
 
Model getRootMaterialModel (PrimitiveProperty property)
 
Effect getSceneEffect (UUID id) const
 
Buffer< Effect, uint04, ObjectAllocator< false > > getSceneEffects () const
 
Buffer< Geometry, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneGeometries () const
 
Geometry getSceneGeometry (uint04 index) const
 
Geometry getSceneGeometry (UUID id) const
 
Model getSceneLayer (UUID id) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneLayers (bool include_deleted=false) const
 
Material getSceneMaterial (uint04 index) const
 
Material getSceneMaterial (UUID id) const
 
Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneMaterials () const
 
Model getSceneModel (UUID id) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModels (bool include_deleted=false, bool local_only=false) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModelsByName (const String &name, uint04 max_count=Constant< uint04 >::Max, bool include_deleted=false) const
 
Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModelsByType (const String &type, uint04 max_count=Constant< uint04 >::Max, bool include_deleted=false) const
 
Bounds< 3, fltp08getSelectionBounds () const
 
template<class t_type >
Buffer< t_type > getTypeChildren (const String &type) const
 
template<class t_type >
Buffer< t_type > getTypeDescendents (const String &type) const
 
Bounds< 3, fltp08globalBounds () const
 
Vertex< 3, fltp08globalCenterOfRotation () const
 
Bounds< 3, fltp08globalSelectionBounds () const
 
bool hasChild (uint04 child_index) const
 
bool hasDescendent (const Model &model) const
 
bool hasDescendent (const UUID &id) const
 
void hasDescendents (bool &has_point, bool &has_line, bool &has_mesh) const
 
bool hasDirectLayer () const
 
bool hasEffect (uint04 index=0) const
 
bool hasFocus () const
 
bool hasGeometryDescendent () const
 
bool hasHoles (PrimitiveProperty property) const
 
bool hasLayer () const
 
bool hasLayerRootMaterial (PrimitiveProperty property) const
 
bool hasLinearDescendent () const
 
bool hasMaterial () const
 
bool hasMaterial (PrimitiveProperty property) const
 
bool hasMeshDescendent () const
 
bool hasPointsDescendent () const
 
bool hasSelectedDescendent () const
 
Vector< 32, bool > inheritedFlags () const
 
Vector< 32, bool > inheritedFlagsNoCache (bool complete_cache_ignore) const
 
Vector< 32, bool > inheritedPersonalFlagsNoCache () const
 
void invalidateBounds ()
 
void invalidateGlobalBoundsAsc ()
 
void invalidateGlobalBoundsDesc ()
 
void invalidateTransformCache ()
 
void invalidateVisibleBounds ()
 
bool isApplicationOwned () const
 
bool isDeleted () const
 
bool isLayer () const
 
bool isLocked () const
 
bool isModelProperty (ModelProperty property, const char *value) const
 
bool isModelProperty (ModelProperty property, const String &value) const
 
bool isOfType (const char *type) const
 
bool isOfType (const String &type) const
 
bool isScene () const
 
bool isSelected () const
 
bool isTreeVisible () const
 
bool isVisible () const
 
 Model ()
 
 Model (const DesignObject &obj)
 
 Model (DesignObjectBase *base)
 
 Model (uint04 index, DesignObjectBase *base)
 
 operator bool () const
 
void overrideMaterialDescendents (MaterialMode vertex, MaterialMode outline, MaterialMode solid)
 
void overrideMaterialDescendents (PrimitiveProperty property, MaterialMode override_desc)
 
BitFlag parentMatrixFlags () const
 
BitFlag personalDescendedFlags () const
 
Vector< 32, bool > personalInheritedFlags () const
 
void removeChild (const Model &model)
 
void removeDuplicateVertices (fltp08 epsilon, void *lock, ProgressInfo *log=nullptr)
 
void removeGeometry ()
 
void removeMaterial (const Material &material)
 
void removeMaterial (PrimitiveProperty property)
 
void restoreModel ()
 
void setChildIndex (uint04 child, uint04 id)
 
void setGeometryChild (const Geometry &geo)
 
void setGeometryChild (uint04 geo_index)
 
void setIsLayer (bool is_layer)
 
void setLayer (Model layer)
 
void setMaterial (const Material &material)
 
void setMaterial (PrimitiveProperty property, const Material &material)
 
void setMaterial (PrimitiveProperty property, uint04 material_index)
 
void setMaterial (uint04 material_index)
 
void setMaterialMode (MaterialMode vertex, MaterialMode outline, MaterialMode solid)
 
void setMaterialMode (PrimitiveProperty property, MaterialMode option)
 
template<class t_type >
void setModelProperty (ModelProperty property, const t_type &value)
 
void setNormalMode (NormalMode mode, Angle< fltp08 > smoothing_angle, ProgressInfo *log)
 
void setOrientation (const Vector< 3, Angle< fltp08 > > &new_orientation, const void *lock=nullptr)
 
void setOrientation (const Vector< 3, Angle< sint04 > > &new_orientation, const void *lock=nullptr)
 
void setParentMatrixFlag (ParentMatrixFlags flag, bool value)
 
void setParentMatrixFlags (BitFlag flags)
 
void setSize (const Vector< 3, fltp08 > &size)
 
void setTransform (const Matrix< fltp08 > &transform)
 
void setWindingMode (WindingMode mode)
 
Vector< 3, fltp08size () const
 
void swapChildren (uint04 a, uint04 b)
 
void updateAscTime (const Time &time, bool include_self)
 
void updateDescendedFlagsCache (bool force_update_all=false)
 
void updateDescTime (const Time &time, bool include_self)
 
void updateFrom (const Model &model, bool check_resources)
 
void updateInheritedFlagsCache (bool force_update_all=false, bool update_personal_flags=false)
 
template<class t_type >
void updateModelProperty (ModelProperty property, const t_type &type, const void *lock_ptr=nullptr)
 
void updateModifiedTime (Time time=Time::SystemTime())
 
void updateTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr)
 
void updateVisible (bool is_visible)
 
void updateVisibleRecursive (bool is_visible)
 
void validate (bool validate_children=true) const
 
uint04 vertexCount () const
 
uint04 visibleVertexCount () const
 
- Public Member Functions inherited from DesignObject
void actionDeletedIndex (uint04 index, uint04 size)
 
JSONNode activeFilters () const
 
void addIndex (uint04 index, uint04 size)
 
void appendData (const String &data, bool compressed)
 
DesignObjectBasebase () const
 
void clearMetaData (const String &index)
 
void copyFrom (const DesignObject &object)
 
uint04 designIndex () const
 
 DesignObject ()=default
 
 DesignObject (DesignObjectBase *base)
 
 DesignObject (uint04 index, DesignObjectBase *base)
 
bool doesPropertyBeginWith (DesignProperty property, const char *value, bool ignore_case) const
 
bool doesPropertyBeginWith (DesignProperty property, const String &value, bool ignore_case) const
 
bool doesPropertyContain (DesignProperty property, const char *value, bool ignore_case) const
 
bool doesPropertyContain (DesignProperty property, const String &value, bool ignore_case) const
 
File file () const
 
uint04 getDesignParentIndex () const
 
String getIcon () const
 
template<class t_type >
t_type getInheritedProperty (DesignProperty property) const
 
Time getModifiedTime () const
 
template<class t_type >
t_type getProperty (DesignProperty property) const
 
Scene getScene () const
 
Matrix< fltp08getTransform () const
 
bool hasMetaData (const String &index) const
 
template<class t_type >
bool hasProperty (DesignProperty property) const
 
uint04 index () const
 
bool isDesignType (DesignObjectType mode) const
 
bool isDesignType (uint04 mode) const
 
bool isProperty (DesignProperty property, const char *value) const
 
bool isProperty (DesignProperty property, const String &value) const
 
bool isValid () const
 
const JSONNodemetaData () const
 
const JSONNodemetaData (const String &index) const
 
void offset (const Vector< 3, fltp08 > &offset)
 
 operator bool () const
 
bool operator!= (const DesignObject &model) const
 
bool operator< (const DesignObject &model) const
 
bool operator== (const DesignObject &model) const
 
bool operator> (const DesignObject &model) const
 
DynamicPointer< Table > & propertyTable ()
 
const DynamicPointer< Table > & propertyTable () const
 
void removeMetaData (const String &index, const void *lock_ptr=nullptr)
 
void scale (Vector< 3, fltp08 > scale, Vertex< 3, fltp08 > center_of_scale=Constant< Vertex< 3, fltp08 > >::Invalid)
 
void setActiveFilters (const JSONNode &node)
 
void setDesignType (DesignObjectType mode, bool is_type)
 
void setDesignVisible (bool is_visible)
 
void setMetaData (const JSONNode &node)
 
void setMetaData (const String &index, const bool &data)
 
void setMetaData (const String &index, const fltp08 &data)
 
void setMetaData (const String &index, const JSONNode &node)
 
void setMetaData (const String &index, const String &data)
 
void setMetaData (const String &index, const uint04 &data)
 
template<>
void setProperty (DesignProperty property, const String &value)
 
template<class t_type >
void setProperty (DesignProperty property, const t_type &value)
 
template<>
void setProperty (DesignProperty property, const UUID &value)
 
void updateCreatedTime ()
 
void updateDesignModifiedTime (Time time=Time::SystemTime())
 
void updateDesignTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr)
 
void updateDesignVisible (bool is_visible, const void *lock=nullptr)
 
void updateMetaData (const String &index, const bool &data, const void *lock_ptr=nullptr)
 
void updateMetaData (const String &index, const fltp08 &data, const void *lock_ptr=nullptr)
 
void updateMetaData (const String &index, const String &data, const void *lock_ptr=nullptr)
 
template<class t_type >
void updateProperty (DesignProperty property, const t_type &value, const void *lock=nullptr)
 
UUID uuid () const
 
bool validateDesignObject () const
 

Static Public Member Functions

static Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > ReduceToRoots (const Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > &children, const std::function< bool(const Model &, const Set< Model > &)> &filter)
 
- Static Public Member Functions inherited from DesignObject
static constexpr const char * FilePathDesignNameVariable ()
 

Protected Member Functions

DesignObjectBasechildBase () const
 
uint04 childToParentReference () const
 
DesignObjectBaseparentBase () const
 
uint04 parentToChildReference () const
 
- Protected Member Functions inherited from DesignObject
void onNameChange (const String &new_name)
 

Additional Inherited Members

- Protected Attributes inherited from DesignObject
DesignObjectBasem_base = nullptr
 
uint04 m_design_index = Constant<uint04>::Invalid
 
uint04 m_index = Constant<uint04>::Invalid
 
UUID m_uuid = Constant<UUID>::Invalid
 

Detailed Description

A core class that represents a node on model heirarchy. This node may contain a Geometry or.


one or more child Models as well as 3 different materials for rendering the Geometry parts.

Member Enumeration Documentation

◆ DescendedFlags

Enumerator
e_descendent_selected 
e_descendent_focussed 
e_descendent_deletion_blocked 

◆ InheritedFlags

Enumerator
e_inherited_is_visible 
e_inherited_has_no_focus 
e_inherited_is_tree_visible 
e_inherited_not_selected 
e_inherited_is_manager_visible 
e_inherited_can_delete 
e_inherited_does_not_follow_camera 
e_inherited_does_not_orient_to_camera 
e_inherited_does_not_scale_to_camera 
e_inherited_not_deleted 
e_inherited_not_application_owned 
e_inherited_exportable 

◆ MaterialMode

enum class MaterialMode
strong
Enumerator
e_by_parent 
e_by_layer 
e_custom 
e_hidden 

◆ ModelColorMode

enum class ModelColorMode
strong
Enumerator
e_direct 
e_by_selectable_children 
e_by_material_root 
e_by_layer 

◆ ModelProperty

Enumerator
e_type 
e_fixed_bounding_box 
e_visible_box 
e_calculation_ignored 
e_can_select_children 
e_complete_transform 
e_material_mode_solid 
e_material_mode_outline 
e_material_mode_vertices 
e_parent_matrix_flags 
e_global_bounds 
e_global_selection_bounds 
e_model_color 
e_inherited_flags 
e_personal_inherited_flags 
e_export_ignored 
e_descended_flags 
e_personal_descended_flags 
e_application_constructed 
e_application_constructed_parent_base 
e_model_property_size 

◆ ParentMatrixFlags

Enumerator
e_ignore_offset 
e_ignore_scale 
e_ignore_rotation 
e_ignore_scale_distortion 
e_use_only_for_offset 
e_orient_to_camera 
e_follow_camera 
e_scale_to_camera 

Constructor & Destructor Documentation

◆ Model() [1/4]

Model ( )
inline

◆ Model() [2/4]

◆ Model() [3/4]

Model ( uint04 index,
DesignObjectBase * base )

◆ Model() [4/4]

Model ( const DesignObject & obj)
explicit

Member Function Documentation

◆ addChild() [1/2]

void addChild ( Model & child)

◆ addChild() [2/2]

void addChild ( uint04 child_index)

◆ addPerVertexColorFromMaterialConstant()

void addPerVertexColorFromMaterialConstant ( UVType constant_index)

◆ applyTransformToParent()

Matrix< fltp08 > applyTransformToParent ( const Matrix< fltp08 > & parent_mat) const

◆ calculateAverageDirection()

Vector< 3, fltp08 > calculateAverageDirection ( const Matrix< fltp08 > & parent_transform = ConstantMatrixfltp08 > >::Invalid) const
nodiscard

◆ calculateHVLength()

Vector< 2, fltp08 > calculateHVLength ( const Matrix< fltp08 > & parent_transform = ConstantMatrixfltp08 > >::Invalid) const
nodiscard

◆ calculateIndexNeighborList()

void calculateIndexNeighborList ( )

◆ calculateLength()

fltp08 calculateLength ( const Matrix< fltp08 > & transform = ConstantMatrixfltp08 > >::Invalid) const
nodiscard

◆ calculateNormals()

void calculateNormals ( NormalMode mode,
Angle< fltp08 > smoothing_angle )

◆ calculateSmoothTextures()

void calculateSmoothTextures ( Vector< 3, fltp08 > origin,
fltp08 scale )

◆ calculateSurfaceArea()

fltp08 calculateSurfaceArea ( const Matrix< fltp08 > & transform = ConstantMatrixfltp08 > >::Invalid) const
nodiscard

◆ calculateTangentSpace()

void calculateTangentSpace ( bool calc_tan,
bool calc_bitan )

◆ calculateVolume()

fltp08 calculateVolume ( const Matrix< fltp08 > & transform = ConstantMatrixfltp08 > >::Invalid) const
nodiscard

◆ calculateVolumeAndSurfaceArea()

Vector< 2, fltp08 > calculateVolumeAndSurfaceArea ( const Matrix< fltp08 > & transform = ConstantMatrixfltp08 > >::Invalid,
const void * lock = nullptr ) const
nodiscard

◆ canExplode()

bool canExplode ( ) const
nodiscard

◆ canInteract()

bool canInteract ( ) const
nodiscard

◆ centerAlignModel()

Vertex< 3, fltp08 > centerAlignModel ( )

◆ checkBounds()

void checkBounds ( )

◆ childBase()

DesignObjectBase * childBase ( ) const
protected

◆ childCount()

uint04 childCount ( ) const
nodiscard

◆ childToParentReference()

uint04 childToParentReference ( ) const
protected

◆ clearChildren()

void clearChildren ( )

◆ clearLayer()

void clearLayer ( )

◆ clearMaterialDescendents()

void clearMaterialDescendents ( )

◆ colorByChannel()

void colorByChannel ( Material & mat,
const String & channel,
fltp08 avg = Constantfltp08 >::Invalid ) const

◆ copyFrom()

Dictionary< UUID, DesignObject > copyFrom ( const Model & model,
bool deep_copy,
bool copy_ids = false,
bool recursive = true )

◆ copyMaterialProperties()

Dictionary< UUID, DesignObject > copyMaterialProperties ( const Model & model)

◆ createChild() [1/2]

Model createChild ( )

◆ createChild() [2/2]

Model createChild ( uint04 child_slot)

◆ createChildEffect()

Effect createChildEffect ( )

◆ createChildGeometry()

Geometry createChildGeometry ( )

◆ createChildMaterial() [1/2]

Material createChildMaterial ( bool copy_child = false)

◆ createChildMaterial() [2/2]

Material createChildMaterial ( PrimitiveProperty property,
bool copy_child = false )

◆ createChildren()

void createChildren ( uint04 child_size)

◆ createSceneEffect()

Effect createSceneEffect ( ) const

◆ createSceneGeometry()

Geometry createSceneGeometry ( ) const

◆ createSceneLayer()

Model createSceneLayer ( ) const

◆ createSceneMaterial()

Material createSceneMaterial ( ) const

◆ createSceneModel()

Model createSceneModel ( ) const

◆ customModelColor()

RGBColor customModelColor ( ModelColorMode mode) const

◆ deleteModel()

void deleteModel ( bool delete_children,
bool remove_from_parent = true )

◆ descendedFlags()

BitFlag descendedFlags ( ) const
nodiscard

◆ descendedFlagsNoCache()

BitFlag descendedFlagsNoCache ( bool complete_cache_ignore) const
nodiscard

◆ descendedPersonalFlagsNoCache()

BitFlag descendedPersonalFlagsNoCache ( ) const
nodiscard

◆ descendentGeometryTypes()

Buffer< GeometryType > descendentGeometryTypes ( ) const

◆ displayName()

TranslatedString displayName ( ) const
nodiscard

◆ displayNamePath()

TranslatedString displayNamePath ( const String & seperator = ":") const
nodiscard

◆ doesModelPropertyContain() [1/2]

bool doesModelPropertyContain ( ModelProperty property,
const char * value,
bool ignore_case ) const
inline

◆ doesModelPropertyContain() [2/2]

bool doesModelPropertyContain ( ModelProperty property,
const String & value,
bool ignore_case ) const
inline

◆ eraseModel()

void eraseModel ( )

◆ explodeModel()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > explodeModel ( )

◆ exportIgnored()

bool exportIgnored ( ) const
nodiscard

◆ findDescendentByName()

Model findDescendentByName ( const String & name) const
nodiscard

◆ findDescendentByType()

Model findDescendentByType ( const String & type) const
nodiscard

◆ getAscModifiedTime()

Time getAscModifiedTime ( bool include_self,
bool include_layer = true ) const
nodiscard

◆ getBounds()

Bounds< 3, fltp08 > getBounds ( ) const
nodiscard

◆ getBoundsOfVisible()

Bounds< 3, fltp08 > getBoundsOfVisible ( ) const
nodiscard

◆ getChild()

Model getChild ( uint04 child) const
nodiscard

◆ getChildIndex() [1/2]

uint04 getChildIndex ( ) const
nodiscard

◆ getChildIndex() [2/2]

uint04 getChildIndex ( uint04 child) const
nodiscard

◆ getChildIndices()

Buffer< uint04 > getChildIndices ( ) const
nodiscard

◆ getChildLayerIndex()

uint04 getChildLayerIndex ( ) const
nodiscard

◆ getChildren()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildren ( ) const
nodiscard

◆ getChildrenByName()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByName ( const String & name) const
nodiscard

◆ getChildrenByType() [1/2]

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByType ( const Buffer< String > & type) const
nodiscard

◆ getChildrenByType() [2/2]

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getChildrenByType ( const String & type) const
nodiscard

◆ getChildrenIDs()

Buffer< UUID > getChildrenIDs ( ) const
nodiscard

◆ getClippingGeometry()

Buffer< std::pair< Model, Geometry >, uint04, ObjectAllocator< DESIGN_PRIM > > getClippingGeometry ( ) const
nodiscard

◆ getCompleteTransform()

Matrix< fltp08 > getCompleteTransform ( ) const
nodiscard

◆ getDescendents()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendents ( bool include_deleted = false,
bool local_only = false ) const
nodiscard

◆ getDescendentsByName()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByName ( const String & name,
uint04 max_count = Constantuint04 >::Max ) const
nodiscard

◆ getDescendentsByNameAndType()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByNameAndType ( const String & name,
const String & type,
uint04 max_count = Constantuint04 >::Max ) const
nodiscard

◆ getDescendentsByType()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getDescendentsByType ( const String & type,
uint04 max_count = Constantuint04 >::Max ) const
nodiscard

◆ getDescModifiedTime()

Time getDescModifiedTime ( bool include_self) const
nodiscard

◆ getDirectLayerIndex()

uint04 getDirectLayerIndex ( ) const
nodiscard

◆ getEffect()

Effect getEffect ( uint04 index = 0) const
nodiscard

◆ getEffectChildren()

Buffer< Effect, uint04, ObjectAllocator< false > > getEffectChildren ( ) const
nodiscard

◆ getEffectDescendents()

Buffer< Effect, uint04, ObjectAllocator< false > > getEffectDescendents ( ) const
nodiscard

◆ getEffectIndex()

uint04 getEffectIndex ( uint04 child_index = 0) const
nodiscard

◆ getFamilyMember()

Model getFamilyMember ( uint04 index) const
nodiscard

◆ getGeometry()

Geometry getGeometry ( ) const
nodiscard

◆ getGeometryDescendents()

Buffer< Geometry, uint04, ObjectAllocator< DESIGN_PRIM > > getGeometryDescendents ( bool remove_redundant = true,
uint04 max_count = Constantuint04 >::Max ) const
nodiscard

◆ getGeometryIndex()

uint04 getGeometryIndex ( ) const
nodiscard

◆ getLayer()

Model getLayer ( ) const
nodiscard

◆ getMaterial()

Material getMaterial ( PrimitiveProperty property) const
nodiscard

◆ getMaterialChildren()

Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialChildren ( ) const
nodiscard

◆ getMaterialDescendents() [1/2]

Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendents ( bool local_only = false) const
nodiscard

◆ getMaterialDescendents() [2/2]

Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendents ( PrimitiveProperty property) const
nodiscard

◆ getMaterialDescendentsByName()

Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getMaterialDescendentsByName ( const String & name,
uint04 max_count = Constantuint04 >::Max ) const
nodiscard

◆ getMaterialIndex()

uint04 getMaterialIndex ( PrimitiveProperty property) const
nodiscard

◆ getMaterialMode()

MaterialMode getMaterialMode ( PrimitiveProperty property) const

◆ getModelIcon()

String getModelIcon ( ) const

◆ getModelProperty()

template<class t_type >
t_type getModelProperty ( ModelProperty property) const
inline

◆ getNumOfEffects()

uint04 getNumOfEffects ( ) const
nodiscard

◆ getParent()

Model getParent ( ) const

◆ getParentIndex()

uint04 getParentIndex ( ) const

◆ getParentTransform()

Matrix< fltp08 > getParentTransform ( ) const
nodiscard

◆ getRootMaterial()

Material getRootMaterial ( PrimitiveProperty property) const
nodiscard

◆ getRootMaterialModel()

Model getRootMaterialModel ( PrimitiveProperty property)
nodiscard

◆ getSceneEffect()

Effect getSceneEffect ( UUID id) const
nodiscard

◆ getSceneEffects()

Buffer< Effect, uint04, ObjectAllocator< false > > getSceneEffects ( ) const
nodiscard

◆ getSceneGeometries()

Buffer< Geometry, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneGeometries ( ) const
nodiscard

◆ getSceneGeometry() [1/2]

Geometry getSceneGeometry ( uint04 index) const
nodiscard

◆ getSceneGeometry() [2/2]

Geometry getSceneGeometry ( UUID id) const
nodiscard

◆ getSceneLayer()

Model getSceneLayer ( UUID id) const

◆ getSceneLayers()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneLayers ( bool include_deleted = false) const
nodiscard

◆ getSceneMaterial() [1/2]

Material getSceneMaterial ( uint04 index) const
nodiscard

◆ getSceneMaterial() [2/2]

Material getSceneMaterial ( UUID id) const
nodiscard

◆ getSceneMaterials()

Buffer< Material, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneMaterials ( ) const
nodiscard

◆ getSceneModel()

Model getSceneModel ( UUID id) const

◆ getSceneModels()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModels ( bool include_deleted = false,
bool local_only = false ) const
nodiscard

◆ getSceneModelsByName()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModelsByName ( const String & name,
uint04 max_count = Constantuint04 >::Max,
bool include_deleted = false ) const
nodiscard

◆ getSceneModelsByType()

Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > getSceneModelsByType ( const String & type,
uint04 max_count = Constantuint04 >::Max,
bool include_deleted = false ) const
nodiscard

◆ getSelectionBounds()

Bounds< 3, fltp08 > getSelectionBounds ( ) const
nodiscard

◆ getTypeChildren()

template<class t_type >
Buffer< t_type > getTypeChildren ( const String & type) const
inlinenodiscard

◆ getTypeDescendents()

template<class t_type >
Buffer< t_type > getTypeDescendents ( const String & type) const
inlinenodiscard

◆ globalBounds()

Bounds< 3, fltp08 > globalBounds ( ) const
nodiscard

◆ globalCenterOfRotation()

Vertex< 3, fltp08 > globalCenterOfRotation ( ) const
nodiscard

◆ globalSelectionBounds()

Bounds< 3, fltp08 > globalSelectionBounds ( ) const
nodiscard

◆ hasChild()

bool hasChild ( uint04 child_index) const
nodiscard

◆ hasDescendent() [1/2]

bool hasDescendent ( const Model & model) const
nodiscard

◆ hasDescendent() [2/2]

bool hasDescendent ( const UUID & id) const
nodiscard

◆ hasDescendents()

void hasDescendents ( bool & has_point,
bool & has_line,
bool & has_mesh ) const

◆ hasDirectLayer()

bool hasDirectLayer ( ) const
nodiscard

◆ hasEffect()

bool hasEffect ( uint04 index = 0) const
nodiscard

◆ hasFocus()

bool hasFocus ( ) const
nodiscard

◆ hasGeometryDescendent()

bool hasGeometryDescendent ( ) const

◆ hasHoles()

bool hasHoles ( PrimitiveProperty property) const

◆ hasLayer()

bool hasLayer ( ) const

◆ hasLayerRootMaterial()

bool hasLayerRootMaterial ( PrimitiveProperty property) const
nodiscard

◆ hasLinearDescendent()

bool hasLinearDescendent ( ) const

◆ hasMaterial() [1/2]

bool hasMaterial ( ) const
nodiscard

◆ hasMaterial() [2/2]

bool hasMaterial ( PrimitiveProperty property) const
nodiscard

◆ hasMeshDescendent()

bool hasMeshDescendent ( ) const

◆ hasPointsDescendent()

bool hasPointsDescendent ( ) const

◆ hasSelectedDescendent()

bool hasSelectedDescendent ( ) const
nodiscard

◆ inheritedFlags()

Vector< 32, bool > inheritedFlags ( ) const
nodiscard

◆ inheritedFlagsNoCache()

Vector< 32, bool > inheritedFlagsNoCache ( bool complete_cache_ignore) const
nodiscard

◆ inheritedPersonalFlagsNoCache()

Vector< 32, bool > inheritedPersonalFlagsNoCache ( ) const
nodiscard

◆ invalidateBounds()

void invalidateBounds ( )

◆ invalidateGlobalBoundsAsc()

void invalidateGlobalBoundsAsc ( )

◆ invalidateGlobalBoundsDesc()

void invalidateGlobalBoundsDesc ( )

◆ invalidateTransformCache()

void invalidateTransformCache ( )

◆ invalidateVisibleBounds()

void invalidateVisibleBounds ( )

◆ isApplicationOwned()

bool isApplicationOwned ( ) const
nodiscard

◆ isDeleted()

bool isDeleted ( ) const

◆ isLayer()

bool isLayer ( ) const

◆ isLocked()

bool isLocked ( ) const
nodiscard

◆ isModelProperty() [1/2]

bool isModelProperty ( ModelProperty property,
const char * value ) const
inline

◆ isModelProperty() [2/2]

bool isModelProperty ( ModelProperty property,
const String & value ) const
inline

◆ isOfType() [1/2]

bool isOfType ( const char * type) const
nodiscard

◆ isOfType() [2/2]

bool isOfType ( const String & type) const
nodiscard

◆ isScene()

bool isScene ( ) const

◆ isSelected()

bool isSelected ( ) const
nodiscard

◆ isTreeVisible()

bool isTreeVisible ( ) const
nodiscard

◆ isVisible()

bool isVisible ( ) const
nodiscard

◆ operator bool()

operator bool ( ) const
inline

◆ overrideMaterialDescendents() [1/2]

void overrideMaterialDescendents ( MaterialMode vertex,
MaterialMode outline,
MaterialMode solid )

◆ overrideMaterialDescendents() [2/2]

void overrideMaterialDescendents ( PrimitiveProperty property,
MaterialMode override_desc )

◆ parentBase()

DesignObjectBase * parentBase ( ) const
protected

◆ parentMatrixFlags()

BitFlag parentMatrixFlags ( ) const

◆ parentToChildReference()

uint04 parentToChildReference ( ) const
protected

◆ personalDescendedFlags()

BitFlag personalDescendedFlags ( ) const
nodiscard

◆ personalInheritedFlags()

Vector< 32, bool > personalInheritedFlags ( ) const
nodiscard

◆ ReduceToRoots()

static Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > ReduceToRoots ( const Buffer< Model, uint04, ObjectAllocator< DESIGN_PRIM > > & children,
const std::function< bool(const Model &, const Set< Model > &)> & filter )
static

◆ removeChild()

void removeChild ( const Model & model)

◆ removeDuplicateVertices()

void removeDuplicateVertices ( fltp08 epsilon,
void * lock,
ProgressInfo * log = nullptr )

◆ removeGeometry()

void removeGeometry ( )

◆ removeMaterial() [1/2]

void removeMaterial ( const Material & material)

◆ removeMaterial() [2/2]

void removeMaterial ( PrimitiveProperty property)

◆ restoreModel()

void restoreModel ( )

◆ setChildIndex()

void setChildIndex ( uint04 child,
uint04 id )

◆ setGeometryChild() [1/2]

void setGeometryChild ( const Geometry & geo)

◆ setGeometryChild() [2/2]

void setGeometryChild ( uint04 geo_index)

◆ setIsLayer()

void setIsLayer ( bool is_layer)

◆ setLayer()

void setLayer ( Model layer)

◆ setMaterial() [1/4]

void setMaterial ( const Material & material)

◆ setMaterial() [2/4]

void setMaterial ( PrimitiveProperty property,
const Material & material )

◆ setMaterial() [3/4]

void setMaterial ( PrimitiveProperty property,
uint04 material_index )

◆ setMaterial() [4/4]

void setMaterial ( uint04 material_index)

◆ setMaterialMode() [1/2]

void setMaterialMode ( MaterialMode vertex,
MaterialMode outline,
MaterialMode solid )

◆ setMaterialMode() [2/2]

void setMaterialMode ( PrimitiveProperty property,
MaterialMode option )

◆ setModelProperty()

template<class t_type >
void setModelProperty ( ModelProperty property,
const t_type & value )
inline

◆ setNormalMode()

void setNormalMode ( NormalMode mode,
Angle< fltp08 > smoothing_angle,
ProgressInfo * log )

◆ setOrientation() [1/2]

void setOrientation ( const Vector< 3, Angle< fltp08 > > & new_orientation,
const void * lock = nullptr )

◆ setOrientation() [2/2]

void setOrientation ( const Vector< 3, Angle< sint04 > > & new_orientation,
const void * lock = nullptr )

◆ setParentMatrixFlag()

void setParentMatrixFlag ( ParentMatrixFlags flag,
bool value )

◆ setParentMatrixFlags()

void setParentMatrixFlags ( BitFlag flags)

◆ setSize()

void setSize ( const Vector< 3, fltp08 > & size)

◆ setTransform()

void setTransform ( const Matrix< fltp08 > & transform)

◆ setWindingMode()

void setWindingMode ( WindingMode mode)

◆ size()

Vector< 3, fltp08 > size ( ) const
nodiscard

◆ swapChildren()

void swapChildren ( uint04 a,
uint04 b )

◆ updateAscTime()

void updateAscTime ( const Time & time,
bool include_self )

◆ updateDescendedFlagsCache()

void updateDescendedFlagsCache ( bool force_update_all = false)

◆ updateDescTime()

void updateDescTime ( const Time & time,
bool include_self )

◆ updateFrom()

void updateFrom ( const Model & model,
bool check_resources )

◆ updateInheritedFlagsCache()

void updateInheritedFlagsCache ( bool force_update_all = false,
bool update_personal_flags = false )

◆ updateModelProperty()

template<class t_type >
void updateModelProperty ( ModelProperty property,
const t_type & type,
const void * lock_ptr = nullptr )
inline

◆ updateModifiedTime()

void updateModifiedTime ( Time time = Time::SystemTime())

◆ updateTransform()

void updateTransform ( const Matrix< fltp08 > & transform,
const void * lock = nullptr )

◆ updateVisible()

void updateVisible ( bool is_visible)

◆ updateVisibleRecursive()

void updateVisibleRecursive ( bool is_visible)

◆ validate()

void validate ( bool validate_children = true) const

◆ vertexCount()

uint04 vertexCount ( ) const
nodiscard

◆ visibleVertexCount()

uint04 visibleVertexCount ( ) const
nodiscard

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