PositionVelocity.h

Go to the documentation of this file.
00001 
00002 
00008 /* \warning OrbitFrame conversions not included yet
00009 * \todo include conversion functions
00010 */
00012 
00013 #ifndef __SSF_POSITIONVELOCITY_H__
00014 #define __SSF_POSITIONVELOCITY_H__
00015 #include "Matrix.h"
00016 #include "OrbitStateRepresentation.h"
00017 
00018 namespace O_SESSAME {
00020 #define NUM_POSVEL_ELEMENTS 6 
00032 class PositionVelocity : public OrbitStateRepresentation
00033 {
00034 public:
00036     PositionVelocity();
00040     PositionVelocity(const Vector &_State);
00045     PositionVelocity(const Vector &_Position, const Vector &_Velocity);
00046 
00048     virtual ~PositionVelocity();
00049 
00055     void SetPositionVelocity(const Vector &_Position, const Vector &_Velocity);
00060     void SetPositionVelocity(const Vector &_PositionVelocity)           {SetState(_PositionVelocity);};
00061     
00065     Vector GetPositionVelocity() const                                  {return GetState();};
00066 
00071     void GetPositionVelocity(Vector &_Position, Vector &_Velocity) const {GetState(_Position, _Velocity); return;};
00072 
00080     virtual PositionVelocity* NewPointer();
00088     virtual PositionVelocity* Clone();
00089 
00090     
00091     virtual void SetState(const Vector &_State);
00092     virtual void SetState(const Vector &_Position, const Vector &_Velocity);
00093     virtual Vector GetState() const;
00094     virtual void GetState(Vector &_Position, Vector &_Velocity) const;
00095 
00096 private:
00098     Vector m_Elements;
00099 };
00100 } // close namespace O_SESSAME
00101 
00102 #endif
00103 
00104 // Do not change the comments below - they will be added automatically by CVS
00105 /*****************************************************************************
00106 *       $Log: PositionVelocity.h,v $
00107 *       Revision 1.7  2003/05/13 18:47:56  nilspace
00108 *       Fixed comments for better formatting.
00109 *       
00110 *       Revision 1.6  2003/05/02 16:16:47  nilspace
00111 *       Documented the API.
00112 *       
00113 *       Revision 1.5  2003/04/29 18:48:31  nilspace
00114 *       Added NewPointer and Clone functions to help in getting the correct memory allocation.
00115 *       
00116 *       Revision 1.4  2003/04/24 20:19:31  nilspace
00117 *       const'd all Get() functions.
00118 *       
00119 *       Revision 1.3  2003/04/23 18:52:29  nilspace
00120 *       Updated to call correct OrbitFrame::GetRotation calls.
00121 *       Added temporary PI and MU values.
00122 *       Added K_Vector Values.
00123 *       
00124 *       Revision 1.2  2003/04/22 18:06:08  nilspace
00125 *       Added math for Matthew Berry.
00126 *       
00127 *       Revision 1.1  2003/04/08 22:47:35  nilspace
00128 *       Initial Submission.
00129 *       
00130 *
00131 ******************************************************************************/

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