|
FERS 1.0.0
The Flexible Extensible Radar Simulator
|
Manages rotational paths with different interpolation techniques. More...
#include "rotation_path.h"
Public Types | |
| enum class | InterpType { 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 27 of file rotation_path.h.
|
strong |
Enumeration for types of interpolation.
| Enumerator | |
|---|---|
| INTERP_STATIC | |
| INTERP_CONSTANT | |
| INTERP_LINEAR | |
| INTERP_CUBIC | |
Definition at line 34 of file rotation_path.h.
|
explicitnoexcept |
Constructor for RotationPath.
| type | The type of interpolation (default is static). |
Definition at line 47 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.
Referenced by fers_get_interpolated_rotation_path(), math::from_json(), 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(), math::from_json(), 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 76 of file rotation_path.h.
Referenced by serial::xml_serializer_utils::serializeRotation().
Here is the caller graph for this function: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, and PI.
Referenced by fers_get_interpolated_rotation_path(), and serial::kml_generator_utils::generateDirectionalAntennaKml().
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 90 of file rotation_path.h.
Referenced by serial::xml_serializer_utils::serializeRotation().
Here is the caller graph for this function:
|
noexcept |
Gets the starting rotation coordinate.
Definition at line 83 of file rotation_path.h.
Referenced by serial::xml_serializer_utils::serializeRotation().
Here is the caller graph for this function:
|
noexcept |
Gets the interpolation type of the path.
Definition at line 97 of file rotation_path.h.
Referenced by serial::xml_serializer_utils::serializeRotation(), and radar::to_json().
Here is the caller graph for this function:
|
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.
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.
Referenced by fers_get_interpolated_rotation_path(), math::from_json(), 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 120 of file rotation_path.h.
|
noexcept |
Sets the starting rotation coordinate.
| start | The new starting rotation coordinate. |
Definition at line 113 of file rotation_path.h.