Earth Observation Mission CFI Software Lib Software User Manual |
Base class for Coord objects. More...
Public Member Functions | |
Coord () | |
Class constructor (empty constructor). | |
Coord (long csRef, long der, double pos[3], double vel[3], double acc[3]) | |
Class constructor. | |
~Coord () | |
Class destructor. | |
Geodetic | getGeodetic (const ModelId &modelId, long deriv) throw (CfiError) |
void | setGeodetic (const ModelId &modelId, long deriv, const Geodetic &geo) throw (CfiError) |
Set the cartesian vector from the input geodetic coordinates (EARTH FIXED CS). | |
Kepler | getKepler (const ModelId &modelId, long mode) throw (CfiError) |
Get Keplerian elements for the input satellite state vector. | |
void | setKepler (const ModelId &modelId, const Kepler &kep) throw (CfiError) |
Set cartesian satellite state vector from input Keplerian elements. | |
StarData | getRaDec (const ModelId &modelId, long deriv) throw (CfiError) |
Get the spherical coordinates of the Coord vector. | |
void | topocentricToEf (const ModelId &modelId, long mode, long deriv, const Coord &topOrigin, const Topocentric &topo) |
Change topocentric to EF CS. | |
void | efToTopocentric (const ModelId &modelId, long mode, long der, const Coord &topOrigin, Topocentric &topo) |
Change EF to topocentric CS. | |
void | operator= (Coord c) |
Operator=. | |
Public Attributes | |
long | cs |
Coordinate system (enumeration value). | |
long | deriv |
Derivative flag that indicates which derivatives are computed. | |
double | pos [3] |
Position vector. | |
double | vel [3] |
Velocity vector. | |
double | acc [3] |
Acceleration vector. |
Base class for Coord objects.
EECFI::Coord::Coord | ( | ) |
EECFI::Coord::Coord | ( | long | csRef, | |
long | der, | |||
double | p[3], | |||
double | v[3], | |||
double | a[3] | |||
) |
EECFI::Coord::~Coord | ( | ) | [inline] |
Class destructor.
void EECFI::Coord::efToTopocentric | ( | const ModelId & | modelId, | |
long | mode, | |||
long | der, | |||
const Coord & | topOrigin, | |||
Topocentric & | topo | |||
) |
Change EF to topocentric CS.
modelId | Model id. | |
mode | Flag to indicate if the input coordinates is location or a direction (ModeFlagEnum). | |
der | Flag to indicate if the first derivative has to be computed (XLCFI_NO_DER or XLCFI_DER_1ST). | |
topOrigin | Position of the topocentric CS in the EF CS. | |
topo | (Output) Topocentric coordinates. |
References EECFI::Topocentric::azim, EECFI::Topocentric::azimDer, EECFI::Topocentric::elev, EECFI::Topocentric::elevDer, pos, EECFI::Topocentric::range, EECFI::Topocentric::rangeDer, EECFI::CfiClass::throwWarn, and vel.
Get geodetic coordinates of the input cartesian vector; Assumption: Coordinates are given in EARTH FIXED CS.
Class destructor.
modelId | Model Id. | |
deriv | derivative to be computed (XLCFI_NO_DER or XLCFI_1ST_DER). | |
deriv | derivative and mode to be computed. The possible values are possible:
The Bowring iterative method is more accurate but it provides a poor runtime perfomance. The Bowring direct method is less accurate than the iterative method at the satellite height, but it provides a better runtime perfomance. |
References EECFI::Geodetic::alt, EECFI::Geodetic::altDer, EECFI::Geodetic::deriv, EECFI::Geodetic::lat, EECFI::Geodetic::latDer, EECFI::Geodetic::lon, and EECFI::Geodetic::lonDer.
Get Keplerian elements for the input satellite state vector.
modelId | Model id. | |
mode | input keplerian elements type: XLCFI_KEPLER_MEAN or XLCFI_KEPLER_OSC . |
References EECFI::Kepler::a, EECFI::Kepler::cs, EECFI::Kepler::e, EECFI::Kepler::i, EECFI::Kepler::m, EECFI::Kepler::mode, EECFI::Kepler::ra, and EECFI::Kepler::w.
Get the spherical coordinates of the Coord vector.
Note that Coord object must not be in XLCFI_EF CS.
modelId | Model id. | |
deriv | XLCFI_DER_1ST to compute proper motions and radial velocity (for galactic coordinates derivatives are not computed). |
References EECFI::StarData::cs, EECFI::StarData::dec, EECFI::StarData::muDec, EECFI::StarData::muRa, EECFI::StarData::parallax, EECFI::StarData::ra, and EECFI::StarData::radVel.
void EECFI::Coord::setGeodetic | ( | const ModelId & | modelId, | |
long | deriv, | |||
const Geodetic & | geo | |||
) | throw (CfiError) |
Set the cartesian vector from the input geodetic coordinates (EARTH FIXED CS).
modelId | Model id. | |
deriv | derivative to be computed (XLCFI_NO_DER or XLCFI_1ST_DER). | |
geo | Geodetic coordinates. |
Set cartesian satellite state vector from input Keplerian elements.
modelId | Model id. | |
kep | input keplerian elements. |
void EECFI::Coord::topocentricToEf | ( | const ModelId & | modelId, | |
long | mode, | |||
long | der, | |||
const Coord & | topOrigin, | |||
const Topocentric & | topo | |||
) |
Change topocentric to EF CS.
modelId | Model id. | |
mode | Flag to indicate if the input coordinates is location or a direction (ModeFlagEnum). | |
der | Flag to indicate if the first derivative has to be computed (XLCFI_NO_DER or XLCFI_DER_1ST). | |
topOrigin | Position of the topocentric CS in the EF CS. | |
topo | Topocentric coordinates. |
References EECFI::Topocentric::azim, EECFI::Topocentric::azimDer, cs, deriv, EECFI::Topocentric::elev, EECFI::Topocentric::elevDer, pos, EECFI::Topocentric::range, EECFI::Topocentric::rangeDer, EECFI::CfiClass::throwWarn, and vel.
double EECFI::Coord::acc[3] |
Acceleration vector.
Referenced by Coord(), and operator=().
long EECFI::Coord::cs |
Coordinate system (enumeration value).
Referenced by Coord(), operator=(), and topocentricToEf().
long EECFI::Coord::deriv |
Derivative flag that indicates which derivatives are computed.
Referenced by Coord(), operator=(), and topocentricToEf().
double EECFI::Coord::pos[3] |
Position vector.
Referenced by Coord(), efToTopocentric(), operator=(), and topocentricToEf().
double EECFI::Coord::vel[3] |
Velocity vector.
Referenced by Coord(), efToTopocentric(), operator=(), and topocentricToEf().