celestia/src/celengine/marker.h

76 lines
1.5 KiB
C
Raw Normal View History

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);
bool isOccludable() const;
void setOccludable(bool);
2003-01-31 21:41:30 -07:00
2003-02-25 01:03:27 -07:00
enum Symbol
{
Diamond = 0,
2006-12-13 10:45:01 -07:00
Triangle = 1,
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);
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;
string label;
bool occludable;
2003-01-31 21:41:30 -07:00
};
typedef std::vector<Marker> MarkerList;
#endif // CELENGINE_MARKER_H_