00001 // marker.h 00002 // 00003 // Copyright (C) 2003, Chris Laurel <claurel@shatters.net> 00004 // 00005 // This program is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU General Public License 00007 // as published by the Free Software Foundation; either version 2 00008 // of the License, or (at your option) any later version. 00009 00010 #ifndef CELENGINE_MARKER_H_ 00011 #define CELENGINE_MARKER_H_ 00012 00013 #include <vector> 00014 #include <string> 00015 #include <celmath/vecmath.h> 00016 #include <celutil/color.h> 00017 #include <celengine/selection.h> 00018 00019 00020 00021 class Marker 00022 { 00023 public: 00024 Marker(const Selection&); 00025 ~Marker(); 00026 00027 UniversalCoord getPosition(double jd) const; 00028 Selection getObject() const; 00029 00030 Color getColor() const; 00031 void setColor(Color); 00032 float getSize() const; 00033 void setSize(float); 00034 int getPriority() const; 00035 void setPriority(int); 00036 00037 enum Symbol 00038 { 00039 Diamond = 0, 00040 Triangle = 1, 00041 Square = 2, 00042 Plus = 3, 00043 X = 4 00044 }; 00045 00046 Symbol getSymbol() const; 00047 void setSymbol(Symbol); 00048 00049 void render() const; 00050 00051 private: 00052 Selection obj; 00053 float size; 00054 Color color; 00055 int priority; 00056 Symbol symbol; 00057 }; 00058 00059 typedef std::vector<Marker> MarkerList; 00060 00061 #endif // CELENGINE_MARKER_H_
1.4.1