timeline.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // timeline.h
  2. //
  3. // Object timelines.
  4. //
  5. // Copyright (C) 2008, the Celestia Development Team
  6. // Initial version by Chris Laurel, claurel@gmail.com
  7. //
  8. // This program is free software; you can redistribute it and/or
  9. // modify it under the terms of the GNU General Public License
  10. // as published by the Free Software Foundation; either version 2
  11. // of the License, or (at your option) any later version.
  12. #ifndef _CELENGINE_TIMELINE_H_
  13. #define _CELENGINE_TIMELINE_H_
  14. #include <vector>
  15. class ReferenceFrame;
  16. class Orbit;
  17. class RotationModel;
  18. class TimelinePhase;
  19. class Timeline
  20. {
  21. public:
  22.     Timeline();
  23.     ~Timeline();
  24.     const TimelinePhase* findPhase(double t) const;
  25.     bool appendPhase(TimelinePhase*);
  26.     const TimelinePhase* getPhase(unsigned int n) const;
  27.     unsigned int phaseCount() const;
  28.     double startTime() const;
  29.     double endTime() const;
  30.     bool includes(double t) const;
  31.     void markChanged();
  32. private:
  33.     std::vector<TimelinePhase*> phases;
  34. };
  35. #endif // _CELENGINE_TIMELINE_H_