3dpcp/.svn/pristine/cd/cd025f91c70381d4674a5defcd629f7e945f3a3e.svn-base
2012-09-16 14:33:11 +02:00

44 lines
987 B
Text

#ifndef __COLORDISPLAY_H__
#define __COLORDISPLAY_H__
#include "show/colormanager.h"
#include "limits.h"
#include <set>
using std::set;
class colordisplay {
public:
virtual ~colordisplay() {}
inline void setColorManager(ColorManager *_cm) { cm = _cm; }
void displayLOD(float lod) {
if (cm) cm->load();
drawLOD(lod);
if (cm) cm->unload();
};
void display() {
if (cm) cm->load();
draw();
if (cm) cm->unload();
}
virtual void selectRay(float * &point) {};
virtual void selectRay(double * &point) {};
virtual void selectRay(set<float*> &points, int depth=INT_MAX) {};
virtual void selectRay(set<double*> &points, int depth=INT_MAX) {};
virtual void selectRayBrushSize(set<float*> &points, int brushsize) {};
virtual void selectRayBrushSize(set<double*> &points, int brushsize) {};
virtual void cycleLOD() {};
protected:
virtual void drawLOD(float lod) = 0;
virtual void draw() = 0;
ColorManager *cm;
};
#endif