68 UtVec3d GetPositionECI(Point aPoint,
const UtCalendar& aEpoch)
const;
69 UtVec3d GetVelocityECI(Point aPoint,
const UtCalendar& aEpoch)
const;
71 UtVec3d TransformPositionECItoRF(
const UtCalendar& aEpoch,
const UtVec3d& aPositionECI)
const;
72 UtVec3d TransformPositionRFtoECI(
const UtCalendar& aEpoch,
const UtVec3d& aPositionRF)
const;
73 UtVec3d TransformVelocityECItoRF(
const UtCalendar& aEpoch,
const UtVec3d& aPositionECI,
const UtVec3d& aVelocityECI)
const;
74 UtVec3d TransformVelocityRFtoECI(
const UtCalendar& aEpoch,
const UtVec3d& aPositionRF,
const UtVec3d& aVelocityRF)
const;
76 double GetSystemPeriod()
const;
78 static System GetSystemFromIdentifier(
const std::string& aIdentifier);
79 static std::string GetIdentifierFromSystem(System aSystem);
80 static std::vector<std::string> GetSystemIdentifiers();
81 static Point GetPointFromIdentifier(
const std::string& aIdentifier);
82 static std::string GetIdentifierFromPoint(Point aPoint);
83 static std::vector<std::string> GetPointIdentifiers();
84 static bool ValidLibrationPoint(System aSystem, Point aPoint);
87 static std::unique_ptr<ut::CentralBody> GetPrimaryBody(System aSystem);
88 static std::unique_ptr<ut::CentralBody> GetSecondaryBody(System aSystem);
90 double F_Gamma1(
double aGamma)
const;
91 double F_PrimeGamma1(
double aGamma)
const;
92 double F_Gamma2(
double aGamma)
const;
93 double F_PrimeGamma2(
double aGamma)
const;
94 double F_Gamma3(
double aGamma)
const;
95 double F_PrimeGamma3(
double aGamma)
const;
96 UtVec3d GetPointLocation(Point aPoint)
const;
97 void UpdateTransform(
const UtCalendar& aEpoch)
const;
98 static void SetMatrixFromVectors(UtMat3d& aMatrix,
const UtVec3d& aColumn0,
const UtVec3d& aColumn1,
const UtVec3d& aColumn2);
101 ut::CloneablePtr<ut::CentralBody> mPrimaryBody;
102 ut::CloneablePtr<ut::CentralBody> mSecondaryBody;
109 mutable UtVec3d mPosDiff;
110 mutable UtVec3d mVelDiff;
111 mutable UtVec3d mPosOriginECI;
112 mutable UtVec3d mVelOriginECI;
113 mutable UtMat3d mTransform;
114 mutable UtMat3d mTransformDot;
115 mutable UtCalendar mCurrentEpoch;