139 std::vector<RotationCoord> _coords;
140 std::vector<RotationCoord> _dd;
142 RotationCoord _start{};
143 RotationCoord _rate{};
Manages rotational paths with different interpolation techniques.
void finalize()
Finalizes the rotation path for interpolation.
InterpType getType() const noexcept
Gets the interpolation type of the path.
RotationPath(const InterpType type=InterpType::INTERP_STATIC) noexcept
Constructor for RotationPath.
RotationPath & operator=(const RotationPath &)=delete
void setConstantRate(const RotationCoord &setstart, const RotationCoord &setrate) noexcept
Sets constant rate interpolation.
void setInterp(InterpType setinterp) noexcept
Sets the interpolation type for the path.
SVec3 getPosition(RealType t) const
Gets the rotational position at a given time.
void addCoord(const RotationCoord &coord) noexcept
Adds a rotation coordinate to the path.
RotationCoord getRate() const noexcept
Gets the rate of change for the rotation.
void setStart(const RotationCoord &start) noexcept
Sets the starting rotation coordinate.
RotationPath & operator=(RotationPath &&)=delete
RotationPath(RotationPath &&)=delete
InterpType
Enumeration for types of interpolation.
@ INTERP_STATIC
Hold the first rotation for all query times.
@ INTERP_LINEAR
Linearly interpolate between neighboring rotations.
@ INTERP_CONSTANT
Hold the most recent rotation sample.
@ INTERP_CUBIC
Cubically interpolate between neighboring rotations.
void setRate(const RotationCoord &rate) noexcept
Sets the rate of change for the rotation.
const std::vector< RotationCoord > & getCoords() const noexcept
Gets the list of rotation coordinates.
RotationCoord getStart() const noexcept
Gets the starting rotation coordinate.
RotationPath(const RotationPath &)=delete
A class representing a vector in spherical coordinates.
Global configuration file for the project.
double RealType
Type for real numbers.
Coordinate and rotation structure operations.
Classes and operations for 3D geometry.
Represents a rotation in terms of azimuth, elevation, and time.