Orbit.cpp

Go to the documentation of this file.
00001 
00002 
00008 /* 
00009 *
00010 */
00012 
00013 #include "Orbit.h"
00014 #include "Environment.h"
00015 namespace O_SESSAME {
00016 
00017 Orbit::Orbit() : m_CurrentOrbitPosition(), m_pPropagator(NULL), m_Integrateable(false), m_Parameters(), m_pEnvironment(NULL), m_ControlForces() 
00018 {
00019 }
00020 
00021 Orbit::~Orbit()
00022 {
00029 }
00030 void Orbit::SetStateObject(const OrbitState &_currentOrbitPosition)     
00031 {
00032     m_CurrentOrbitPosition = _currentOrbitPosition;
00033 }
00034 
00035 OrbitState Orbit::GetStateObject() const
00036 {
00037     return m_CurrentOrbitPosition;
00038 }
00039     
00040 void Orbit::SetPropagator(Propagator *_pPropagator)
00041 {
00042     m_pPropagator = _pPropagator; 
00043     m_pPropagator->SetOrbitObject(this);
00044 }
00045     
00046 Propagator* Orbit::GetPropagator()
00047 {
00048     return m_pPropagator;
00049 }
00050 
00051 void Orbit::SetDynamicsEq(odeFunctor _orbitDynamicsEq)  
00052 {
00053     m_OrbitDynamicsEq = _orbitDynamicsEq;
00054     m_Integrateable = true;
00055 }
00056 odeFunctor Orbit::GetDynamicsEq()                               
00057 {
00058     return m_OrbitDynamicsEq;
00059 }
00060 
00061 void Orbit::SetStateConversion(IntegratedOrbitStateConversionFunction _ConversionFunction) 
00062 {
00063     m_OrbitStateConversionFunction = _ConversionFunction;
00064 }
00065 
00066 IntegratedOrbitStateConversionFunction Orbit::GetStateConversion() const
00067 {
00068     return m_OrbitStateConversionFunction;
00069 }
00070 
00071 
00072 bool Orbit::IsIntegrateable()
00073 {
00074     return m_Integrateable;
00075 }
00076 
00077 void Orbit::SetParameters(const Matrix &_Parameters)    
00078 {
00079     m_Parameters.initialize(_Parameters);
00080 }
00081 
00082 Matrix Orbit::GetParameters() const                             
00083 {
00084     return m_Parameters;
00085 } 
00086 void Orbit::SetEnvironment(Environment *_pEnvironment)  
00087 {
00088     m_pEnvironment = _pEnvironment;
00089     m_EnvironmentForcesFunctor.Set(m_pEnvironment, &Environment::GetForces);
00090 }
00091 
00092 Environment* Orbit::GetEnvironment()                    
00093 {
00094     return m_pEnvironment;
00095 }
00096 void Orbit::SetControlForces(const Vector &_controlForces)
00097 {
00098     m_ControlForces.initialize(_controlForces);
00099 }
00100 
00101 Vector Orbit::GetControlForces()                                
00102 {
00103     return m_ControlForces;
00104 }
00105 
00106 ObjectFunctor<Environment> Orbit::GetEnvironmentForcesFunctor()         
00107 {
00108     return m_EnvironmentForcesFunctor;
00109 }
00110 
00111 OrbitHistory& Orbit::GetHistoryObject()                         
00112 {
00113     return m_OrbitHistory;
00114 }
00115 } // end of namespace O_SESSAME
00116 // Do not change the comments below - they will be added automatically by CVS
00117 /*****************************************************************************
00118 *       $Log: Orbit.cpp,v $
00119 *       Revision 1.8  2003/06/10 14:52:04  nilspace
00120 *       Changed GetHistory to GetHistoryObject
00121 *       
00122 *       Revision 1.7  2003/05/22 21:03:07  nilspace
00123 *       Updated comments.
00124 *       
00125 *       Revision 1.6  2003/05/20 17:47:59  nilspace
00126 *       Updated comments.
00127 *       
00128 *       Revision 1.5  2003/04/28 20:13:17  nilspace
00129 *       GetHistory return by reference.
00130 *       
00131 *       Revision 1.4  2003/04/27 21:17:42  nilspace
00132 *       Finished moving function declarations out of the class interface.
00133 *       
00134 *       Revision 1.3  2003/04/27 21:14:01  nilspace
00135 *       Added to the namespace O_SESSAME.
00136 *       Moved function definitions outside of the class interface definition.
00137 *       
00138 *       Revision 1.2  2003/04/25 13:36:57  nilspace
00139 *       Updated to work with current History, Environment, & Propagator objects.
00140 *       
00141 *       Revision 1.1  2003/04/08 22:48:59  nilspace
00142 *       Initial Submission.
00143 *       
00144 *       
00145 *
00146 ******************************************************************************/

Generated on Wed Aug 6 12:58:49 2003 for Open-Sessame Framework by doxygen1.3