#include <QGLViewer/qglviewer.h> class Luxo { public : Luxo(); void draw(const bool names=false); qglviewer::ManipulatedFrame* frame(const unsigned short i) { return frame_[i]; } void setSelectedFrameNumber(const unsigned short nb) { selected = nb; } private : // The four articulations of the viewer qglviewer::ManipulatedFrame* frame_[4]; unsigned short selected; void drawCone(const float zMin,const float zMax, const float r1, const float r2, const float nbSub); void drawBase(); void drawArm(); void drawCylinder(); void setColor(const unsigned short nb); void drawHead(); }; class Viewer : public QGLViewer { protected : virtual void draw(); virtual void init(); virtual void select(const QMouseEvent* e); virtual QString helpString() const; void initSpotLight(); private : Luxo luxo; };