Gl Graph
Gl Graph Source of glscene.h
#ifndef GL_SCENE_H
#define GL_SCENE_H
#include <GL/gl.h>
class DrawableSet; // forward declaration
class GlCamera; // forward declaration
class GlAxes; // forward declaration
class GlVersion; // forward declaration
class GlCanvas; // forward declaration
class GlSceneStat; // forward declaration
class MouseKeybordState; // forward declaration
class GlScene {
private:
DrawableSet * set;
GlCamera * camera;
GlAxes * axes;
GlVersion * version;
GlCanvas * canvas;
GlSceneStat * stat;
bool isInitDone;
bool isKeepProportionXY;
bool isRedrawNeeded;
bool isTextInfo;
bool isDepthBufferEnable;
unsigned int width;
unsigned int height;
GLenum polygonMode;
CameraView view;
public:
GlScene(unsigned int width,unsigned int height);
~GlScene();
void init(DrawableSet * set);
// Manage redraw
void setReDraw();
void unsetReDraw();
bool isReDraw();
// Manage Keep proportion (ratio)
void setKeepProportionXY(bool keepProportionXY);
bool getKeepProportionXY();
void swapKeepProportionXY();
// Manage text info
void setTextInfo(bool textInfo);
bool getTextInfo();
void swapTextInfo();
// Manage depth buffer
void setDepthBuffer(bool isDepthBufferEnable);
bool getDepthBuffer();
void swapDepthBuffer();
// Manage Set change
bool isSetChange();
//Manage pologone swapPolygonMode
void swapPolygonMode();
void setPolygonMode(GLenum mode);
GLenum getPolygonMode();
// Manage view
const char* getViewName();
void swapView();
void setFreeView();
//Manage Event
void onResize(unsigned int width,unsigned int height);
//Manage Draw operation
void reset();
void drawAll(MouseKeybordState* state);
void draw();
void drawSelectionSquare(MouseKeybordState* state);
void drawText(int xButtonMotion,int yButtonMotion);
void drawText();
void drawTextOpengl();
void drawTextMinMax();
void drawTextZoom();
void drawTextCameraPosition();
void drawTextMousePosition(int xButtonMotion,int yButtonMotion);
void drawTextPolygonMode();
void drawTextViewName();
void drawTextFps();
void drawTextNbElement();
void drawTextDepthBuffer();
// Manage access
DrawableSet *getDrawableSet() {
return set;
};
GlCamera *getCamera() {
return camera;
};
GlAxes *getAxes() {
return axes;
};
GlCanvas *getCanvas() {
return canvas;
};
GlVersion *getVersion() {
return version;
};
//Manage opengl basic operation
void clearBuffer();
void loadIdentity();
void updateView();
void updateDepthBuffer();
void setOpenglPojectionMatrix();
void setOpenglModelViewMatrix();
void pushMatrix();
void popMatrix();
float getXPixelSize();
float getYPixelSize();
};
#endif