vtdata library
Public Member Functions | Protected Attributes | List of all members
LocalCS Class Reference

Public Member Functions

void Setup (LinearUnits units, const DRECT &earthextents)
 
void Setup (LinearUnits units, const DPoint2 &origin)
 
void LocalToEarth (float x, float z, double &ex, double &ey) const
 
void LocalToEarth (float x, float z, DPoint2 &earth) const
 
void LocalToEarth (const FPoint3 &world, DPoint3 &earth) const
 
void EarthToLocal (double ex, double ey, float &x, float &z) const
 
void EarthToLocal (const DPoint2 &earth, float &x, float &z) const
 
void EarthToLocal (const DPoint3 &earth, FPoint3 &world) const
 
void EarthToLocal (const DRECT &earth, FRECT &world) const
 
void VectorLocalToEarth (float x, float z, DPoint2 &earth) const
 
void VectorEarthToLocal (const DPoint2 &earth, float &x, float &z) const
 
LinearUnits GetUnits () const
 

Protected Attributes

LinearUnits m_Units
 
DPoint2 m_EarthOrigin
 
DPoint2 m_Scale
 

Detailed Description

This class represents a mapping between real earth coordinates (geographic or projected, elevation in meters) and a local, meters-based 3D coordinate system, which uses the right-handed OpenGL axis convention (X right, Y up, Z backwards)

Member Function Documentation

void LocalCS::EarthToLocal ( const DPoint2 earth,
float &  x,
float &  z 
) const

Convert from earth coodinates (map coordinates, altitude in meters) to the coordinate system of the virtual world (x,y,z)

void LocalCS::EarthToLocal ( const DPoint3 earth,
FPoint3 world 
) const

Convert from earth coodinates (map coordinates, altitude in meters) to the coordinate system of the virtual world (x,y,z)

void LocalCS::EarthToLocal ( const DRECT earth,
FRECT world 
) const

Convert from earth coodinates (map coordinates, altitude in meters) to the coordinate system of the virtual world (x,y,z)

void LocalCS::LocalToEarth ( float  x,
float  z,
DPoint2 earth 
) const

Convert from the coordinate system of the virtual world (x,y,z) to actual earth coodinates (map coordinates, altitude in meters)

void LocalCS::LocalToEarth ( const FPoint3 world,
DPoint3 earth 
) const

Convert from the coordinate system of the virtual world (x,y,z) to actual earth coodinates (map coordinates, altitude in meters)

void LocalCS::VectorEarthToLocal ( const DPoint2 earth,
float &  x,
float &  z 
) const

Convert a vector from earth coodinates (map coordinates, altitude in meters) to the coordinate system of the virtual world (x,y,z)

void LocalCS::VectorLocalToEarth ( float  x,
float  z,
DPoint2 earth 
) const

Convert a vector from the coordinate system of the virtual world (x,y,z) to actual earth coodinates (map coordinates, altitude in meters)