Vulcan
Aerospace Engineering Utilities Built on Janus
Loading...
Searching...
No Matches
Geometry.hpp File Reference
#include <vulcan/coordinates/EarthModel.hpp>
#include <vulcan/coordinates/Geodetic.hpp>
#include <vulcan/core/VulcanTypes.hpp>
#include <janus/math/Arithmetic.hpp>
#include <janus/math/Linalg.hpp>
#include <janus/math/Logic.hpp>
#include <janus/math/Trig.hpp>
Include dependency graph for Geometry.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  vulcan
namespace  vulcan::geometry

Functions

template<typename Scalar>
Scalar vulcan::geometry::slant_range (const Vec3< Scalar > &r_observer, const Vec3< Scalar > &r_target)
 Compute slant range (distance) between two points.
template<typename Scalar>
Vec2< Scalar > vulcan::geometry::los_angles (const Vec3< Scalar > &r_observer, const Vec3< Scalar > &r_target)
 Compute line-of-sight azimuth and elevation angles.
template<typename Scalar>
Vec2< Scalar > vulcan::geometry::los_rate (const Vec3< Scalar > &r_obs, const Vec3< Scalar > &v_obs, const Vec3< Scalar > &r_tgt, const Vec3< Scalar > &v_tgt)
 Compute line-of-sight angular rates.
template<typename Scalar>
Scalar vulcan::geometry::ray_sphere_intersection (const Vec3< Scalar > &origin, const Vec3< Scalar > &direction, const Vec3< Scalar > &center, const Scalar &radius)
 Ray-sphere intersection.
template<typename Scalar>
Scalar vulcan::geometry::ray_plane_intersection (const Vec3< Scalar > &origin, const Vec3< Scalar > &direction, const Vec3< Scalar > &plane_normal, const Vec3< Scalar > &plane_point)
 Ray-plane intersection.
template<typename Scalar>
Scalar vulcan::geometry::point_in_cone (const Vec3< Scalar > &point, const Vec3< Scalar > &apex, const Vec3< Scalar > &axis, const Scalar &half_angle)
 Check if a point lies within a cone (e.g., sensor FOV).
template<typename Scalar>
Vec3< Scalar > vulcan::geometry::project_to_plane (const Vec3< Scalar > &point, const Vec3< Scalar > &plane_normal, const Vec3< Scalar > &plane_point)
 Project a point onto a plane.
template<typename Scalar>
LLA< Scalar > vulcan::geometry::ground_track_point (const Vec3< Scalar > &r_ecef, const EarthModel &model=EarthModel::WGS84())
 Project ECEF position to ellipsoid surface (ground track point).
template<typename Scalar>
Vec3< Scalar > vulcan::geometry::ground_track_ecef (const Vec3< Scalar > &r_ecef, const EarthModel &model=EarthModel::WGS84())
 Compute ground track point and return as ECEF.