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

OpenGL

开发平台:

Visual C++

  1. // asterism.h
  2. //
  3. // Copyright (C) 2001-2008, the Celestia Development Team
  4. // Original version by Chris Laurel <claurel@gmail.com> 
  5. //
  6. // This program is free software; you can redistribute it and/or
  7. // modify it under the terms of the GNU General Public License
  8. // as published by the Free Software Foundation; either version 2
  9. // of the License, or (at your option) any later version.
  10. #ifndef _CELENGINE_ASTERISM_H_
  11. #define _CELENGINE_ASTERISM_H_
  12. #include <string>
  13. #include <vector>
  14. #include <iostream>
  15. #include <celengine/stardb.h>
  16. class Asterism
  17. {
  18.  public:
  19.     Asterism(std::string);
  20.     ~Asterism();
  21.     typedef std::vector<Point3f> Chain;
  22.     std::string getName(bool i18n = false) const;
  23.     int getChainCount() const;
  24.     const Chain& getChain(int) const;
  25. bool getActive() const;
  26. void setActive(bool _active);
  27.     Color getOverrideColor() const;
  28. void setOverrideColor(Color c);
  29. void unsetOverrideColor();
  30. bool isColorOverridden() const;
  31.     void addChain(Chain&);
  32.  private:
  33.     std::string name;
  34.     std::string i18nName;
  35.     std::vector<Chain*> chains;
  36. bool active;
  37. bool useOverrideColor;
  38.     Color color;
  39. };
  40. typedef std::vector<Asterism*> AsterismList;
  41. AsterismList* ReadAsterismList(std::istream&, const StarDatabase&);
  42. #endif // _CELENGINE_ASTERISM_H_