2#include <NDEVR/Model.h>
3#include <NDEVR/Geometry.h>
64 for (
Model iter : items)
82 for (
Model parent : parents)
83 parent.removeGeometry();
A specification of upper and lower bounds in N-dimensions.
The equivelent of std::vector but with a bit more control.
A cache for reusing Model and Geometry objects to avoid repeated allocation.
Model createModel(Model &parent)
Creates or retrieves a child Model for the given parent, preferring cached models.
void addToCache(const Buffer< Model > &items)
Adds a buffer of Models to the cache after resetting each to defaults.
void addToCache(const Buffer< Geometry > &items)
Adds a buffer of Geometry objects to the cache after detaching them from parents.
void createChildren(Model &parent, uint04 size)
Ensures a parent model has the specified number of children, using cached models when available.
Buffer< Geometry > geometries
Cached geometries that have been detached and are available for reuse.
Buffer< Model > models
Cached models that have been reset and are available for reuse.
void setModelToDefaults(Model &model)
Resets a Model to its default state so it can be reused from the cache.
Geometry createGeometry(Model &parent)
Creates or retrieves a Geometry for the given parent model, preferring cached geometries.
void set(t_property_type property, const t_type &value)
Sets a property value in the database.
bool isValid() const
Checks whether this design object has a valid index into the database.
void clearAllMetaData()
Removes all metadata entries from this design object.
A core class within the model hierarchy containing vertex-based data (Usually 3D data) within a set c...
Templated logic for doing matrix multiplication.
A core class that represents a node on model hierarchy.
void clearChildren()
Removes all children from this model without deleting them.
Model getParent() const
Returns the parent model of this model.
void removeChild(const Model &model)
Removes a specific child model from this model's child list.
Model createChild()
Creates a new child model and appends it to this model's child list.
Geometry createChildGeometry()
Creates a new child geometry for this model.
void addChild(Model &child)
Adds an existing model as a child of this model.
void clearMaterial()
Removes the material assignment from this model.
void removeGeometry()
Removes the geometry reference from this model (does not delete the geometry).
void setGeometryChild(Geometry &geo)
Sets the geometry child of this model to an existing Geometry object.
void clearLayer()
Removes the layer assignment from this model.
void createChildren(uint04 child_size)
Creates multiple children at once.
The core String View class for the NDEVR API.
Represents a timestamp with utilities for manipulation and conversion.
static Time SystemTime()
Retrieves the current system time which is a combination of std::chrono::steady_clock to ensure smoot...
The primary namespace for the NDEVR SDK.
@ calculation_ignored
Whether this model is ignored in calculations (e.g., volume, area).
@ type
The type identifier string for this model node.
@ child_base_ptr
Pointer to the DesignObjectBase that stores child model data.
@ fixed_bounding_box
A user-defined fixed bounding box override for this model.
@ can_select_children
Whether children of this model can be individually selected.
constexpr t_type getMin(const t_type &left, const t_type &right)
Finds the minimum of the given arguments based on the < operator Author: Tyler Parke Date: 2017-11-05...
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
@ author
The author or creator of the object.
@ desc_modified_time
Timestamp tracking descending-order modification.
@ creation_time
Timestamp when the object was created.
@ modified_time
Timestamp when the object was last modified.
@ library_id
UUID referencing a library item this object was created from.
@ is_application_owned
Whether the object is owned and managed by the application.
@ transform
A 4x4 transform matrix that maps local coordinates into global space.
@ asc_modified_time
Timestamp tracking ascending-order modification.
@ is_deleted
Whether the object has been soft-deleted.
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...