120 return {a.azimuth * b.azimuth, a.elevation * b.elevation, a.
t};
126 return {a.azimuth + b.azimuth, a.elevation + b.elevation, a.
t};
132 return {a.azimuth - b.azimuth, a.elevation - b.elevation, a.
t};
138 return {a.azimuth / b.azimuth, a.elevation / b.elevation, a.
t};
144 return {a.azimuth + b, a.elevation + b, a.
t};
150 return {a.azimuth * b, a.elevation * b, a.
t};
156 return {a / b.azimuth, a / b.elevation, b.
t};
162 return {b.azimuth / a, b.elevation / a, b.
t};
A class representing a vector in rectangular coordinates.
double RealType
Type for real numbers.
Classes and operations for 3D geometry.
Coord operator+(const Coord &a, const Coord &b) noexcept
Adds two Coord objects' positions and copies the time.
Coord operator-(const Coord &a, const Coord &b) noexcept
Subtracts two Coord objects' positions and copies the time.
Coord operator/(const Coord &a, const Coord &b) noexcept
Divides two Coord objects' positions and copies the time.
Coord operator*(const Coord &a, const Coord &b) noexcept
Multiplies two Coord objects' positions and copies the time.
Represents a position in 3D space with an associated time.
Coord & operator=(RealType a) noexcept
Assignment operator to set the time and position.
bool operator<(const Coord &b) const noexcept
Comparison operator based on the time component.
Represents a rotation in terms of azimuth, elevation, and time.
RealType elevation
Elevation angle.
RotationCoord(const RealType az, const RealType el, const RealType time) noexcept
Constructor to initialize azimuth, elevation, and time.
RealType azimuth
Azimuth angle.
RotationCoord & operator=(const RealType a) noexcept
Assignment operator to set azimuth, elevation, and time.
bool operator<(const RotationCoord &b) const noexcept
Comparison operator based on the time component.
constexpr RotationCoord(const RealType a=0) noexcept
Constructor to initialize azimuth, elevation, and time.