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

OpenGL

开发平台:

Visual C++

  1. // parseobject.h
  2. //
  3. // Copyright (C) 2004 Chris Laurel <claurel@shatters.net>
  4. //
  5. // Functions for parsing objects common to star, solar system, and
  6. // deep sky catalogs.
  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_PARSEOBJECT_H_
  13. #define _CELENGINE_PARSEOBJECT_H_
  14. #include <string>
  15. #include "astro.h"
  16. #include "body.h"
  17. #include "parser.h"
  18. class ReferenceFrame;
  19. class TwoVectorFrame;
  20. class Universe;
  21. class Selection;
  22. bool ParseDate(Hash* hash, const string& name, double& jd);
  23. Orbit* CreateOrbit(const Selection& centralObject,
  24.                    Hash* planetData,
  25.                    const std::string& path,
  26.                    bool usePlanetUnits);
  27. RotationModel* CreateRotationModel(Hash* rotationData,
  28.                                    const string& path,
  29.                                    double syncRotationPeriod);
  30. RotationModel* CreateDefaultRotationModel(double syncRotationPeriod);
  31. ReferenceFrame* CreateReferenceFrame(const Universe& universe,
  32.                                      Value* frameValue,
  33.                                      const Selection& defaultCenter,
  34.                                      Body* defaultObserver);
  35. TwoVectorFrame* CreateTopocentricFrame(const Selection& center,
  36.                                        const Selection& target,
  37.                                        const Selection& observer);
  38. #endif // _CELENGINE_PARSEOBJECT_H_