#include #include #include "show/viewcull.h" #include "show/scancolormanager.h" //#include "show/colormanager.h" /* #include "limits.h" #include using std::vector; #include #include using std::string; #include #include #include #include #include */ #ifndef __DISPLAY_H__ #define __DISPLAY_H__ using namespace std; class SDisplay { public: //inline void setColorManager(ColorManager *_cm) { cm = _cm; } //virtual SDisplay* readFromFile(string &filename) = 0; virtual const char *getName() { return "Unnamed display"; } virtual void display(double detail) { displayAll(); } virtual void displayAll(); virtual void displayObject() = 0; static void readDisplays(string &filename, vector &displays); protected: static double mirror[16]; //ColorManager *cm; }; class PointDisplay : public SDisplay { public: static SDisplay* readFromFile(string &filename); virtual void displayObject(); private: PointDisplay(vector &p, vector &l); vector points; vector labels; }; class LineDisplay : public SDisplay { public: static SDisplay* readFromFile(string &filename); virtual void displayObject(); private: LineDisplay(vector &l); vector lines; }; class PlaneDisplay : public SDisplay { public: static SDisplay* readFromFile(string &filename, float* color); virtual void displayObject(); private: PlaneDisplay(vector &p, float* c); vector points; float * color; }; class GroupPlaneDisplay : public SDisplay { public: static SDisplay* readFromFile(string &filename); virtual void displayObject(); private: GroupPlaneDisplay(vector &p); vector planes; }; #endif