AttitudeState.h

Go to the documentation of this file.
00001 
00002 
00008 /* 
00009 * 
00010 */
00012 
00013 #ifndef __SSF_ATTITUDE_STATE_H__
00014 #define __SSF_ATTITUDE_STATE_H__
00015 
00016 #include "Matrix.h"
00017 #include "Rotation.h"
00018 
00019 namespace O_SESSAME {
00020 typedef int AttitudeFrame; 
00021 class OrbitState;
00022 
00045 class AttitudeState
00046 {
00047 public:
00050     AttitudeState();
00053     virtual ~AttitudeState();
00054 
00059     AttitudeState(const Rotation &_Rot, AttitudeFrame* _pAttFrame = NULL);
00060 
00066     AttitudeState(const Rotation &_Rot, const Vector &_AngVel, AttitudeFrame* _pAttFrame = NULL);
00067 
00072     void SetAttitudeFrame(AttitudeFrame* _pNewAttitudeFrame);
00073 
00077     AttitudeFrame* GetAttitudeFrame() const;
00078     
00084     void SetState(const Rotation& _Rotation, const Vector& _AngVel, AttitudeFrame* _attFrame = NULL);
00085     
00092     Vector GetState(const RotationType& _rotType = Quaternion_Type, AttitudeFrame* _attFrame = NULL, const int& _Sequence = 123) const;
00093         
00097     void SetRotation(const Rotation &_Rot);
00098 
00103     void SetRotation(const Rotation &_Rot, AttitudeFrame* _pAttFrame);
00104 
00108     Rotation GetRotation() const;
00109     
00113     void SetAngularVelocity(const Vector &_angVel);
00114     
00118     Vector GetAngularVelocity() const;
00119         
00126     Rotation GetRotation2Orbital(const OrbitState& _orbState) const;
00127     
00128 private:
00129     Rotation m_AttitudeRotation;        
00130     Vector m_AngularVelocity;           
00131     AttitudeFrame* m_pAttitudeFrame;    
00132 };
00133 
00134 } // close namespace O_SESSAME
00135 #endif
00136 
00137 // Do not change the comments below - they will be added automatically by CVS
00138 /*****************************************************************************
00139 *       $Log: AttitudeState.h,v $
00140 *       Revision 1.7  2003/06/12 23:07:08  nilspace
00141 *       Fixed to calculate Orbital rotation.
00142 *       
00143 *       Revision 1.6  2003/06/12 17:59:35  nilspace
00144 *       Added GetRotation2Orbit function.
00145 *       
00146 *       Revision 1.5  2003/05/20 17:46:25  nilspace
00147 *       Updated comments.
00148 *       
00149 *       Revision 1.4  2003/05/13 18:50:24  nilspace
00150 *       Fixed comments.
00151 *       
00152 *       Revision 1.3  2003/04/27 22:04:31  nilspace
00153 *       Created the namespace O_SESSAME.
00154 *       
00155 *       Revision 1.2  2003/04/23 16:30:58  nilspace
00156 *       Various bugfixes & uploading of all changed code for new programmers.
00157 *       
00158 *       Revision 1.1  2003/04/08 22:51:24  nilspace
00159 *       Initial submission in new directory.
00160 *       
00161 ******************************************************************************/

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