You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
987 B
C++

#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