33#include <NDEVR/Device.h>
Stores an angle in an optimized internal format with support for efficient trigonometric operations.
Device(const Model &model, LogPtr log, QObject *parent=nullptr)
Constructs a Device from a Model with the given log and optional Qt parent.
A light-weight wrapper that will be a no-op if there is not a valid log reference,...
A core class that represents a node on model hierarchy.
Represents a color in the RGB space with optional alpha transparency.
RangeSensorType rangeSensorType()
Returns the type of this range sensor.
RangeSensor(const Angle< fltp08 > &fov, const Model &name, LogPtr log, QObject *parent=nullptr)
Constructs a RangeSensor with a single-axis field of view.
bool m_is_activated
Whether the range sensor is currently activated.
RangeSensor(const Model &name, LogPtr log, QObject *parent=nullptr)
Constructs a RangeSensor with the given model, log, and optional parent.
virtual void updateModel()
Updates the 3D visualization model to reflect the current sensor state.
virtual bool lowVisibilityMode() const
Returns whether low visibility mode is currently enabled.
virtual bool activated() const
Returns whether this range sensor is currently activated.
virtual void setLowVisibilityMode(bool low_visibility)
Enables or disables low visibility mode for challenging environmental conditions.
virtual void createLineModel(const RGBColor &color)
Creates a line-style 3D visualization model for this sensor.
virtual void setDistance(fltp08 distance)
Sets the measured distance value.
virtual void measureDistance()
Triggers a distance measurement operation.
void init()
Initializes the range sensor default state.
virtual void createFanModel(const RGBColor &color)
Creates a fan-style 3D visualization model for this sensor.
virtual bool supportsSetActivated() const
Returns whether this sensor supports programmatic activation control.
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 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.
fltp08 m_distance
The last measured distance to the target.
Vector< 2, Angle< fltp08 > > m_fov
The field of view angles (horizontal, vertical).
virtual void setIntensity(fltp08 intensity)
Sets the signal intensity value.
virtual void setActivated(bool is_active)
Sets whether this range sensor is activated.
virtual fltp08 distance() const
Returns the last measured distance to the target.
virtual bool supportsLowVisibilityMode() const
Returns whether this sensor supports low visibility mode.
bool m_low_visibility_mode
Whether low visibility mode is currently enabled.
virtual fltp08 intensity() const
Returns the last measured signal intensity.
fltp08 m_intensity
The last measured signal intensity.
RangeSensorType m_type
The type of this range sensor (line, 2D fan, or 3D fan).
A fixed-size array with N dimensions used as the basis for geometric and mathematical types.
The primary namespace for the NDEVR SDK.
double fltp08
Defines an alias representing an 8 byte floating-point number.
@ is_active
Whether the effect is currently active.
RangeSensorType
The type of a range sensor.
@ e_line
A single-line range sensor measuring along one axis.
@ e_3d_fan
A 3D fan-shaped range sensor measuring in a volume.
@ e_2d_fan
A 2D fan-shaped range sensor measuring across a plane.