34#include <NDEVR/Model.h>
35#include <NDEVR/Geometry.h>
36#include <NDEVR/String.h>
37#include <NDEVR/Unit.h>
38#include <NDEVR/Material.h>
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
A definition of data that is logically stored in the Model hierarchy.
bool operator==(const DesignParameter ¶ms) const
Equality comparison operator.
ConstPointer< Unit > defaultUnit() const
Returns the default unit of measurement for this parameter.
DesignParameter(NDPG property, uint04 sub_section=Constant< uint04 >::Invalid)
Constructs a parameter from a geometry property.
uint04 dim_a
First dimension index (e.g., component or sub-section). Invalid if unused.
TypeInfo defaultType() const
Returns the default type information for the data represented by this parameter.
DesignParameter(SpecialParameter property, const StringView &data_label)
Constructs a parameter from a special parameter type with a data label.
DesignParameter(NDPN property, uint04 sub_section=Constant< uint04 >::Invalid)
Constructs a parameter from a model property.
TranslatedString custom_display_name
An optional user-facing display name override.
bool operator>(const DesignParameter ¶ms) const
Greater-than comparison operator for ordering.
TranslatedString displayName() const
Returns the user-facing display name for this parameter.
DesignParameter(NDPM property, uint04 sub_section=Constant< uint04 >::Invalid)
Constructs a parameter from a material property.
bool operator<(const DesignParameter ¶ms) const
Less-than comparison operator for ordering.
DesignParameter(NDPO property, uint04 sub_section=Constant< uint04 >::Invalid)
Constructs a parameter from a design object property.
void setCustomDisplayName(const TranslatedString &custom_display_name)
Sets a custom user-facing display name for this parameter.
SpecialParameter type
The special parameter type classification.
bool isIgnored() const
Checks whether this parameter should be ignored during processing.
StringAllocatingView stringID() const
Returns a string identifier that uniquely represents this parameter.
DesignParameter()
Default constructor.
StringAllocatingView column_name
The column or property name used to identify this parameter in storage.
DesignParameter(Material::UVMode mode)
Constructs a parameter representing a UV texture mapping mode.
DesignParameter(VertexProperty property, uint04 sub_section=Constant< uint04 >::Invalid)
Constructs a parameter from a vertex property.
DesignParameter(const StringView &column_name, uint04 vertex_index_a, uint04 vertex_index_b)
Constructs a parameter referencing vertex data by column name and two vertex indices.
DesignParameter(SpecialParameter property, uint04 sub_section=Constant< uint04 >::Invalid)
Constructs a parameter from a special parameter type.
ConstPointer< Unit > unit
The unit of measurement associated with this parameter.
String default_value
The default value for this parameter as a string.
uint04 dim_b
Second dimension index. Invalid if unused.
void autoSetSpecialParameter()
Automatically determines and sets the SpecialParameter type based on the current column name and dime...
bool operator!=(const DesignParameter ¶ms) const
Inequality comparison operator.
SpecialParameter
Enumerates special built-in parameter types that have predefined semantics within the design hierarch...
@ e_surface_area
Computed surface area.
@ e_volume
Computed volume.
@ e_undefined
No specific parameter type assigned.
@ e_transformed_vertex_metadata
Vertex metadata that has been transformed into world space.
@ e_rotation
Rotation of a model.
@ e_offset
Spatial offset (translation) of a model.
@ e_v_length
Computed vertical length component.
@ e_scale
Scale factor of a model.
@ e_geometry_property
A property belonging to a Geometry object.
@ e_parent_path
Path string describing the parent chain.
@ e_metadata
Arbitrary metadata attached to an object.
@ e_vertex_property
A property belonging to a Vertex.
@ e_model_property
A property belonging to a Model object.
@ e_model_index
Index of the model within the hierarchy.
@ e_vertex_index
Index of a vertex within geometry.
@ e_deployment_bottom
Bottom elevation of a deployment.
@ e_h_length
Computed horizontal length component.
@ e_geo_orientation
Geographic orientation of a model.
@ e_uv_mode
UV texture mapping mode.
@ e_length
Computed total length.
@ e_design_property
A generic design-level property.
@ e_material_property
A property belonging to a Material.
@ e_grade
Computed grade (slope ratio).
DesignParameter(const StringView &name)
Constructs a parameter from a raw column name string.
DesignParameter(SpecialParameter property, const StringView &data_label, uint04 sub_section)
Constructs a parameter from a special parameter type with a data label and sub-section.
UVMode
Defines UV mapping modes that control how texture colors are determined for surfaces.
This class is like a string view, but may optionally store the data internally Useful if the return t...
Logic for reading or writing to a string or a user friendly, TranslatedString.
The core String View class for the NDEVR API.
The core String class for the NDEVR API.
Any text displayed to the user should be defined as a TranslatedString which allows the program to lo...
Stores information about a type, relevant for certain templated functions.
The primary namespace for the NDEVR SDK.
NDPM
NDPM - NDEVR Design Property Material: Values stored in the material database.
NDPN
NDPN - NDEVR Design Property Node: Values stored in the model database.
VertexProperty
Per-vertex data channels that can be stored in the vertex table to be used by Geometry.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
NDPO
NDPO - NDEVR Design Property Object: Values stored in the property database.
NDPG
Forward declaration for Geometry design object.
Defines a unit of measurement for converting and displaying data values.