initial
This commit is contained in:
50
vnproglib/cpp/include/vn/position.h
Normal file
50
vnproglib/cpp/include/vn/position.h
Normal 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
|
||||
Reference in New Issue
Block a user