This commit is contained in:
r.koeppe
2024-05-14 02:14:13 +02:00
parent 0052d3984b
commit 2d22ccd2d6
1423 changed files with 354055 additions and 7 deletions

View File

@ -0,0 +1,50 @@
#ifndef _VNMATH_POSITION_H_
#define _VNMATH_POSITION_H_
#include "vector.h"
namespace vn {
namespace math {
/// \brief Representation of a position/location.
class PositionD
{
private:
enum PositionType
{
POS_LLA,
POS_ECEF
};
public:
// TEMP
PositionD() { }
private:
PositionD(PositionType type, vec3d pos);
public:
/// \brief Creates a new <c>PositionD</c> from a latitude, longitude, altitude.
///
/// \param[in] lla The position expressed as a latitude, longitude, altitude.
/// \return The new <c>PositionD</c>.
static PositionD fromLla(vec3d lla);
/// \brief Creates a new <c>PositionD</c> from an earth-centered, earth-fixed.
///
/// \param[in] ecef The position expressed as an earth-centered, earth-fixed.
/// \return The new <c>PositionD</c>.
static PositionD fromEcef(vec3d ecef);
private:
PositionType _underlyingType;
vec3d _data;
};
}
}
#endif