Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

marker.h

Go to the documentation of this file.
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_

Generated on Sat Jan 14 22:30:27 2006 for Celestia by  doxygen 1.4.1