|
FERS 0.1.0
The Flexible Extensible Radar Simulator
|
Manages rotational paths with different interpolation techniques. More...
#include "rotation_path.h"
Public Types | |
| enum class | InterpType : std::uint8_t { INTERP_STATIC , INTERP_CONSTANT , INTERP_LINEAR , INTERP_CUBIC } |
| Enumeration for types of interpolation. More... | |
Public Member Functions | |
| RotationPath (const InterpType type=InterpType::INTERP_STATIC) noexcept | |
| Constructor for RotationPath. | |
| ~RotationPath ()=default | |
| RotationPath (const RotationPath &)=delete | |
| RotationPath & | operator= (const RotationPath &)=delete |
| RotationPath (RotationPath &&)=delete | |
| RotationPath & | operator= (RotationPath &&)=delete |
| void | addCoord (const RotationCoord &coord) noexcept |
| Adds a rotation coordinate to the path. | |
| void | finalize () |
| Finalizes the rotation path for interpolation. | |
| const std::vector< RotationCoord > & | getCoords () const noexcept |
| Gets the list of rotation coordinates. | |
| RotationCoord | getStart () const noexcept |
| Gets the starting rotation coordinate. | |
| RotationCoord | getRate () const noexcept |
| Gets the rate of change for the rotation. | |
| InterpType | getType () const noexcept |
| Gets the interpolation type of the path. | |
| SVec3 | getPosition (RealType t) const |
| Gets the rotational position at a given time. | |
| void | setStart (const RotationCoord &start) noexcept |
| Sets the starting rotation coordinate. | |
| void | setRate (const RotationCoord &rate) noexcept |
| Sets the rate of change for the rotation. | |
| void | setInterp (InterpType setinterp) noexcept |
| Sets the interpolation type for the path. | |
| void | setConstantRate (const RotationCoord &setstart, const RotationCoord &setrate) noexcept |
| Sets constant rate interpolation. | |
Manages rotational paths with different interpolation techniques.
Definition at line 28 of file rotation_path.h.
|
strong |
Enumeration for types of interpolation.
Definition at line 35 of file rotation_path.h.
|
explicitnoexcept |
Constructor for RotationPath.
| type | The type of interpolation (default is static). |
Definition at line 48 of file rotation_path.h.
|
default |
|
delete |
|
delete |
|
noexcept |
Adds a rotation coordinate to the path.
| coord | The rotation coordinate to be added. |
Definition at line 24 of file rotation_path.cpp.
References max.
Referenced by fers_get_interpolated_rotation_path(), and serial::xml_parser_utils::parseRotationPath().
Here is the caller graph for this function:| void math::RotationPath::finalize | ( | ) |
Finalizes the rotation path for interpolation.
Definition at line 61 of file rotation_path.cpp.
References finalizeCubic(), and INTERP_CUBIC.
Referenced by fers_get_interpolated_rotation_path(), and serial::xml_parser_utils::parseRotationPath().
Here is the call graph for this function:
Here is the caller graph for this function:
|
noexcept |
Gets the list of rotation coordinates.
Definition at line 77 of file rotation_path.h.
Gets the rotational position at a given time.
| t | The time value for which to calculate the position. |
| PathException | if the path has not been finalized. |
Definition at line 31 of file rotation_path.cpp.
References math::RotationCoord::azimuth, math::RotationCoord::elevation, getPositionCubic(), getPositionLinear(), getPositionStatic(), INTERP_CONSTANT, INTERP_CUBIC, INTERP_LINEAR, INTERP_STATIC, max, and PI.
Referenced by fers_get_interpolated_rotation_path().
Here is the call graph for this function:
Here is the caller graph for this function:
|
noexcept |
Gets the rate of change for the rotation.
Definition at line 91 of file rotation_path.h.
|
noexcept |
Gets the starting rotation coordinate.
Definition at line 84 of file rotation_path.h.
|
noexcept |
Gets the interpolation type of the path.
Definition at line 98 of file rotation_path.h.
|
delete |
|
delete |
|
noexcept |
Sets constant rate interpolation.
| setstart | The starting rotation coordinate. |
| setrate | The rate of change for the rotation. |
Definition at line 79 of file rotation_path.cpp.
References max.
Referenced by serial::xml_parser_utils::parseFixedRotation().
Here is the caller graph for this function:
|
noexcept |
Sets the interpolation type for the path.
| setinterp | The new interpolation type to be used. |
Definition at line 73 of file rotation_path.cpp.
References max.
Referenced by fers_get_interpolated_rotation_path(), and serial::xml_parser_utils::parseRotationPath().
Here is the caller graph for this function:
|
noexcept |
Sets the rate of change for the rotation.
| rate | The new rate of change for the rotation. |
Definition at line 121 of file rotation_path.h.
|
noexcept |
Sets the starting rotation coordinate.
| start | The new starting rotation coordinate. |
Definition at line 114 of file rotation_path.h.