3 #include "ScannerSettings.h" 5 #include "maths/Rotation.h" 66 ScannerHead(glm::dvec3 headRotationAxis,
double headRotatePerSecMax_rad) {
67 this->cfg_device_rotateAxis = headRotationAxis;
68 this->cfg_device_rotatePerSecMax_rad = headRotatePerSecMax_rad;
79 void applySettings(std::shared_ptr<ScannerSettings> settings);
125 {this->cfg_device_rotatePerSecMax_rad = rotatePerSecMax;}
165 {this->cfg_setting_rotateStop_rad = rotateStop;}
179 {this->cfg_setting_rotateStart_rad = rotateStart;}
193 {this->cfg_setting_rotateRange_rad = rotateRange;}
void setRotateStop(double rotateStop)
Set rotation stop angle.
Definition: ScannerHead.h:164
double getRotateStart()
Get rotation start angle.
Definition: ScannerHead.h:172
glm::dvec3 cfg_device_rotateAxis
Rotation axis.
Definition: ScannerHead.h:57
Rotation cached_mountRelativeAttitude
Relative scanner head mount attitude.
Definition: ScannerHead.h:50
double cfg_setting_rotatePerSec_rad
Rotation per second (radians)
Definition: ScannerHead.h:26
Definition: Rotation.h:80
bool rotateCompleted()
Check if rotation has been completed.
Definition: ScannerHead.cpp:35
double cfg_setting_rotateRange_rad
Difference between rotation stop and start angles (radians)
Definition: ScannerHead.h:38
double getRotateRange()
Get rotation range.
Definition: ScannerHead.h:186
double cfg_device_rotatePerSecMax_rad
Maximum rotation per second (radians)
Definition: ScannerHead.h:20
void setRotateStart(double rotateStart)
Set rotation start angle.
Definition: ScannerHead.h:178
double getRotatePerSecMax()
Get the maximum rotation per second.
Definition: ScannerHead.h:118
Rotation & getMountRelativeAttitudeByReference()
Definition: ScannerHead.h:110
double cfg_setting_rotateStart_rad
Rotation start angle (radians)
Definition: ScannerHead.h:34
double getRotatePerSec_rad()
Get rotation per second.
Definition: ScannerHead.h:145
void setRotatePerSec_rad(double rotateSpeed_rad)
Set rotation per second.
Definition: ScannerHead.cpp:61
void setRotatePerSecMax(double rotatePerSecMax)
Set the maximum rotation per second.
Definition: ScannerHead.h:124
double cfg_setting_rotateStop_rad
Rotation stop angle (radians)
Definition: ScannerHead.h:30
void applySettings(std::shared_ptr< ScannerSettings > settings)
Apply scanner settings to the scanner head.
Definition: ScannerHead.cpp:12
void doSimStep(double pulseFreq_Hz)
Perform computations for current simulation step.
Definition: ScannerHead.cpp:22
ScannerHead(glm::dvec3 headRotationAxis, double headRotatePerSecMax_rad)
Scanner head constructor.
Definition: ScannerHead.h:66
Rotation getMountRelativeAttitude()
Obtain the relative mount attitude.
Definition: ScannerHead.cpp:31
void setRotateRange(double rotateRange)
Set rotation range.
Definition: ScannerHead.h:192
double getRotateStop()
Get rotation stop angle.
Definition: ScannerHead.h:158
void setCurrentRotateAngle_rad(double angle_rad)
Set the current rotation angle.
Definition: ScannerHead.cpp:49
double getRotateCurrent()
Get the current rotation angle.
Definition: ScannerHead.h:132
Definition: ScannerHead.h:13
double state_currentRotateAngle_rad
Current rotation angle (radians)
Definition: ScannerHead.h:44