Ginan
Loading...
Searching...
No Matches
coordinates.hpp File Reference

Data Structures

struct  Sofa
 
struct  XFormData
 
struct  FrameSwapper
 

Functions

void eci2ecef (GTime time, const ERPValues &erpVal, Matrix3d &U, Matrix3d *dU_ptr=nullptr)
 
void pos2enu (const VectorPos &pos, double *E)
 
VectorEnu ecef2enu (const VectorPos &pos, const VectorEcef &r)
 
VectorEcef enu2ecef (const VectorPos &pos, const VectorEnu &e)
 transform local tangental coordinate vector to ecef
 
Matrix3d rotBasisMat (Vector3d &eX, Vector3d &eY, Vector3d &eZ)
 Converts coords of frame A (expressed in frame G) into transformation matrix from A to G E.g.
 
VectorPos ecef2pos (const VectorEcef &r)
 transform ecef to geodetic postion args : double *r I ecef position {x,y,z} (m) notes : WGS84, ellipsoidal height
 
VectorEcef pos2ecef (const VectorPos &pos)
 Transform geodetic postion to ecef.
 
VectorEcef body2ecef (const AttStatus &attStatus, const Vector3d &rBody)
 transform vector in body frame to ecef
 
Vector3d ecef2body (AttStatus &attStatus, VectorEcef &ecef, MatrixXd *dEdQ_ptr=nullptr)
 transform vector in ecef frame to body
 

Function Documentation

◆ body2ecef()

VectorEcef body2ecef ( const AttStatus & attStatus,
const Vector3d & rBody )

transform vector in body frame to ecef

Parameters
attStatusattitude (unit vectors of the axes of body frame) in ecef frame
rBodyvector in body frame
Here is the caller graph for this function:

◆ ecef2body()

Vector3d ecef2body ( AttStatus & attStatus,
VectorEcef & ecef,
MatrixXd * dEdQ_ptr = nullptr )

transform vector in ecef frame to body

Parameters
attStatusattitude (unit vectors of the axes of body frame) in ecef frame
ecefvector in ecef frame
Here is the caller graph for this function:

◆ ecef2enu()

VectorEnu ecef2enu ( const VectorPos & pos,
const VectorEcef & r )
Parameters
posgeodetic position {lat,lon} (rad)
rvector in ecef coordinate {x,y,z}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ecef2pos()

VectorPos ecef2pos ( const VectorEcef & r)

transform ecef to geodetic postion args : double *r I ecef position {x,y,z} (m) notes : WGS84, ellipsoidal height

Here is the call graph for this function:

◆ eci2ecef()

void eci2ecef ( GTime time,
const ERPValues & erpVal,
Matrix3d & U,
Matrix3d * dU_ptr = nullptr )
Parameters
timeCurrent time
erpValStructure containing the erp values
UMatrix3d containing the rotation matrix
dU_ptrMatrix3d containing the time derivative of the rotation matrix
Here is the call graph for this function:
Here is the caller graph for this function:

◆ enu2ecef()

VectorEcef enu2ecef ( const VectorPos & pos,
const VectorEnu & e )

transform local tangental coordinate vector to ecef

Parameters
posgeodetic position {lat,lon} (rad)
evector in local tangental coordinate {e,n,u}
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pos2ecef()

VectorEcef pos2ecef ( const VectorPos & pos)

Transform geodetic postion to ecef.

Parameters
posgeodetic position {lat,lon,h} (rad,m)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pos2enu()

void pos2enu ( const VectorPos & pos,
double * E )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rotBasisMat()

Matrix3d rotBasisMat ( Vector3d & eX,
Vector3d & eY,
Vector3d & eZ )

Converts coords of frame A (expressed in frame G) into transformation matrix from A to G E.g.

if eX/eY/eZ are body coordinates (frame A) in ECEF (frame G), matrix will transform from body frame to ECEF frame: ecef = rot * body.

Parameters
eXX+ unit vector of new coordinates
eYY+ unit vector of new coordinates
eZZ+ unit vector of new coordinates
Here is the caller graph for this function: