#include <GLWidget.h>
Inherited by BuildGLWidget, ModelGLWidget, and PieceGLWidget.
Inheritance diagram for GLWidget:


Public Types | |
| enum | EViewState { Ortho, Perspective } |
| enum | EMouseAction { Rotate, Translate, Scale } |
| enum | EAxis { Xaxis, Yaxis, Zaxis, XYaxis, XZaxis, YZaxis } |
| enum | ETransformType { WorldSpace, ObjectSpace } |
Public Slots | |
| void | rotateTimeout () |
| void | resetState () |
| void | setContinuous (bool val) |
| void | setViewFrustrum (QAction *act) |
| void | setViewFrustrum (GLWidget::EViewState newState) |
| void | setAction (QAction *act) |
| void | setAxis (QAction *act) |
| void | setSpace (QAction *act) |
| void | setCullFace (bool b) |
| virtual void | updateView (int hint) |
| void | doBindTexture (int index, QImage img) |
| void | doUpdateTexture (int index, QImage img) |
| void | rotate (EAxis axis, int x, int y) |
| void | zoom (int v) |
| void | setUsingLight (bool use) |
| Coord3df | lightPos () |
| void | setLightPos (const Coord3df &c) |
| void | setLightColor (const Coord3df &c) |
| void | reLight () |
Signals | |
| void | rotated (GLWidget::EAxis axis, int x, int y) |
| void | callReset () |
| void | zoomChanged (int v) |
Public Member Functions | |
| GLWidget (QWidget *parent=NULL, QGLWidget *sharefrom=NULL) | |
| the GLWidget constructor. | |
| virtual | ~GLWidget () |
| bool | isUsingLight () |
| EViewState | currentViewState () const |
| EMouseAction | currentMouseAction () const |
| EAxis | currentAxis () const |
| ETransformType | currentTransformType () const |
Public Attributes | |
| QList< int > | m_textures |
Protected Member Functions | |
| virtual void | drawTargets (bool inChoise) |
| this is a call back to whoever subclasses this widget and calls DoChoise the default implementation does nothing. | |
| int | DoChoise (int chX, int chY) |
| perform actual selection of target. | |
| void | DoReset () |
| void | setNewMinMax (const Coord3df &min, const Coord3df &max, bool scale) |
| void | mglPrint (const QString &str) |
| virtual void | myPaintGL () |
| virtual void | initializeGL () |
| virtual void | resizeGL (int width, int height) |
| virtual void | mousePressEvent (QMouseEvent *event) |
| virtual void | mouseReleaseEvent (QMouseEvent *event) |
| virtual void | mouseMoveEvent (QMouseEvent *event) |
| virtual void | wheelEvent (QWheelEvent *event) |
| double | getScrDiv () const |
Protected Attributes | |
| const int | m_minScaleReset |
| bool | m_bBackFaceCulling |
| bool | m_bContinuous |
| int | m_nRotSens |
| int | m_nScaleSens |
| int | m_nTransSens |
| Coord3df | aqmin |
| Coord3df | aqmax |
| QPoint | m_lastPos |
| EViewState | m_viewState |
| EMouseAction | m_mouseAct |
| EAxis | m_axis |
| ETransformType | m_transformType |
| int | m_zoomVal |
| bool | m_fUseLight |
| Coord3df | m_lightPos |
| Coord3df | m_lightColor |
| float | m_lightAmbient |
| float | m_lightDiffuse |
| float | m_lightSpecular |
| bool | m_bSkewReset |
Private Member Functions | |
| virtual void | paintGL () |
| void | callDrawTargets () |
| bool | SetupViewingFrustum (void) |
| bool | SetupViewingOrthoConstAspect (void) |
| void | reCalcProj (bool fFromScratch=true) |
| void | reCalcLight () |
| void | ActMouseMove (EMouseAction action, int dx, int dy) |
| void | translate (int xValue, int yValue) |
| void | scale (int xValue, int yValue) |
| void | BuildFont () |
| Build Our Bitmap Font. | |
| void | KillFont () |
| Delete The Font. | |
Private Attributes | |
| int | m_nXDelt |
| int | m_nYDelt |
| bool | m_bTimerMode |
| QTimer * | m_timer |
| int | m_fontBase |
| int | m_cxClient |
| hold the windows width | |
| int | m_cyClient |
| hold the windows height | |
| double | m_AspectRatio |
| hold the fixed Aspect Ration | |
| double | scrScale |
| double | realScale |
| double | m_osf |
It implements several key functionalities all the QGLWidgets I'm using share in common. these unctionalities are:
| enum GLWidget::EViewState |
| enum GLWidget::EAxis |
| GLWidget::GLWidget | ( | QWidget * | parent = NULL, |
|
| QGLWidget * | sharefrom = NULL | |||
| ) |
the GLWidget constructor.
alot of default values are set here. if a derived subclass wishes for a different setting he may alter them in its constructor.
| virtual GLWidget::~GLWidget | ( | ) | [inline, virtual] |
| bool GLWidget::isUsingLight | ( | ) | [inline] |
| EViewState GLWidget::currentViewState | ( | ) | const [inline] |
| EMouseAction GLWidget::currentMouseAction | ( | ) | const [inline] |
| EAxis GLWidget::currentAxis | ( | ) | const [inline] |
| ETransformType GLWidget::currentTransformType | ( | ) | const [inline] |
| void GLWidget::rotateTimeout | ( | ) | [slot] |
| void GLWidget::resetState | ( | ) | [inline, slot] |
| void GLWidget::setContinuous | ( | bool | val | ) | [slot] |
| void GLWidget::setViewFrustrum | ( | QAction * | act | ) | [slot] |
| void GLWidget::setViewFrustrum | ( | GLWidget::EViewState | newState | ) | [slot] |
| void GLWidget::setAction | ( | QAction * | act | ) | [slot] |
| void GLWidget::setAxis | ( | QAction * | act | ) | [slot] |
| void GLWidget::setSpace | ( | QAction * | act | ) | [slot] |
| void GLWidget::setCullFace | ( | bool | b | ) | [slot] |
| virtual void GLWidget::updateView | ( | int | hint | ) | [inline, virtual, slot] |
Reimplemented in BuildGLWidget, and ModelGLWidget.
| void GLWidget::doBindTexture | ( | int | index, | |
| QImage | img | |||
| ) | [slot] |
| void GLWidget::doUpdateTexture | ( | int | index, | |
| QImage | img | |||
| ) | [slot] |
| void GLWidget::rotate | ( | EAxis | axis, | |
| int | x, | |||
| int | y | |||
| ) | [slot] |
| void GLWidget::zoom | ( | int | v | ) | [slot] |
| void GLWidget::setUsingLight | ( | bool | use | ) | [slot] |
| Coord3df GLWidget::lightPos | ( | ) | [inline, slot] |
| void GLWidget::setLightPos | ( | const Coord3df & | c | ) | [slot] |
| void GLWidget::setLightColor | ( | const Coord3df & | c | ) | [slot] |
| void GLWidget::reLight | ( | ) | [inline, slot] |
| void GLWidget::rotated | ( | GLWidget::EAxis | axis, | |
| int | x, | |||
| int | y | |||
| ) | [signal] |
| void GLWidget::callReset | ( | ) | [signal] |
| void GLWidget::zoomChanged | ( | int | v | ) | [signal] |
| virtual void GLWidget::drawTargets | ( | bool | inChoise | ) | [inline, protected, virtual] |
this is a call back to whoever subclasses this widget and calls DoChoise the default implementation does nothing.
inChoise a helper argument for user specified functionality. GLWidget always calls this method with inChoise == true. if the user calls this function on his own he may want to do so with inChoise == false and do slightly differnt things, such us use more color and textures. Reimplemented in BuildGLWidget, and ModelGLWidget.
| int GLWidget::DoChoise | ( | int | chX, | |
| int | chY | |||
| ) | [protected] |
perform actual selection of target.
| void GLWidget::DoReset | ( | ) | [protected] |
| void GLWidget::mglPrint | ( | const QString & | str | ) | [protected] |
| void GLWidget::myPaintGL | ( | ) | [protected, virtual] |
Reimplemented in BuildGLWidget, ModelGLWidget, and PieceGLWidget.
| void GLWidget::initializeGL | ( | ) | [protected, virtual] |
| void GLWidget::resizeGL | ( | int | width, | |
| int | height | |||
| ) | [protected, virtual] |
| void GLWidget::mousePressEvent | ( | QMouseEvent * | event | ) | [protected, virtual] |
Reimplemented in ModelGLWidget.
| void GLWidget::mouseReleaseEvent | ( | QMouseEvent * | event | ) | [protected, virtual] |
Reimplemented in ModelGLWidget.
| void GLWidget::mouseMoveEvent | ( | QMouseEvent * | event | ) | [protected, virtual] |
Reimplemented in BuildGLWidget, ModelGLWidget, and PieceGLWidget.
| void GLWidget::wheelEvent | ( | QWheelEvent * | event | ) | [protected, virtual] |
| double GLWidget::getScrDiv | ( | ) | const [inline, protected] |
| void GLWidget::paintGL | ( | ) | [private, virtual] |
| void GLWidget::callDrawTargets | ( | ) | [private] |
| bool GLWidget::SetupViewingFrustum | ( | void | ) | [private] |
| bool GLWidget::SetupViewingOrthoConstAspect | ( | void | ) | [private] |
| void GLWidget::reCalcProj | ( | bool | fFromScratch = true |
) | [private] |
| void GLWidget::reCalcLight | ( | ) | [private] |
| void GLWidget::ActMouseMove | ( | EMouseAction | action, | |
| int | dx, | |||
| int | dy | |||
| ) | [private] |
| void GLWidget::translate | ( | int | xValue, | |
| int | yValue | |||
| ) | [private] |
| void GLWidget::scale | ( | int | xValue, | |
| int | yValue | |||
| ) | [private] |
| void GLWidget::BuildFont | ( | ) | [private] |
Build Our Bitmap Font.
| void GLWidget::KillFont | ( | ) | [private] |
Delete The Font.
const int GLWidget::m_minScaleReset [protected] |
bool GLWidget::m_bBackFaceCulling [protected] |
bool GLWidget::m_bContinuous [protected] |
int GLWidget::m_nRotSens [protected] |
int GLWidget::m_nScaleSens [protected] |
int GLWidget::m_nTransSens [protected] |
Coord3df GLWidget::aqmin [protected] |
Coord3df GLWidget::aqmax [protected] |
QPoint GLWidget::m_lastPos [protected] |
EViewState GLWidget::m_viewState [protected] |
EMouseAction GLWidget::m_mouseAct [protected] |
EAxis GLWidget::m_axis [protected] |
ETransformType GLWidget::m_transformType [protected] |
int GLWidget::m_zoomVal [protected] |
bool GLWidget::m_fUseLight [protected] |
Coord3df GLWidget::m_lightPos [protected] |
Coord3df GLWidget::m_lightColor [protected] |
float GLWidget::m_lightAmbient [protected] |
float GLWidget::m_lightDiffuse [protected] |
float GLWidget::m_lightSpecular [protected] |
bool GLWidget::m_bSkewReset [protected] |
| QList<int> GLWidget::m_textures |
int GLWidget::m_nXDelt [private] |
int GLWidget::m_nYDelt [private] |
bool GLWidget::m_bTimerMode [private] |
QTimer* GLWidget::m_timer [private] |
int GLWidget::m_fontBase [private] |
int GLWidget::m_cxClient [private] |
hold the windows width
int GLWidget::m_cyClient [private] |
hold the windows height
double GLWidget::m_AspectRatio [private] |
hold the fixed Aspect Ration
double GLWidget::scrScale [private] |
double GLWidget::realScale [private] |
double GLWidget::m_osf [private] |