History.h

Go to the documentation of this file.
00001 
00002 
00008 /*  
00009 *
00010 */
00012 
00013 #ifndef __HISTORY_H__
00014 #define __HISTORY_H__
00015 #include <vector>
00016 #include <functional>
00017 #include <algorithm>
00018 #include "Time.h"
00019 #include "Interpolator.h"
00020 using namespace std;
00021 namespace O_SESSAME {
00023 
00036 #define HISTORY_RESERVE_SIZE 1000 
00057 class History
00058 {
00059 public:
00062     History();
00063     
00066     virtual ~History();
00067     
00075     virtual void AppendHistory(const double &_appendTime);
00076 
00084     virtual void AppendHistory(const ssfTime &_appendTime);
00085     
00093     virtual vector<ssfTime>::difference_type AppendHistory(const vector<ssfTime> &_appendTime);
00094 
00096     void ResetHistory();
00097     
00101     virtual Matrix GetHistory();
00102     
00115     virtual void SetInterpolator(Interpolator* _newInterpolator);
00116     
00117 protected:
00125     vector<ssfTime>::difference_type  GetState(const ssfTime& _requestedTime);
00126     
00128     vector<ssfTime> m_TimeHistory;
00129     
00131     Interpolator* m_OriginalInterpolator;  
00132     
00134     vector<Interpolator*> m_TimeInterpolations;
00135 
00136 
00137 };
00138 
00139 } // close namespace O_SESSAME
00140 
00141 #endif
00142 
00143 
00144 // Do not change the comments below - they will be added automatically by CVS
00145 /*****************************************************************************
00146 *       $Log: History.h,v $
00147 *       Revision 1.13  2003/06/06 00:34:16  nilspace
00148 *       ?
00149 *       
00150 *       Revision 1.12  2003/05/27 17:35:52  nilspace
00151 *       Updated to prevent errors.
00152 *       
00153 *       Revision 1.11  2003/05/22 21:01:45  nilspace
00154 *       Updated comments.
00155 *       
00156 *       Revision 1.10  2003/05/20 17:50:01  nilspace
00157 *       Updated comments.
00158 *       
00159 *       Revision 1.9  2003/05/15 18:10:24  nilspace
00160 *       Added <functional> and <algorithm> to the include files.
00161 *       
00162 *       Revision 1.8  2003/05/13 18:45:35  nilspace
00163 *       Added interpolation functionality.
00164 *       
00165 *       Revision 1.7  2003/05/01 23:59:48  nilspace
00166 *       Commented the API.
00167 *       
00168 *       Revision 1.6  2003/05/01 18:24:36  nilspace
00169 *       Prevented overlapping Appends by removing the old states and times.
00170 *       
00171 *       Revision 1.5  2003/04/27 22:04:33  nilspace
00172 *       Created the namespace O_SESSAME.
00173 *       
00174 *       Revision 1.4  2003/04/25 17:15:00  nilspace
00175 *       Added OrbitHistory & made sure it builds.
00176 *       Moved Appending time to History.cpp.
00177 *       
00178 *       Revision 1.3  2003/04/23 17:01:02  nilspace
00179 *       Time is now stored as an ssfTime object.
00180 *       
00181 *       Revision 1.2  2003/04/23 16:30:58  nilspace
00182 *       Various bugfixes & uploading of all changed code for new programmers.
00183 *       
00184 *       Revision 1.1  2003/03/27 20:29:02  nilspace
00185 *       Initial Submission.
00186 *
00187 ******************************************************************************/

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