00001
00002
00008
00009
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 }
00101
00102 #endif
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131