2003-01-31 21:41:30 -07:00
|
|
|
// marker.h
|
|
|
|
//
|
|
|
|
// Copyright (C) 2003, Chris Laurel <claurel@shatters.net>
|
|
|
|
//
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
|
|
// modify it under the terms of the GNU General Public License
|
|
|
|
// as published by the Free Software Foundation; either version 2
|
|
|
|
// of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
#ifndef CELENGINE_MARKER_H_
|
|
|
|
#define CELENGINE_MARKER_H_
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
#include <string>
|
|
|
|
#include <celmath/vecmath.h>
|
|
|
|
#include <celutil/color.h>
|
|
|
|
#include <celengine/selection.h>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Marker
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Marker(const Selection&);
|
|
|
|
~Marker();
|
|
|
|
|
|
|
|
UniversalCoord getPosition(double jd) const;
|
|
|
|
Selection getObject() const;
|
|
|
|
|
|
|
|
Color getColor() const;
|
|
|
|
void setColor(Color);
|
|
|
|
float getSize() const;
|
|
|
|
void setSize(float);
|
2003-02-04 03:40:29 -07:00
|
|
|
int getPriority() const;
|
|
|
|
void setPriority(int);
|
2008-02-13 14:49:53 -07:00
|
|
|
bool isOccludable() const;
|
|
|
|
void setOccludable(bool);
|
2003-01-31 21:41:30 -07:00
|
|
|
|
2003-02-25 01:03:27 -07:00
|
|
|
enum Symbol
|
|
|
|
{
|
2006-09-18 11:04:55 -06:00
|
|
|
Diamond = 0,
|
2006-12-13 10:45:01 -07:00
|
|
|
Triangle = 1,
|
2006-09-18 11:04:55 -06:00
|
|
|
Square = 2,
|
2006-12-13 10:45:01 -07:00
|
|
|
FilledSquare = 3,
|
|
|
|
Plus = 4,
|
|
|
|
X = 5,
|
|
|
|
LeftArrow = 6,
|
|
|
|
RightArrow = 7,
|
|
|
|
UpArrow = 8,
|
|
|
|
DownArrow = 9,
|
|
|
|
Circle = 10,
|
|
|
|
Disk = 11
|
2003-02-25 01:03:27 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
Symbol getSymbol() const;
|
|
|
|
void setSymbol(Symbol);
|
|
|
|
|
2008-01-03 16:10:12 -07:00
|
|
|
string getLabel() const;
|
|
|
|
void setLabel(string);
|
2008-01-02 16:52:31 -07:00
|
|
|
|
2003-02-25 01:03:27 -07:00
|
|
|
void render() const;
|
|
|
|
|
2003-01-31 21:41:30 -07:00
|
|
|
private:
|
|
|
|
Selection obj;
|
|
|
|
float size;
|
|
|
|
Color color;
|
2003-02-04 03:40:29 -07:00
|
|
|
int priority;
|
2003-02-25 01:03:27 -07:00
|
|
|
Symbol symbol;
|
2008-01-03 16:10:12 -07:00
|
|
|
string label;
|
2008-02-13 14:49:53 -07:00
|
|
|
bool occludable;
|
2003-01-31 21:41:30 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef std::vector<Marker> MarkerList;
|
|
|
|
|
|
|
|
#endif // CELENGINE_MARKER_H_
|