NDEVR
API Documentation
JorvikTotalStationfinal

Represents the Jorvik Total Station, a 3D scanner with advanced measurement capabilities. More...

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

Public Member Functions

 JorvikTotalStation (JorvikConnection *connection, DesignObjectLookup *manager, QObject *parent=nullptr)
 Constructor for the JorvikTotalStation.
 ~JorvikTotalStation ()
 Destructor for the JorvikTotalStation.
void addGridOrientation (sint04 range_pitch, sint04 range_roll, const Angle< fltp08 > &step_pitch, const Angle< fltp08 > &step_roll, const Angle< fltp08 > &offset)
 Adds a grid orientation to the scanner.
void addModelsToScan ()
 Adds models to the scan.
void addReverseOrientation ()
 Adds a reverse orientation to the scanner.
virtual Buffer< ScanProfile > availableScanProfiles () const final override
 Retrieves the available scan profiles.
virtual Buffer< Battery * > batteries () const final override
 Retrieves the list of batteries.
fltp08 calculateDistance ()
 Calculates the distance to a target.
virtual Matrix< fltp08cameraTransform () const final override
 Retrieves the camera transformation matrix.
void checkScanStep ()
 Checks the current scan step.
virtual Connectionconnection () const final override
 Retrieves the connection instance.
virtual RangeSensorcreateRangeSensor () final override
 Creates a range sensor.
virtual void createScanner () final override
 Creates the scanner instance.
String defaultCameraFeed ()
 Retrieves the default camera feed.
virtual RasterInfo defaultRasterInfo (const UUID &profile) const final override
 Retrieves the default raster info for a given profile.
virtual DistanceEncoderdistanceEncoder () const final override
 Retrieves the distance encoder.
virtual void endUpdates () override
 Ends updates for the scanner.
bool executeManualCommand (const String &command) final override
 Executes a manual command on the scanner.
virtual void getINI (INIFactory &factory) override
 Reads INI settings into the factory.
virtual TimeSpan getScanTime (const Scanner3DScanSettings &settings) const final override
 Calculates the scan time for the given settings.
bool isConnected () const override
 Checks if the total station is connected.
virtual Lightlight () const final override
 Retrieves the light sensor.
virtual OrientationSensororientationSensor () const final override
 Retrieves the orientation sensor.
void orientHead (const Vector< 3, Angle< fltp08 > > &head_orientation) final override
 Orients the scanner head to the specified orientation.
virtual void pauseScan () final override
 Pauses the current scan.
virtual PositionSensorpositionSensor () const final override
 Retrieves the position sensor.
virtual RangeSensorrangeSensor () const final override
 Retrieves the range sensor.
void recordLocation ()
 Records the current location of the scanner.
virtual LightredDot () const final override
 Retrieves the red dot light sensor.
virtual void resumeScan () final override
 Resumes the paused scan.
void saveDeviations (File file)
 Saves deviation data to a file.
Bounds< 2, Angle< fltp08 > > scanBounds () const final override
 Retrieves the scan bounds.
virtual TranslatedString scannerInfo () const final override
 Retrieves scanner information.
ScannerState scannerState () const final override
 Retrieves the current state of the scanner.
void setConstantLaserFire (bool constant_fire)
 Enables or disables constant laser firing.
void setModelFile (const File &file)
 Sets the model file for the total station.
virtual void startScan (const Scanner3DScanSettings &settings) final override
 Starts a scan with the given settings.
virtual void stopScan () final override
 Stops the current scan.
virtual bool supportsScanImageRaster () const final override
 Checks if the scanner supports image raster scanning.
virtual bool supportsState (ScannerState state) const final override
 Checks if the scanner supports a specific state.
Vertex< 3, fltp08targetPosition () const
 Retrieves the target position of the scanner.
virtual Buffer< TemperatureSensor * > temperatureSensors () const final override
 Retrieves the list of temperature sensors.
virtual TimeSpan updateInterval () const final override
 Retrieves the update interval for the scanner.
bool useCalibratedScan () const final override
 Checks if the scanner uses calibrated scans.
virtual bool usingPrism () const override
 Checks if the scanner is using a prism.
Public Member Functions inherited from INIInterface
 INIInterface ()
 Constructs an INIInterface with no default INI file.
 INIInterface (const File &default_ini)
 Constructs an INIInterface with the specified default INI file.
virtual ~INIInterface ()
 Virtual destructor for safe polymorphic cleanup.
virtual void finishReadingINI (INIFactory &)
 Called after reading an INI file.
virtual void prepareForINI (INIFactory &)
 Called before reading or writing an INI file.
virtual bool readINIOptions ()
 Reads INI options from the default INI file.
virtual bool readINIOptions (File &ini_file)
 Reads INI options from the specified INI file.
virtual bool saveINIOptions (bool multithead=false)
 Saves INI options to the default INI file.
virtual bool saveINIOptions (File &ini_file, bool multithead=false)
 Saves INI options to the specified INI file.
void setDefaultINIFile (const File &file)
 Sets the default INI file path used for reading and writing options.
virtual void writeToLog (const StringView &title, LogPtr log, uint01 log_level=2U)
 Writes the current INI options to the specified log with a title.
virtual void writeToLog (LogPtr log, uint01 log_level=2U)
 Writes the current INI options to the specified log.

Static Public Attributes

static ApplicationOption< bool > calculate_motor_offset
 Option to calculate motor offset.
static ApplicationOption< Angle< fltp08 > > compensator_offset_pitch
 Compensator offset for pitch.
static ApplicationOption< Angle< fltp08 > > compensator_offset_roll
 Compensator offset for roll.
static ApplicationOption< Angle< fltp08 > > compensator_to_encoder_offset_pitch
 Compensator-to-encoder offset for pitch.
static ApplicationOption< Angle< fltp08 > > compensator_to_encoder_offset_roll
 Compensator-to-encoder offset for roll.
static ApplicationOption< Stringconnection_address
 Connection address for the scanner.
static ApplicationOption< Angle< fltp08 > > encoder_angle_offset_pitch
 Encoder angle offset for pitch.
static ApplicationOption< Angle< fltp08 > > encoder_angle_offset_roll
 Encoder angle offset for roll.
static ApplicationOption< Angle< fltp08 > > motor_epsilon
 Motor epsilon value.

Protected Member Functions

void addDataToChartModel ()
 Adds data to the chart model.
fltp08 chartTime ()
 Retrieves the current chart time.
void initCameraModel ()
 Initializes the camera model.
void initCharts ()
 Initializes the chart models.
void initMeasureModel ()
 Initializes the measurement model.
void initMotors ()
 Initializes the scanner motors.
Matrix< fltp08laserTransform (const Vector< 3, Angle< fltp08 > > &head_angle) const override
 Retrieves the laser transformation matrix.
void onConnectedUpdate (const Time &current)
 Handles updates when the scanner is connected.
void parkDevice () override
 Parks the scanner device.
Vector< 3, Angle< fltp08 > > pointToHeadAngle (Vertex< 3, fltp08 > point) const override
 Converts a point to a head angle.
Matrix< fltp08prismModelFileTransform () const override
 Retrieves the transformation matrix for the prism model file.
void processData (Time time, const JorvikData &data)
 Processes incoming data.
void processMessages (Time time)
 Processes incoming messages.
void recordChartDeviation ()
 Records deviation data for charts.
void recordDeviation ()
 Records deviation data.
virtual FileRequest scanModelFile () const override
 Retrieves the scan model file.
Matrix< fltp08scanModelFileTransform () const override
 Retrieves the transformation matrix for the scan model file.
virtual Matrix< fltp08scanTransform () const override
 Retrieves the scan transformation matrix.
virtual void update (Time time) override
 Updates the scanner state.

Protected Attributes

NDEVRChartModelm_angle_chart_model [2]
 Chart models for angle data.
Buffer< Vector< 2, Angle< fltp08 > > > m_angle_targets
 Buffer of angle targets.
bool m_auto_update_model = true
 Indicates if the model is auto-updated.
CalibrationData * m_calibration_data
 Calibration data for the scanner.
DynamicPointer< Cameram_camera_model
 Camera model for the scanner.
Model m_camera_target_model
 Target model for the camera.
fltp08 m_chart_offset_time = 0.0
 Offset time for charts.
Scene m_chart_scene
 Scene for chart data.
Buffer< CollimatorReading > m_collimator_readings
 Buffer of collimator readings.
bool m_collimator_test = false
 Indicates if a collimator test is active.
JorvikConnection * m_connection
 Connection to the scanner.
bool m_constant_laser_fire = false
 Indicates if constant laser firing is enabled.
Vector< 2, Angle< fltp08 > > m_current_target = Constant<Vector<2, Angle<fltp08>>>::Invalid
 Current target angles.
NDEVRChartModelm_deviation_chart_model [2]
 Chart models for deviation data.
DistanceEncoderm_distance_encoder = nullptr
 Distance encoder for the scanner.
bool m_has_removed_bulb = false
 Indicates if the bulb has been removed.
bool m_infinite_test = false
 Indicates if an infinite test is active.
Time m_last_angle_update_time = Constant<Time>::Invalid
 Last update time for angles.
Time m_last_compensator_update_time = Constant<Time>::Invalid
 Last update time for the compensator.
Time m_last_distance_update_time = Time(0)
 Last update time for distance.
Time m_last_head_move_time = Time(0)
 Last move time for the scanner head.
Time m_last_head_update_time = Time(0)
 Last update time for the scanner head.
Time m_last_settings_time = Time(0)
 Last update time for settings.
bool m_manual_step = false
 Indicates if manual stepping is enabled.
bool m_manually_drive = false
 Indicates if manual driving is enabled.
fltp08 m_max_range = 10.0
 Maximum range of the scanner.
uint04 m_measure_initial_size = Constant<uint04>::Invalid
 Initial size for measurements.
PointMeasureModel * m_measure_model
 Measurement model for the scanner.
Scene m_measurement_points
 Scene for measurement points.
File m_model_file
 Model file for the scanner.
Buffer< Modelm_model_targets
 Buffer of model targets.
Vector< 2, Angle< fltp08 > > m_motor_offset = Constant<Vector<2, Angle<fltp08>>>::Invalid
 Motor offset calibration values.
Vector< 2, Angle< fltp08 > > m_motor_target = Constant<Vector<2, Angle<fltp08>>>::Invalid
 Motor target angles.
OrientationSensorm_orientation = nullptr
 Orientation sensor for the scanner.
NDEVRChartModelm_orientation_chart_model [2]
 Chart models for orientation data.
PositionSensorm_position_sensor = nullptr
 Position sensor for the scanner.
Vector< 2, Angle< fltp08 > > m_raw_angles = Constant<Vector<2, Angle<fltp08>>>::Invalid
 Raw angles from the scanner.
Vector< 2, Angle< fltp08 > > m_raw_compensator = Constant<Vector<2, Angle<fltp08>>>::Invalid
 Raw compensator angles.
TimeSpan m_reading_wait_time = TimeSpan(20.0)
 Wait time for readings.
Lightm_red_dot = nullptr
 Red dot light for the scanner.
UUID m_scan_profile
 Scan profile UUID.
TranslatedString m_test_name
 Name of the current test.
bool m_use_gnss = false
 Indicates if GNSS is used.
Protected Attributes inherited from INIInterface
File m_default_ini
 The default file path used for reading and writing INI options.

Detailed Description

Represents the Jorvik Total Station, a 3D scanner with advanced measurement capabilities.

This class extends Scanner3D and integrates with the INI system for configuration management.

Definition at line 40 of file JorvikTotalStation.h.

Constructor & Destructor Documentation

◆ JorvikTotalStation()

JorvikTotalStation::JorvikTotalStation ( JorvikConnection * connection,
DesignObjectLookup * manager,
QObject * parent = nullptr )

Constructor for the JorvikTotalStation.

Parameters
connectionPointer to the JorvikConnection instance.
managerPointer to the DesignObjectLookup instance.
parentOptional parent QObject.

References connection().

Member Function Documentation

◆ addGridOrientation()

void JorvikTotalStation::addGridOrientation ( sint04 range_pitch,
sint04 range_roll,
const Angle< fltp08 > & step_pitch,
const Angle< fltp08 > & step_roll,
const Angle< fltp08 > & offset )

Adds a grid orientation to the scanner.

Parameters
range_pitchRange of pitch angles.
range_rollRange of roll angles.
step_pitchStep size for pitch angles.
step_rollStep size for roll angles.
offsetOffset for the grid orientation.

References addGridOrientation().

Referenced by addGridOrientation().

◆ calculateDistance()

fltp08 JorvikTotalStation::calculateDistance ( )

Calculates the distance to a target.

Returns
The calculated distance.

References calculateDistance().

Referenced by calculateDistance().

◆ defaultCameraFeed()

String JorvikTotalStation::defaultCameraFeed ( )

Retrieves the default camera feed.

Returns
The default camera feed as a string.

References defaultCameraFeed().

Referenced by defaultCameraFeed().

◆ executeManualCommand()

bool JorvikTotalStation::executeManualCommand ( const String & command)
finaloverride

Executes a manual command on the scanner.

Parameters
commandThe command to execute.
Returns
True if the command was executed successfully, false otherwise.

References executeManualCommand().

Referenced by executeManualCommand().

◆ getINI()

virtual void JorvikTotalStation::getINI ( INIFactory & factory)
overridevirtual

Reads INI settings into the factory.

Parameters
factoryReference to the INIFactory instance.

Implements INIInterface.

References getINI().

Referenced by getINI().

◆ isConnected()

bool JorvikTotalStation::isConnected ( ) const
override

Checks if the total station is connected.

Returns
True if connected, false otherwise.

◆ orientHead()

void JorvikTotalStation::orientHead ( const Vector< 3, Angle< fltp08 > > & head_orientation)
finaloverride

Orients the scanner head to the specified orientation.

Parameters
head_orientationThe target orientation for the scanner head.

References orientHead().

Referenced by orientHead().

◆ saveDeviations()

void JorvikTotalStation::saveDeviations ( File file)

Saves deviation data to a file.

Parameters
fileThe file to save the data to.

References saveDeviations().

Referenced by saveDeviations().

◆ setConstantLaserFire()

void JorvikTotalStation::setConstantLaserFire ( bool constant_fire)

Enables or disables constant laser firing.

Parameters
constant_fireTrue to enable, false to disable.

References setConstantLaserFire().

Referenced by setConstantLaserFire().

◆ setModelFile()

void JorvikTotalStation::setModelFile ( const File & file)

Sets the model file for the total station.

Parameters
fileThe model file to set.

References setModelFile().

Referenced by setModelFile().

◆ targetPosition()

Vertex< 3, fltp08 > JorvikTotalStation::targetPosition ( ) const

Retrieves the target position of the scanner.

Returns
The target position as a 3D vertex.

References targetPosition().

Referenced by targetPosition().


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