|
FERS 1.0.0
The Flexible Extensible Radar Simulator
|
Classes | |
| class | Coord |
| Represents a position in 3D space with an associated time. More... | |
| class | Matrix3 |
| A class representing a 3x3 matrix. More... | |
| class | Path |
| Represents a path with coordinates and allows for various interpolation methods. More... | |
| class | PathException |
| Exception class for handling path-related errors. More... | |
| class | RotationCoord |
| Represents a rotation in terms of azimuth, elevation, and time. More... | |
| class | RotationPath |
| Manages rotational paths with different interpolation techniques. More... | |
| class | SVec3 |
| A class representing a vector in spherical coordinates. More... | |
| class | Vec3 |
| A class representing a vector in rectangular coordinates. More... | |
Functions | |
| Coord | operator* (const Coord &a, const Coord &b) noexcept |
Multiplies two Coord objects' positions and copies the time. | |
| 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 RealType b) noexcept |
Adds a scalar to a Coord's position while copying the time. | |
| Coord | operator* (const Coord &a, const RealType b) noexcept |
Multiplies a Coord's position by a scalar while copying the time. | |
| Coord | operator/ (const RealType a, const Coord &b) noexcept |
Divides a scalar by a Coord's position and copies the time. | |
| Coord | operator/ (const Coord &b, const RealType a) noexcept |
Divides a Coord's position by a scalar while copying the time. | |
| RotationCoord | operator* (const RotationCoord &a, const RotationCoord &b) noexcept |
Multiplies two RotationCoord objects' components and copies the time. | |
| RotationCoord | operator+ (const RotationCoord &a, const RotationCoord &b) noexcept |
Adds two RotationCoord objects' components and copies the time. | |
| RotationCoord | operator- (const RotationCoord &a, const RotationCoord &b) noexcept |
Subtracts two RotationCoord objects' components and copies the time. | |
| RotationCoord | operator/ (const RotationCoord &a, const RotationCoord &b) noexcept |
Divides two RotationCoord objects' components and copies the time. | |
| RotationCoord | operator+ (const RotationCoord &a, const RealType b) noexcept |
Adds a scalar to a RotationCoord's components while copying the time. | |
| RotationCoord | operator* (const RotationCoord &a, const RealType b) noexcept |
Multiplies a RotationCoord's components by a scalar while copying the time. | |
| RotationCoord | operator/ (const RealType a, const RotationCoord &b) noexcept |
Divides a scalar by a RotationCoord's components and copies the time. | |
| RotationCoord | operator/ (const RotationCoord &b, const RealType a) noexcept |
Divides a RotationCoord's components by a scalar while copying the time. | |
| SVec3 | operator+ (const SVec3 &a, const SVec3 &b) noexcept |
| Adds two SVec3 vectors. | |
| SVec3 | operator- (const SVec3 &a, const SVec3 &b) noexcept |
| Subtracts two SVec3 vectors. | |
| RealType | dotProduct (const Vec3 &a, const Vec3 &b) noexcept |
| Computes the dot product of two Vec3 vectors. | |
| Vec3 | operator* (const Vec3 &a, const Vec3 &b) noexcept |
| Multiplies two Vec3 vectors component-wise. | |
| Vec3 | operator+ (const Vec3 &a, const Vec3 &b) noexcept |
| Adds two Vec3 vectors component-wise. | |
| Vec3 | operator- (const Vec3 &a, const Vec3 &b) noexcept |
| Subtracts two Vec3 vectors component-wise. | |
| Vec3 | operator/ (const Vec3 &a, const Vec3 &b) |
| Divides two Vec3 vectors component-wise. | |
| Vec3 | operator* (const Vec3 &a, const RealType b) noexcept |
| Multiplies a Vec3 vector by a scalar value. | |
| Vec3 | operator/ (const Vec3 &a, const RealType b) noexcept |
| Divides a Vec3 vector by a scalar value. | |
| Vec3 | operator/ (const RealType a, const Vec3 &b) noexcept |
| Divides a scalar value by a Vec3 vector. | |
| void | to_json (nlohmann::json &j, const Vec3 &v) |
| void | from_json (const nlohmann::json &j, Vec3 &v) |
| void | to_json (nlohmann::json &j, const Coord &c) |
| void | from_json (const nlohmann::json &j, Coord &c) |
| void | to_json (nlohmann::json &j, const RotationCoord &rc) |
| void | from_json (const nlohmann::json &j, RotationCoord &rc) |
| NLOHMANN_JSON_SERIALIZE_ENUM (Path::InterpType, {{Path::InterpType::INTERP_STATIC, "static"}, {Path::InterpType::INTERP_LINEAR, "linear"}, {Path::InterpType::INTERP_CUBIC, "cubic"}}) void to_json(nlohmann | |
| void | from_json (const nlohmann::json &j, Path &p) |
| NLOHMANN_JSON_SERIALIZE_ENUM (RotationPath::InterpType, {{RotationPath::InterpType::INTERP_STATIC, "static"}, {RotationPath::InterpType::INTERP_CONSTANT, "constant"}, {RotationPath::InterpType::INTERP_LINEAR, "linear"}, {RotationPath::InterpType::INTERP_CUBIC, "cubic"}}) void to_json(nlohmann | |
| void | from_json (const nlohmann::json &j, RotationPath &p) |
Computes the dot product of two Vec3 vectors.
| a | The first vector. |
| b | The second vector. |
Definition at line 207 of file geometry_ops.h.
| void math::from_json | ( | const nlohmann::json & | j, |
| Coord & | c | ||
| ) |
Definition at line 55 of file json_serializer.cpp.
| void math::from_json | ( | const nlohmann::json & | j, |
| Path & | p | ||
| ) |
Definition at line 97 of file json_serializer.cpp.
References math::Path::addCoord(), math::Path::finalize(), and math::Path::setInterp().
Here is the call graph for this function:| void math::from_json | ( | const nlohmann::json & | j, |
| RotationCoord & | rc | ||
| ) |
Definition at line 74 of file json_serializer.cpp.
References math::RotationCoord::azimuth, math::RotationCoord::elevation, PI, and math::RotationCoord::t.
| void math::from_json | ( | const nlohmann::json & | j, |
| RotationPath & | p | ||
| ) |
Definition at line 140 of file json_serializer.cpp.
References math::RotationPath::addCoord(), math::RotationPath::finalize(), and math::RotationPath::setInterp().
Here is the call graph for this function:| void math::from_json | ( | const nlohmann::json & | j, |
| Vec3 & | v | ||
| ) |
Definition at line 43 of file json_serializer.cpp.
References math::Vec3::x, math::Vec3::y, and math::Vec3::z.
| math::NLOHMANN_JSON_SERIALIZE_ENUM | ( | Path::InterpType | , |
| {{Path::InterpType::INTERP_STATIC, "static"}, {Path::InterpType::INTERP_LINEAR, "linear"}, {Path::InterpType::INTERP_CUBIC, "cubic"}} | |||
| ) |
Definition at line 87 of file json_serializer.cpp.
References math::Path::INTERP_CUBIC, math::Path::INTERP_LINEAR, and math::Path::INTERP_STATIC.
| math::NLOHMANN_JSON_SERIALIZE_ENUM | ( | RotationPath::InterpType | , |
| {{RotationPath::InterpType::INTERP_STATIC, "static"}, {RotationPath::InterpType::INTERP_CONSTANT, "constant"}, {RotationPath::InterpType::INTERP_LINEAR, "linear"}, {RotationPath::InterpType::INTERP_CUBIC, "cubic"}} | |||
| ) |
Definition at line 107 of file json_serializer.cpp.
References math::RotationPath::INTERP_CONSTANT, math::RotationPath::INTERP_CUBIC, math::RotationPath::INTERP_LINEAR, and math::RotationPath::INTERP_STATIC.
Multiplies two Coord objects' positions and copies the time.
Definition at line 51 of file coord.h.
References math::Coord::pos.
|
noexcept |
Multiplies a RotationCoord's components by a scalar while copying the time.
Definition at line 148 of file coord.h.
References math::Coord::t.
|
noexcept |
Multiplies two RotationCoord objects' components and copies the time.
Definition at line 118 of file coord.h.
References math::Coord::t.
|
noexcept |
Adds a scalar to a RotationCoord's components while copying the time.
Definition at line 142 of file coord.h.
References math::Coord::t.
|
noexcept |
Adds two RotationCoord objects' components and copies the time.
Definition at line 124 of file coord.h.
References math::Coord::t.
Adds two SVec3 vectors.
Definition at line 91 of file geometry_ops.cpp.
References PI.
|
noexcept |
Subtracts two RotationCoord objects' components and copies the time.
Definition at line 130 of file coord.h.
References math::Coord::t.
Subtracts two SVec3 vectors.
Definition at line 102 of file geometry_ops.cpp.
References PI.
|
noexcept |
Divides a scalar by a RotationCoord's components and copies the time.
Definition at line 154 of file coord.h.
References math::Coord::t.
|
noexcept |
Divides two RotationCoord objects' components and copies the time.
Definition at line 136 of file coord.h.
References math::Coord::t.
|
noexcept |
Divides a RotationCoord's components by a scalar while copying the time.
Definition at line 160 of file coord.h.
References math::Coord::t.
Divides two Vec3 vectors component-wise.
Definition at line 226 of file geometry_ops.h.
References math::Vec3::x, math::Vec3::y, and math::Vec3::z.
| void math::to_json | ( | nlohmann::json & | j, |
| const Coord & | c | ||
| ) |
Definition at line 50 of file json_serializer.cpp.
| void math::to_json | ( | nlohmann::json & | j, |
| const RotationCoord & | rc | ||
| ) |
Definition at line 63 of file json_serializer.cpp.
References math::RotationCoord::azimuth, math::RotationCoord::elevation, PI, and math::RotationCoord::t.
| void math::to_json | ( | nlohmann::json & | j, |
| const Vec3 & | v | ||
| ) |
Definition at line 41 of file json_serializer.cpp.
References math::Vec3::x, math::Vec3::y, and math::Vec3::z.