AttitudeHistory.h

Go to the documentation of this file.
00001 
00002 
00008 /*  
00009 */
00011 
00012 #ifndef __ATTITUDE_HISTORY_H__
00013 #define __ATTITUDE_HISTORY_H__
00014 
00015 #include "Rotation.h"
00016 #include "AttitudeState.h"
00017 #include "Time.h"
00018 #include "History.h"
00019 #include <vector>
00020 using namespace std;
00021 namespace O_SESSAME {
00022 
00049 class AttitudeHistory : public History
00050 {
00051 public:
00054     AttitudeHistory();
00055     
00058     ~AttitudeHistory();
00059     
00070     void AppendHistory(const double &_appendTime, const Rotation &_appendRotation, const Vector &_appendAngVel);
00071     
00082     void AppendHistory(const ssfTime &_appendTime, const Rotation &_appendRotation, const Vector &_appendAngVel);
00083 
00093     void AppendHistory(const double &_appendTime, const AttitudeState &_appendAttitudeState);
00094 
00104     void AppendHistory(const ssfTime &_appendTime, const AttitudeState &_appendAttitudeState);
00105     
00114     void AppendHistory(const vector<ssfTime> &_appendTime, const vector<AttitudeState> &_appendAttitudeState);
00115 
00125     void AppendHistory(const vector<ssfTime> &_appendTime, const vector<Rotation> &_appendRotation, const vector<Vector> &_appendAngVel);
00126 
00128     void ResetHistory();
00129 
00139     Matrix GetHistory(const RotationType &_rotType = Quaternion_Type);
00140     
00150     void GetState(const ssfTime& _requestedTime, Rotation& _returnRotation, Vector& _returnAngVelVector);
00151     
00161     AttitudeState GetState(const ssfTime& _requestedTime);
00162 private:
00164     vector<AttitudeState> m_AttitudeHistory;
00166     vector<Interpolator*> m_AttitudeInterpolations; 
00167 
00168 };
00169 } // close namespace O_SESSAME
00170 
00171 #endif
00172 
00173 
00174 // Do not change the comments below - they will be added automatically by CVS
00175 /*****************************************************************************
00176 *       $Log: AttitudeHistory.h,v $
00177 *       Revision 1.10  2003/05/22 21:01:01  nilspace
00178 *       Updated comments.
00179 *       
00180 *       Revision 1.9  2003/05/20 17:50:01  nilspace
00181 *       Updated comments.
00182 *       
00183 *       Revision 1.8  2003/05/13 18:45:35  nilspace
00184 *       Added interpolation functionality.
00185 *       
00186 *       Revision 1.7  2003/05/01 23:59:48  nilspace
00187 *       Commented the API.
00188 *       
00189 *       Revision 1.6  2003/04/29 20:57:46  nilspace
00190 *       Updated to work with Propagator.
00191 *       
00192 *       Revision 1.5  2003/04/28 20:11:52  nilspace
00193 *       Made Quaternion_Type the default GetHistory rotation return type.
00194 *       
00195 *       Revision 1.4  2003/04/27 22:04:33  nilspace
00196 *       Created the namespace O_SESSAME.
00197 *       
00198 *       Revision 1.3  2003/04/23 17:00:47  nilspace
00199 *       Changed to work with AttitudeState and not Rotation and AngVel seperately.
00200 *       Time is now stored as ssfTime.
00201 *       
00202 *       Revision 1.2  2003/04/23 16:30:58  nilspace
00203 *       Various bugfixes & uploading of all changed code for new programmers.
00204 *       
00205 *       Revision 1.1  2003/03/27 20:29:20  nilspace
00206 *       Initial Submission.
00207 *
00208 ******************************************************************************/

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