![]() |
NDEVR
API Documentation
|
A RangeSensor is a Device that determines the distance of a target at a certain orientation. More...
Public Member Functions | |
| RangeSensor (const Angle< fltp08 > &fov, const Model &name, LogPtr log, QObject *parent=nullptr) | |
| Constructs a RangeSensor with a single-axis field of view. | |
| RangeSensor (const Model &name, LogPtr log, QObject *parent=nullptr) | |
| Constructs a RangeSensor with the given model, log, and optional parent. | |
| RangeSensor (const Vector< 2, Angle< fltp08 > > &fov, const Model &name, LogPtr log, QObject *parent=nullptr) | |
| Constructs a RangeSensor with a 2D field of view. | |
| virtual bool | activated () const |
| Returns whether this range sensor is currently activated. | |
| virtual void | createFanModel (const RGBColor &color) |
| Creates a fan-style 3D visualization model for this sensor. | |
| virtual void | createLineModel (const RGBColor &color) |
| Creates a line-style 3D visualization model for this sensor. | |
| virtual void | createMaterial (const RGBColor &color) |
| Creates a material for the sensor visualization model. | |
| virtual void | createModel (const RGBColor &color) |
| Creates a 3D visualization model for this sensor using the given color. | |
| virtual fltp08 | distance () const |
| Returns the last measured distance to the target. | |
| virtual fltp08 | intensity () const |
| Returns the last measured signal intensity. | |
| virtual bool | lowVisibilityMode () const |
| Returns whether low visibility mode is currently enabled. | |
| virtual void | measureDistance () |
| Triggers a distance measurement operation. | |
| RangeSensorType | rangeSensorType () |
| Returns the type of this range sensor. | |
| virtual void | setActivated (bool is_active) |
| Sets whether this range sensor is activated. | |
| virtual void | setDistance (fltp08 distance) |
| Sets the measured distance value. | |
| virtual void | setIntensity (fltp08 intensity) |
| Sets the signal intensity value. | |
| virtual void | setLowVisibilityMode (bool low_visibility) |
| Enables or disables low visibility mode for challenging environmental conditions. | |
| virtual bool | supportsLowVisibilityMode () const |
| Returns whether this sensor supports low visibility mode. | |
| virtual bool | supportsSetActivated () const |
| Returns whether this sensor supports programmatic activation control. | |
| virtual void | updateModel () |
| Updates the 3D visualization model to reflect the current sensor state. | |
| Public Member Functions inherited from Device | |
| Device (const Model &model, LogPtr log, QObject *parent=nullptr) | |
| Constructs a Device from a Model with the given log and optional Qt parent. | |
| LogPtr | deviceLog () const |
| Returns the log associated with this device. | |
| virtual void | endUpdates () |
| Called when the auto-update loop ends, allowing cleanup. | |
| void | onUpdated () |
| Emitted after the device has been updated. | |
| virtual void | setLog (LogPtr log) |
| Sets the log used for device diagnostics. | |
| void | setWarningCallback (const std::function< void(const Exception &warning, LogPtr log)> &warning_callback) |
| Sets a callback to be invoked when a warning is generated by this device. | |
| void | startAutoUpdate (DesignObjectLookup *lookup=nullptr) |
| Starts automatic periodic updating of this device on a background thread. | |
| void | stopAutoUpdate (DesignObjectLookup *lookup=nullptr) |
| Stops automatic periodic updating of this device. | |
| virtual void | update (DesignObjectLookup *lookup, Time time) override |
| Called by the update system to update this device with design context. | |
| virtual void | update (Time) |
| Called to update the device with only the current time. | |
| virtual TimeSpan | updateInterval () const |
| Returns the time interval between automatic updates. | |
| Public Member Functions inherited from Model | |
| Model () | |
| Default constructor. Creates an uninitialized Model. | |
| Model (const DesignInfo &obj) | |
| Constructs a Model from an existing DesignInfo descriptor. | |
| Model (DesignObjectBase *base) | |
| Constructs a Model from a design object base, using the next available index. | |
| Model (uint04 index, DesignObjectBase *base) | |
| Constructs a Model at a specific index within the design object base. | |
| void | addChild (Model &child) |
| Adds an existing model as a child of this model. | |
| void | addChild (uint04 child_idx, Model &child) |
| Adds an existing model as a child at a specific index. | |
| void | addChild (uint04 child_index) |
| Adds a child by its database index. | |
| void | addPerVertexColorFromMaterialConstant (UVType constant_index) |
| Adds per-vertex color data derived from a material constant UV channel. | |
| Matrix< fltp08 > | applyTransformToParent (Matrix< fltp08 > mat, const Matrix< fltp08 > &parent_mat) const |
| Applies a transformation matrix to the parent transform, respecting parent matrix flags. | |
| Vector< 3, fltp08 > | calculateAverageDirection (const Matrix< fltp08 > &parent_transform=Constant< Matrix< fltp08 > >::Invalid) const |
| Calculates the average direction vector of descendant linear geometries. | |
| Vector< 2, fltp08 > | calculateHVLength (const Matrix< fltp08 > &parent_transform=Constant< Matrix< fltp08 > >::Invalid) const |
| Calculates horizontal and vertical length components of descendant linear geometries. | |
| void | calculateIndexNeighborList () |
| Calculates the index neighbor list for geometry processing. | |
| fltp08 | calculateLength (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const |
| Calculates the total length of all descendant linear geometries. | |
| void | calculateNormals (NormalMode mode, Angle< fltp08 > smoothing_angle) |
| Recalculates normals for all descendant geometries. | |
| void | calculateSmoothTextures (Vector< 3, fltp08 > origin, fltp08 scale) |
| Calculates smooth texture coordinates based on a projection origin and scale. | |
| fltp08 | calculateSurfaceArea (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const |
| Calculates the surface area of all descendant mesh geometries. | |
| void | calculateTangentSpace (bool calc_tan, bool calc_bitan) |
| Calculates tangent and/or bitangent vectors for all descendant geometries. | |
| fltp08 | calculateVolume (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid) const |
| Calculates the volume of all descendant mesh geometries. | |
| Vector< 2, fltp08 > | calculateVolumeAndSurfaceArea (const Matrix< fltp08 > &transform=Constant< Matrix< fltp08 > >::Invalid, const void *lock=nullptr) const |
| Calculates both volume and surface area in a single pass for efficiency. | |
| bool | canExplode () const |
| Checks whether this model can be exploded into its constituent children. | |
| bool | canInteract () const |
| Checks whether this model can be interacted with (visible, not locked, etc.). | |
| Vertex< 3, fltp08 > | centerAlignModel () |
| Centers the model geometry at the origin and returns the offset applied. | |
| void | checkBounds () |
| Validates and recalculates cached bounding boxes if needed. | |
| uint04 | childCount () const |
| Returns the number of direct children this model has. | |
| void | clearChildren () |
| Removes all children from this model without deleting them. | |
| void | clearLayer () |
| Removes the layer assignment from this model. | |
| void | clearMaterial () |
| Removes the material assignment from this model. | |
| void | clearMaterialDescendants () |
| Removes all descendant material assignments without deleting the materials. | |
| void | colorByChannel (Material &mat, const StringView &channel, fltp08 avg=Constant< fltp08 >::Invalid) const |
| Colors geometry vertices by a data channel value from a material. | |
| void | copyFrom (const Model &model, bool deep_copy, bool copy_ids=false, bool recursive=true, bool keep_root_properties=false) |
| Copies data from another model into this model. | |
| void | copyMaterialProperties (const Model &model) |
| Copies material properties from another model to this model. | |
| Model | createChild () |
| Creates a new child model and appends it to this model's child list. | |
| Model | createChild (uint04 child_slot) |
| Creates a new child model at a specific child slot index. | |
| Effect | createChildEffect () |
| Creates a new child effect attached to this model. | |
| Geometry | createChildGeometry () |
| Creates a new child geometry for this model. | |
| Material | createChildMaterial (bool copy_child=false) |
| Creates a new child material for this model. | |
| void | createChildren (uint04 child_size) |
| Creates multiple children at once. | |
| Effect | createSceneEffect () const |
| Creates a new effect in the scene database. | |
| Geometry | createSceneGeometry () const |
| Creates a new geometry in the scene database. | |
| Model | createSceneLayer () const |
| Creates a new layer model in the scene database. | |
| Material | createSceneMaterial () const |
| Creates a new material in the scene database. | |
| Model | createSceneModel () const |
| Creates a new model in the scene database associated with this model. | |
| RGBColor | customModelColor (ModelColorMode mode) const |
| Returns the resolved model color based on the specified color mode. | |
| void | deleteChildren () |
| Deletes all children of this model. | |
| void | deleteModel (bool deletchildren, bool removfrom_parent=true) |
| Deletes this model from the scene. | |
| BitFlag | descendedFlagsNoCache (bool complete_cache_ignore) const |
| Computes descended flags without using the cache. | |
| BitFlag | descendedPersonalFlagsNoCache () const |
| Computes descended personal flags without using the cache. | |
| void | descendentGeometryTypes (Set< GeometryType > &buffer) const |
| Collects all unique geometry types from descendants into the provided set. | |
| Model | directLayer () const |
| Returns the directly assigned layer model. | |
| TranslatedString | displayName () const |
| Returns the translated display name for this model. | |
| TranslatedString | displayNamePath (const StringView &seperator=":") const |
| Returns the full display name path from root to this model. | |
| bool | doesModelPropertyContain (NDPN property, const char *value, bool ignorcase) const |
| Checks whether a model property contains a given C-string substring. | |
| template<class t_type> | |
| bool | doesModelPropertyContain (NDPN property, const StringView &value, bool ignorcase) const |
| Checks whether a model property contains a given substring. | |
| void | ensureTangentSpace (bool ensure_tan, bool ensure_bitan) |
| Ensures that tangent and/or bitangent data exists, calculating if needed. | |
| void | ensureVisibleChildren (uint04 count) |
| Hides children whos child index is greater than size, or creates/shows children if needed such that there is exactly a given number of visible children for this model. | |
| void | eraseModel () |
| Erases this model from the database without removing children. | |
| ModelBuffer | explodeModel () |
| Explodes this model, promoting its children to siblings in the parent. | |
| bool | exportIgnored () const |
| Checks whether this model is excluded from export operations. | |
| Model | findDescendentByName (const StringView &name) const |
| Recursively searches descendants for a model with the given name. | |
| Model | findDescendentByType (const StringView &type) const |
| Recursively searches descendants for a model with the given type. | |
| Time | getAscModifiedTime (bool include_self, bool include_layer=true) const |
| Returns the greatest modified time of this model and all ancestors. | |
| Bounds< 3, fltp08 > | getBounds () const |
| Returns the local bounding box of this model. | |
| Bounds< 3, fltp08 > | getBoundsOfVisible () const |
| Returns the bounding box of all visible descendants. | |
| Model | getChild (uint04 child) const |
| Returns the child model at the given child slot index. | |
| Model | getChild (UUID id) const |
| Returns the child model with the specified UUID. | |
| uint04 | getChildIndex () const |
| Returns this model's index within its parent's child list. | |
| uint04 | getChildIndex (uint04 child) const |
| Returns the database index of the child at the given slot. | |
| Buffer< uint04 > | getChildIndices () const |
| Returns the database indices of all direct children. | |
| uint04 | getChildLayerIndex () const |
| Returns this model's index within its parent's layer child list. | |
| ModelBuffer | getChildren () const |
| Returns a buffer containing all direct children of this model. | |
| void | getChildren (ModelBuffer &children) const |
| Appends all direct children of this model to the provided buffer. | |
| ModelBuffer | getChildrenByName (const StringView &name) const |
| Returns all direct children whose name matches the given string. | |
| ModelBuffer | getChildrenByType (const Buffer< String > &type) const |
| Returns all direct children whose type matches any of the given strings. | |
| ModelBuffer | getChildrenByType (const StringView &type) const |
| Returns all direct children whose type matches the given string. | |
| Buffer< UUID > | getChildrenIDs () const |
| Returns the UUIDs of all direct children. | |
| PrimitiveAlignedBuffer< std::pair< Model, Geometry >, 32 > | getClippingGeometry () const |
| Returns model-geometry pairs used for clipping operations. | |
| Matrix< fltp08 > | getCompleteTransform () const |
| Returns the fully composed local-to-global transform matrix for this model. | |
| ModelBuffer | getDescendants (bool include_deleted=false, bool local_only=false) const |
| Returns all descendant models recursively. | |
| void | getDescendants (ModelBuffer &buffer, bool include_deleted=false, bool local_only=false) const |
| Appends all descendant models recursively to the provided buffer. | |
| ModelBuffer | getDescendantsByName (const StringView &name, uint04 max_count=Constant< uint04 >::Max) const |
| Recursively searches all descendants for models matching the given name. | |
| ModelBuffer | getDescendantsByNameAndType (const StringView &name, const StringView &type, uint04 max_count=Constant< uint04 >::Max) const |
| Recursively searches all descendants for models matching both name and type. | |
| ModelBuffer | getDescendantsByType (const StringView &type, uint04 max_count=Constant< uint04 >::Max) const |
| Recursively searches all descendants for models matching the given type. | |
| Time | getDescModifiedTime (bool includself) const |
| Returns the greatest modified time of this model and all descendants. | |
| uint04 | getDirectLayerIndex () const |
| Returns the database index of the directly assigned layer. | |
| Effect | getEffect (uint04 index=0) const |
| Returns the effect at the specified child index. | |
| EffectBuffer | getEffectChildren () const |
| Returns all direct child effects of this model. | |
| EffectBuffer | getEffectDescendants () const |
| Returns all descendant effects recursively. | |
| uint04 | getEffectIndex (uint04 child_index=0) const |
| Returns the database index of the effect at the given child slot. | |
| Model | getFamilyMember (uint04 index) const |
| Returns a model from the family tree (ancestors + descendants) by flat index. | |
| Geometry | getGeometry () const |
| Returns the geometry attached to this model. | |
| GeometryBuffer | getGeometryDescendants (bool remove_redundant=true, uint04 max_count=Constant< uint04 >::Max) const |
| Recursively collects all descendant geometries. | |
| uint04 | getGeometryIndex () const |
| Returns the database index of the geometry associated with this model. | |
| Model | getLayer () const |
| Returns the layer model assigned to this model (direct or inherited). | |
| Material | getMaterial () const |
| Returns the material assigned to this model. | |
| MaterialBuffer | getMaterialDescendants (bool local_only=false) const |
| Recursively collects all descendant materials. | |
| void | getMaterialDescendants (MaterialBuffer &materials, bool local_only=false) const |
| Appends all descendant materials to the provided buffer. | |
| void | getMaterialDescendants (Set< Material > &materials, bool local_only=false) const |
| Appends all descendant materials to the provided set (deduplicating). | |
| MaterialBuffer | getMaterialDescendantsByName (const StringView &name, uint04 max_count=Constant< uint04 >::Max) const |
| Returns descendant materials filtered by name. | |
| uint04 | getMaterialIdx () const |
| Returns the database index of the material assigned to this model. | |
| MaterialMode | getMaterialMode () const |
| Returns the material mode determining how materials are resolved for this model. | |
| StringView | getModelIcon () const |
| Returns the icon identifier string for this model's type. | |
| uint04 | getNumOfEffects () const |
| Returns the number of effects attached to this model. | |
| Model | getParent () const |
| Returns the parent model of this model. | |
| uint04 | getParentIndex () const |
| Returns the database index of this model's parent. | |
| Matrix< fltp08 > | getParentTransform () const |
| Returns the parent's transformation matrix as seen by this model. | |
| Model | getRoot () const |
| Returns the root ancestor of this model's hierarchy. | |
| Material | getRootMaterial () const |
| Returns the root material resolved through the hierarchy. | |
| Model | getRootMaterialModel () |
| Returns the ancestor model that determines the root material for this model. | |
| Effect | getSceneEffect (UUID id) const |
| Returns a scene effect by its UUID. | |
| EffectBuffer | getSceneEffects () const |
| Returns all effects in the scene database. | |
| GeometryBuffer | getSceneGeometries () const |
| Returns all geometries in the scene database. | |
| Geometry | getSceneGeometry (uint04 index) const |
| Returns a scene geometry by database index. | |
| Geometry | getSceneGeometry (UUID id) const |
| Returns a scene geometry by UUID. | |
| Model | getSceneLayer (UUID id) const |
| Returns a scene layer by its UUID. | |
| ModelBuffer | getSceneLayers (bool include_deleted=false) const |
| Returns all layer models in the scene. | |
| Material | getSceneMaterial (uint04 index) const |
| Returns a scene material by database index. | |
| Material | getSceneMaterial (UUID id) const |
| Returns a scene material by UUID. | |
| MaterialBuffer | getSceneMaterials () const |
| Returns all materials in the scene database. | |
| Model | getSceneModel (UUID id) const |
| Retrieves a scene model by its UUID. | |
| ModelBuffer | getSceneModels (bool include_deleted=false, bool local_only=false) const |
| Returns all models in the scene database. | |
| ModelBuffer | getSceneModelsByName (const StringView &name, uint04 max_count=Constant< uint04 >::Max, bool includdeleted=false) const |
| Returns scene models filtered by name. | |
| ModelBuffer | getSceneModelsByType (const StringView &type, uint04 max_count=Constant< uint04 >::Max, bool includdeleted=false) const |
| Returns scene models filtered by type. | |
| Bounds< 3, fltp08 > | getSelectionBounds () const |
| Returns the selection-specific bounding box in local space. | |
| template<class t_type> | |
| Buffer< t_type > | getTypeChildren (const StringView &type) const |
| Returns children of a specific type, cast to the requested derived type. | |
| template<class t_type> | |
| Buffer< t_type > | getTypeDescendants (const StringView &type) const |
| Recursively searches descendants for models of a specific type, cast to a derived type. | |
| Bounds< 3, fltp08 > | globalBounds () const |
| Returns the global bounding box of this model (including transform). | |
| Vertex< 3, fltp08 > | globalCenterOfRotation () const |
| Returns the center of rotation in global coordinates. | |
| Bounds< 3, fltp08 > | globalSelectionBounds () const |
| Returns the global selection bounding box. | |
| bool | hasChild (uint04 child_index=0U) const |
| Checks whether this model has a child at the given slot. | |
| void | hasDescendants (bool &has_point, bool &has_line, bool &has_mesh, bool only_user_objects) const |
| Checks which types of geometry primitives exist among descendants. | |
| bool | hasDescendent (const Model &model) const |
| Checks whether a given model is a descendant of this model. | |
| bool | hasDescendent (const UUID &id) const |
| Checks whether a model with the given UUID is a descendant of this model. | |
| bool | hasDirectLayer () const |
| Checks whether this model has a directly assigned layer (not inherited). | |
| bool | hasEffect (uint04 index=0) const |
| Checks whether an effect exists at the given child index. | |
| bool | hasFocus () const |
| Checks whether this model currently has focus. | |
| bool | hasGeometryDescendent () const |
| Checks whether any descendant has geometry data. | |
| bool | hasHoles (PrimitiveProperty property) const |
| Checks whether the geometry has holes (missing primitives) for a given property. | |
| bool | hasLayer () const |
| Checks whether this model has a layer (directly or inherited). | |
| bool | hasLayerRootMaterial () const |
| Checks whether a root material exists through the layer hierarchy. | |
| bool | hasLinearDescendent () const |
| Checks whether any descendant has linear (line/polyline) geometry. | |
| bool | hasMaterial () const |
| Checks whether this model has a material assigned. | |
| bool | hasMeshDescendent () const |
| Checks whether any descendant has mesh (triangle) geometry. | |
| bool | hasPointsDescendent () const |
| Checks whether any descendant has point geometry. | |
| bool | hasRootMaterial () const |
| Checks whether a root material can be resolved through the hierarchy. | |
| bool | hasSelectedDescendent () const |
| Checks whether any descendant of this model is selected. | |
| Vector< 32, bool > | inheritedFlags () const |
| Returns the cached inherited flags vector for this model. | |
| Vector< 32, bool > | inheritedFlagsNoCache (bool complete_cache_ignore) const |
| Computes inherited flags without using the cache. | |
| Vector< 32, bool > | inheritedPersonalFlagsNoCache () const |
| Computes inherited personal flags without using the cache. | |
| void | invalidateBounds () |
| Invalidates all cached bounding boxes, forcing recalculation on next access. | |
| void | invalidateGlobalBoundsDesc () |
| Invalidates global bounding boxes for this model and all descendants. | |
| void | invalidateSelectionBounds () |
| Invalidates the cached selection bounding box. | |
| void | invalidateTransformCache () |
| Invalidates the cached transformation matrix, forcing recomputation. | |
| void | invalidateVisibleBounds () |
| Invalidates the cached visible bounding box. | |
| bool | isApplicationOwned () const |
| Checks whether this model is owned by the application (not user-created). | |
| bool | isDeleted () const |
| Checks whether this model has been deleted. | |
| bool | isLayer () const |
| Checks whether this model is a layer definition. | |
| bool | isLocked () const |
| Checks whether this model is locked against editing. | |
| bool | isScene () const |
| Checks whether this model represents a scene root node. | |
| bool | isSelected () const |
| Checks whether this model is currently selected. | |
| bool | isTreeVisible () const |
| Checks whether this model is visible in the model tree view. | |
| template<class t_buffer_type> | |
| bool | isType (const Buffer< t_buffer_type > &types) const |
| Checks whether the model's type matches any type in the given buffer. | |
| bool | isVisible () const |
| Checks whether this model is visible (accounting for inherited visibility). | |
| operator bool () const | |
| Boolean conversion operator. Returns true if this Model references a valid entry. | |
| void | overrideMaterialDescendants (MaterialMode override_desc) |
| Overrides material mode for all descendants. | |
| BitFlag | parentMatrixFlags () const |
| Returns the parent matrix flags for this model. | |
| BitFlag | personalDescendedFlags () const |
| Returns the cached personal descended flags. | |
| Vector< 32, bool > | personalInheritedFlags () const |
| Returns the personal inherited flags from the cache. | |
| void | removeChild (const Model &model) |
| Removes a specific child model from this model's child list. | |
| void | removeDuplicateVertices (fltp08 epsilon, void *lock, InfoPipe *log=nullptr) |
| Removes duplicate vertices from all descendant geometries. | |
| void | removeGeometry () |
| Removes the geometry reference from this model (does not delete the geometry). | |
| void | removeMaterial () |
| Removes the material from this model. | |
| void | restoreModel () |
| Restores a previously deleted model, re-adding it to the scene. | |
| void | restoreModel (Model &parent, uint04 index=Constant< uint04 >::Invalid) |
| Restores a previously deleted model under a specific parent. | |
| void | setChildApplicationConstructed (const StringView &database_name=StringView()) |
| Sets the child database to an application-constructed database by name. | |
| void | setChildApplicationConstructed (DesignObjectBase *base) |
| Sets the child database to use an application-constructed DesignObjectBase. | |
| void | setChildEffectSize (uint04 child_size) |
| Sets the number of child effect slots for this model. | |
| void | setChildIndex (uint04 child, uint04 id) |
| Sets the database index for a specific child slot. | |
| void | setEffectIndex (uint04 material_index, uint04 sub_index=0) |
| Sets the effect database index at a given sub-index. | |
| void | setGeometryApplicationConstructed (const StringView &database_name=StringView()) |
| Sets the geometry database to an application-constructed database by name. | |
| void | setGeometryChild (Geometry &geo) |
| Sets the geometry child of this model to an existing Geometry object. | |
| void | setGeometryIndex (uint04 geo_index) |
| Sets the geometry database index for this model. | |
| void | setIsLayer (bool is_layer) |
| Marks or unmarks this model as a layer definition. | |
| void | setLayer (Model layer) |
| Assigns this model to a specific layer. | |
| void | setMaterial (const Material &material) |
| Assigns a material to this model. | |
| void | setMaterialApplicationConstructed (const StringView &database_name=StringView()) |
| Sets the material database to an application-constructed database by name. | |
| void | setMaterialMode (MaterialMode option) |
| Sets the material mode for this model. | |
| void | setModelTransform (const Matrix< fltp08 > &transform) |
| Sets the model's local transformation matrix, replacing the current one. | |
| bool | setModelVisible (bool is_visible) |
| Sets the visibility of this model. | |
| void | setNormalMode (NormalMode mode, Angle< fltp08 > smoothing_angle, InfoPipe *log) |
| Sets the normal mode and recalculates normals with progress logging. | |
| void | setOrientation (const Vector< 3, Angle< fltp08 > > &new_orientation, const void *lock=nullptr) |
| Sets the orientation of this model using floating-point angles. | |
| void | setOrientation (const Vector< 3, Angle< sint04 > > &new_orientation, const void *lock=nullptr) |
| Sets the orientation of this model using integer-precision angles. | |
| void | setParentMatrixFlag (ParentMatrixFlags flag, bool value) |
| Sets or clears a specific parent matrix flag. | |
| void | setParentMatrixFlags (BitFlag flags) |
| Sets the parent matrix flags controlling which parent transform components to inherit. | |
| void | setSize (const Vector< 3, fltp08 > &size) |
| Sets the model size by scaling its transform to match the desired dimensions. | |
| void | setWindingMode (WindingMode mode) |
| Sets the winding mode for all descendant geometries. | |
| Vector< 3, fltp08 > | size () const |
| Returns the size (extents) of the model's bounding box. | |
| void | swapChildren (uint04 a, uint04 b) |
| Swaps the positions of two children in the child list. | |
| void | updateAscGeometryTime (const Time &time, bool include_self) |
| Updates the geometry-modified timestamp for this model and all ancestors. | |
| void | updateAscTime (const Time &time, bool includself) |
| Updates the modified timestamp for this model and all ancestors. | |
| void | updateDescGeometryTime (const Time &time, bool include_self) |
| Updates the geometry-modified timestamp for this model and all descendants. | |
| void | updateDescTime (const Time &time, bool include_self) |
| Updates the modified timestamp for this model and all descendants. | |
| void | updateFrom (const Model &model, bool check_resources) |
| Updates this model's properties from another model, optionally checking resources. | |
| void | updateGeometryTime (Time time=Time::SystemTime()) |
| Updates the geometry-modified timestamp for this model. | |
| void | updateInheritedFlagsCache (bool force_update_all=false, bool update_personal_flags=false) |
| Recalculates and caches the inherited flags for this model. | |
| void | updateModelTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr) |
| Applies a delta transform to the current model transform. | |
| void | updateModifiedTime (Time time=Time::SystemTime()) |
| Updates the modified timestamp for this model. | |
| void | updateVisibleRecursive (bool is_visible) |
| Recursively updates visibility for this model and all descendants. | |
| void | validate (bool validate_children=true) const |
| Validates this model's internal state for consistency. | |
| uint04 | vertexCount () const |
| Returns the total number of vertices across all descendant geometries. | |
| uint04 | visibleVertexCount () const |
| Returns the total number of visible vertices across all descendant geometries. | |
| Public Member Functions inherited from DesignObject | |
| DesignObject ()=default | |
| Creates an "invalid" design object. | |
| DesignObject (const DesignInfo &info) | |
| Constructs a DesignObject from an existing DesignInfo, sharing the same base and indices. | |
| DesignObject (DesignObjectBase *base) | |
| Creates an new design object within the given DesignObjectBase. | |
| DesignObject (uint04 index, DesignObjectBase *base) | |
| Sets a DesignObject up to be a pointer to an existing object in the database. | |
| JSONNode | activeFilters () const |
| Retrieves the active filters applied to this design object as a JSON structure. | |
| void | appendData (const StringView &data, bool compressed) |
| Appends data to this design object's data storage. | |
| DesignObjectBase & | base () const |
| Returns a reference to the underlying DesignObjectBase database. | |
| void | clearAllMetaData () |
| Removes all metadata entries from this design object. | |
| void | clearMetaData (const StringView &index) |
| Removes a specific metadata entry by key. | |
| void | copyFrom (const DesignObject &object) |
| Copies all properties from the given design object into this one. | |
| uint04 | designIndex () const |
| Returns the design-specific index used to access type-specific properties (e.g., model, geometry, material properties). | |
| bool | doesPropertyBeginWith (NDPO property, const StringView &value, bool ignore_case) const |
| Checks whether a string property's value begins with the given substring. | |
| bool | doesPropertyContain (NDPO property, const StringView &value, bool ignore_case) const |
| Checks whether a string property's value contains the given substring. | |
| File | file () const |
| Returns the file path associated with this design object as a File object. | |
| template<auto t_property> | |
| constexpr decltype(auto) | get () const |
| Retrieves a property value using a compile-time property constant, with the type deduced from PropertySpec. | |
| template<auto t_property, class t_type> | |
| constexpr decltype(auto) | get () const |
| Retrieves a property value using a compile-time property constant, cast to the requested type. | |
| template<class t_type, class t_property_type> | |
| constexpr decltype(auto) | get (t_property_type property) const |
| Retrieves a property value from the database, cast to the requested type. | |
| DesignObject | getDesignParent () const |
| Retrieves the parent design object of this object in the model hierarchy. | |
| StringView | getIcon () const |
| Retrieves the icon identifier string associated with this design object. | |
| template<class t_type> | |
| decltype(auto) | getInheritedProperty (NDPO property) const |
| Retrieves a property value, walking up the parent hierarchy if the property is not set on this object. | |
| Scene | getScene () const |
| Retrieves the Scene that this design object belongs to. | |
| bool | hasMetaData (const StringView &index) const |
| Checks whether a metadata entry exists for the given key. | |
| template<class t_type, class t_design_type> | |
| bool | hasProperty (t_design_type property) const |
| Checks whether a property has a valid (non-default) value. | |
| uint04 | index () const |
| Returns the primary row index of this object within the DesignObjectBase property table. | |
| template<auto t_property> | |
| bool | is (const char *value) const |
| Checks whether a compile-time property matches the given C-string value. | |
| template<auto t_property> | |
| bool | is (const String &value) const |
| Checks whether a compile-time property matches the given String value. | |
| template<auto t_property> | |
| bool | is (const StringView &value) const |
| Checks whether a compile-time property matches the given StringView value. | |
| template<auto t_property, class t_type> | |
| std::enable_if<!ObjectInfo< t_type >::String, bool >::type | is (const t_type &value) const |
| Checks whether a compile-time property matches a non-string value using equality comparison. | |
| template<class t_property_type> | |
| bool | is (t_property_type property, const char *value) const |
| Checks whether a string property matches the given C-string value. | |
| template<class t_property_type> | |
| bool | is (t_property_type property, const String &value) const |
| Checks whether a string property matches the given String value. | |
| template<class t_property_type> | |
| bool | is (t_property_type property, const StringView &value) const |
| Checks whether a string property matches the given StringView value. | |
| template<class t_property_type, class t_type> | |
| std::enable_if<!ObjectInfo< t_type >::String, bool >::type | is (t_property_type property, const t_type &value) const |
| Checks whether a non-string property matches the given value using equality comparison. | |
| bool | isDesignType (DesignObjectType mode) const |
| Checks whether this object has the specified design type flag set. | |
| bool | isDesignType (uint04 mode) const |
| Checks whether this object has the specified design type flag set, using a raw integer value. | |
| bool | isValid () const |
| Checks whether this design object has a valid index into the database. | |
| const JSONNode & | metaData () const |
| Retrieves the entire metadata tree for this design object. | |
| const JSONNode & | metaData (const StringView &index) const |
| Retrieves a specific metadata entry by key. | |
| void | offsetDesign (const Vector< 3, fltp08 > &offset) |
| Translates this design object by the given offset vector. | |
| operator bool () const | |
| Bool conversion operator. | |
| bool | operator!= (const DesignObject &object) const |
| Checks inequality with another DesignObject. | |
| bool | operator< (const DesignObject &object) const |
| Less-than comparison for ordering DesignObjects (e.g., for sorted containers). | |
| bool | operator== (const DesignObject &object) const |
| Checks equality with another DesignObject by comparing base pointers and indices. | |
| bool | operator> (const DesignObject &object) const |
| Greater-than comparison for ordering DesignObjects (e.g., for sorted containers). | |
| Table & | propertyTable () |
| Returns a mutable reference to the property table that stores this object's properties. | |
| const Table & | propertyTable () const |
| Returns a const reference to the property table that stores this object's properties. | |
| void | removeMetaData (const StringView &index, const void *lock_ptr=nullptr) |
| Removes a metadata entry by key, with optional write lock support. | |
| void | scale (Vector< 3, fltp08 > scale, Vertex< 3, fltp08 > center_of_scale, const Matrix< fltp08 > &transform) |
| Scales this design object's geometry by the given scale factors around a center point, applying an additional transform. | |
| void | scale (Vector< 3, fltp08 > scale, Vertex< 3, fltp08 > center_of_scale=Constant< Vertex< 3, fltp08 > >::Invalid) |
| Scales this design object's geometry and transform by the given scale factors around a center point. | |
| template<auto t_property, class t_type> | |
| void | set (const t_type &value) |
| Sets a property value in the database using a compile-time property constant. | |
| template<class t_type, class t_property_type> | |
| void | set (t_property_type property, const t_type &value) |
| Sets a property value in the database. | |
| void | setActiveFilters (const JSONNode &node) |
| Sets the active filters on this design object from a JSON structure. | |
| void | setDesignType (DesignObjectType mode, bool is_type) |
| Sets or clears a design type flag on this object. | |
| void | setMetaData (const JSONNode &node) |
| Replaces the entire metadata tree with the given JSON node. | |
| void | setMetaData (const StringView &index, const bool &data) |
| Sets a metadata entry at the given key to a boolean value. | |
| void | setMetaData (const StringView &index, const fltp08 &data) |
| Sets a metadata entry at the given key to a 64-bit floating point value. | |
| void | setMetaData (const StringView &index, const JSONNode &node) |
| Sets a metadata entry at the given key to the specified JSON node value. | |
| void | setMetaData (const StringView &index, const String &data) |
| Sets a metadata entry at the given key to a String value. | |
| void | setMetaData (const StringView &index, const StringView &data) |
| Sets a metadata entry at the given key to a StringView value. | |
| void | setMetaData (const StringView &index, const uint01 &data) |
| Sets a metadata entry at the given key to a uint01 value. | |
| void | setMetaData (const StringView &index, const uint04 &data) |
| Sets a metadata entry at the given key to a uint04 value. | |
| template<auto t_property, class t_type> | |
| bool | update (const t_type &value, const void *lock=nullptr) |
| Updates a property using a compile-time property constant, only if the new value differs. | |
| template<class t_type, class t_property_type> | |
| bool | update (t_property_type property, const t_type &value, const void *lock=nullptr) |
| Updates a property only if the new value differs from the current value. | |
| void | updateCreatedTime () |
| Sets the creation time stamp for this design object to the current system time. | |
| void | updateDesignModifiedTime (Time time=Time::SystemTime()) |
| Updates the modified time stamp for this design object. | |
| void | updateDesignTransform (const Matrix< fltp08 > &transform, const void *lock=nullptr) |
| Updates the transform of this design object if it differs from the current value. | |
| bool | updateDesignVisible (bool is_visible, const void *lock=nullptr) |
| Updates the spatial visibility of this design object if it differs from the current value. | |
| void | updateMetaData (const StringView &index, const bool &data, const void *lock_ptr=nullptr) |
| Updates a metadata entry only if the new value differs from the current value. | |
| void | updateMetaData (const StringView &index, const fltp08 &data, const void *lock_ptr=nullptr) |
| Updates a metadata entry only if the new value differs from the current value. | |
| void | updateMetaData (const StringView &index, const String &data, const void *lock_ptr=nullptr) |
| Updates a metadata entry only if the new value differs from the current value. | |
| void | updateMetaData (const StringView &index, const StringView &data, const void *lock_ptr=nullptr) |
| Updates a metadata entry only if the new value differs from the current value. | |
| bool | validateDesignObject () const |
| Validates the internal state of this design object, ensuring indices and base pointer are consistent. | |
Protected Member Functions | |
| void | init () |
| Initializes the range sensor default state. | |
| Protected Member Functions inherited from Device | |
| virtual void | showWarning (const Exception &warning) const |
| Displays a warning exception through the warning callback or log. | |
| virtual void | showWarning (const TranslatedString &warning) const |
| Displays a warning message through the warning callback or log. | |
| Protected Member Functions inherited from Model | |
| DesignObjectBase * | childBase () const |
| Returns the DesignObjectBase used for child model storage. | |
| ColumnT< uint04 > & | childToParentReference () const |
| Returns the column mapping child indices to parent indices. | |
| DesignObjectBase * | geometryBase () const |
| Returns the DesignObjectBase used for geometry storage. | |
| DesignObjectBase * | materialBase () const |
| Returns the DesignObjectBase used for material storage. | |
| DesignObjectBase * | parentBase () const |
| Returns the DesignObjectBase used for parent model storage. | |
| ColumnT< Buffer< uint04 > > & | parentToChildReference () const |
| Returns the column mapping parent indices to child index lists. | |
| Protected Member Functions inherited from DesignObject | |
| template<class t_type> | |
| void | _setProperty (NDPO property, const t_type &value) |
| Low-level property setter that directly writes to the design properties table without triggering side effects such as transform or visibility updates. | |
| void | initDesignObject () |
| Initializes default property values for this design object after construction. | |
| Protected Member Functions inherited from DesignInfo | |
| DesignInfo (DesignObjectBase *base) | |
| Creates an new design object within the given DesignObjectBase. | |
| DesignInfo (uint04 index, DesignObjectBase *base) | |
| Sets a DesignObject up to be a pointer to an existing object in the database. | |
| void | _setDesignVisible (bool is_visible) |
| Sets the spatial visibility of this design object and propagates the change through the design hierarchy. | |
| void | _setTransform (const Matrix< fltp08 > &transform) |
| Sets the 4x4 transform matrix for this design object and propagates the change through the design hierarchy. | |
Protected Attributes | |
| fltp08 | m_distance |
| The last measured distance to the target. | |
| Vector< 2, Angle< fltp08 > > | m_fov |
| The field of view angles (horizontal, vertical). | |
| fltp08 | m_intensity |
| The last measured signal intensity. | |
| bool | m_is_activated |
| Whether the range sensor is currently activated. | |
| bool | m_low_visibility_mode |
| Whether low visibility mode is currently enabled. | |
| RangeSensorType | m_type |
| The type of this range sensor (line, 2D fan, or 3D fan). | |
| Protected Attributes inherited from Device | |
| LogPtr | m_log |
| Log for device diagnostic messages. | |
| DeviceUpdateThread * | m_update_thread = nullptr |
| Background thread for auto-updating this device. | |
| std::function< void(const Exception &warning, LogPtr log)> | m_warning_callback |
| Callback invoked when warnings are generated. | |
| Protected Attributes inherited from DesignInfo | |
| DesignObjectBase * | m_base = nullptr |
| Pointer to the owning DesignObjectBase property database. | |
| uint04 | m_design_index = Constant<uint04>::Invalid |
| Index of the parent design that owns this object. | |
| uint04 | m_index = Constant<uint04>::Invalid |
| Row index of this object within the property database. | |
Additional Inherited Members | |
| Public Types inherited from Model | |
| enum | DescendedFlags { e_descendent_selected = 0 , e_descendent_focussed = 1 , e_descendent_deletion_blocked = 2 } |
| Flags that propagate upward from descendant models to ancestors, indicating aggregate states of the subtree below this model. More... | |
| 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_placholder = 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 } |
| Flags that are recursively inherited from ancestor models down through the hierarchy. More... | |
| enum class | MaterialMode { e_by_parent , e_by_layer , e_custom , e_hidden } |
| Determines how a model resolves its material for rendering. More... | |
| enum class | ModelColorMode { e_direct , e_by_selectable_children , e_by_material_root , e_by_layer } |
| Determines how the model color is resolved for display purposes. More... | |
| 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 } |
| Flags controlling which components of the parent's transformation matrix are applied to this model. More... | |
| Public Types inherited from DesignInfo | |
| enum | DesignObjectType : uint01 |
| Static Public Member Functions inherited from Device | |
| static void | SetDefaultDeviceLookup (DesignObjectLookup *lookup) |
| Sets the default DesignObjectLookup used by all devices when none is specified. | |
| Static Public Member Functions inherited from Model | |
| static ModelBuffer | ReduceToRoots (const ModelBuffer &children, const std::function< bool(const Model &, const Set< Model > &)> &filter) |
| Reduces a collection of models to only root-level models (removing any that are descendants of others in the set), filtered by a user-provided predicate. | |
| Static Public Member Functions inherited from DesignObject | |
| static constexpr StringView | FilePathDesignNameVariable () |
| Returns the placeholder variable string used in file paths to represent the design name. | |
| Static Protected Attributes inherited from Device | |
| static DesignObjectLookup * | s_default_lookup |
| Default design object lookup shared by all devices. | |
A RangeSensor is a Device that determines the distance of a target at a certain orientation.
Usually based on LiDAR or photogrammetry.
Definition at line 51 of file RangeSensor.h.
Constructs a RangeSensor with the given model, log, and optional parent.
| [in] | name | The model associated with this sensor. |
| [in] | log | The log to use for diagnostic messages. |
| [in] | parent | The optional QObject parent. |
Referenced by RasterRangeSensor::RasterRangeSensor().
| RangeSensor::RangeSensor | ( | const Angle< fltp08 > & | fov, |
| const Model & | name, | ||
| LogPtr | log, | ||
| QObject * | parent = nullptr ) |
Constructs a RangeSensor with a single-axis field of view.
| [in] | fov | The field of view angle. |
| [in] | name | The model associated with this sensor. |
| [in] | log | The log to use for diagnostic messages. |
| [in] | parent | The optional QObject parent. |
| RangeSensor::RangeSensor | ( | const Vector< 2, Angle< fltp08 > > & | fov, |
| const Model & | name, | ||
| LogPtr | log, | ||
| QObject * | parent = nullptr ) |
Constructs a RangeSensor with a 2D field of view.
| [in] | fov | The 2D field of view angles (horizontal, vertical). |
| [in] | name | The model associated with this sensor. |
| [in] | log | The log to use for diagnostic messages. |
| [in] | parent | The optional QObject parent. |
|
inlinevirtual |
Returns whether this range sensor is currently activated.
Definition at line 74 of file RangeSensor.h.
References m_is_activated.
|
virtual |
Creates a fan-style 3D visualization model for this sensor.
| [in] | color | The color to use for the fan model. |
|
virtual |
Creates a line-style 3D visualization model for this sensor.
| [in] | color | The color to use for the line model. |
|
virtual |
Creates a material for the sensor visualization model.
| [in] | color | The color to use for the material. |
|
virtual |
Creates a 3D visualization model for this sensor using the given color.
| [in] | color | The color to use for the model. |
|
inlinenodiscardvirtual |
Returns the last measured distance to the target.
Definition at line 80 of file RangeSensor.h.
References m_distance.
Referenced by setDistance().
|
inlinenodiscardvirtual |
Returns the last measured signal intensity.
Definition at line 77 of file RangeSensor.h.
References m_intensity.
Referenced by setIntensity().
|
inlinenodiscardvirtual |
Returns whether low visibility mode is currently enabled.
Definition at line 83 of file RangeSensor.h.
References m_low_visibility_mode.
|
inline |
Returns the type of this range sensor.
Definition at line 118 of file RangeSensor.h.
References m_type.
|
inlinevirtual |
Sets whether this range sensor is activated.
| [in] | is_active | Whether the sensor should be activated. |
Definition at line 101 of file RangeSensor.h.
References is_active, and m_is_activated.
|
inlinevirtual |
Sets the measured distance value.
| [in] | distance | The distance value to set. |
Definition at line 95 of file RangeSensor.h.
References distance(), and m_distance.
|
inlinevirtual |
Sets the signal intensity value.
| [in] | intensity | The intensity value to set. |
Definition at line 92 of file RangeSensor.h.
References intensity(), and m_intensity.
|
inlinevirtual |
Enables or disables low visibility mode for challenging environmental conditions.
| [in] | low_visibility | Whether to enable low visibility mode. |
Definition at line 86 of file RangeSensor.h.
References m_low_visibility_mode.
|
inlinenodiscardvirtual |
Returns whether this sensor supports low visibility mode.
Definition at line 89 of file RangeSensor.h.
|
inlinenodiscardvirtual |
Returns whether this sensor supports programmatic activation control.
Definition at line 98 of file RangeSensor.h.