|
Developer Documentation
|
#include <ACG/QtWidgets/QtExaminerViewer.hh>
Public Member Functions | |
| QtExaminerViewer (QWidget *_parent=0, const char *_name=0, QStatusBar *_statusBar=0, const QGLFormat *_format=0, const QtBaseViewer *_share=0, Options _options=DefaultOptions) | |
| Constructor. | |
| void | allowRotation (bool _mode) |
| Lock scene rotation. | |
| double | wheelZoomFactor () |
| Factors for zooming with the wheel. | |
| double | wheelZoomFactorShift () |
| void | setWheelZoomFactor (double _factor) |
| void | setWheelZoomFactorShift (double _factor) |
Public Member Functions inherited from ACG::QtWidgets::QtBaseViewer | |
| QtBaseViewer (QWidget *_parent=0, const char *_name=0, QStatusBar *_statusBar=0, const QGLFormat *_format=0, const QtBaseViewer *_share=0, Options _options=DefaultOptions) | |
| virtual | ~QtBaseViewer () |
| Destructor. | |
| virtual QSize | sizeHint () const |
| QStatusBar * | statusBar () |
get status bar, guaranteed to be not 0 (QStatusBar may be invisible) | |
| void | setStatusBar (QStatusBar *_sb) |
| void | applyOptions (int _options) |
Apply ORed Options _options. | |
| int | options () const |
| get current ORed Options | |
| virtual void | makeCurrent () |
| Makes this widget the current widget for OpenGL operations. | |
| virtual void | swapBuffers () |
| Swaps the screen contents with the off-screen buffer. | |
| GLState & | glState () |
| get OpenGL state | |
| void | backgroundColor (const Vec4f &_color) |
| Vec4f | backgroundColor () |
| get background color | |
| virtual void | lockUpdate () |
| virtual void | unlockUpdate () |
| Unlock display locked by updateLock(). | |
| virtual void | unlockAndUpdate () |
| bool | isUpdateLocked () const |
| void | lockProjectionUpdate (void) |
| Lock update of projection matrix. | |
| void | unlockProjectionUpdate (void) |
| Unlock update of projection matrix. | |
| bool | animation () const |
| Is animation enabled? | |
| void | animation (bool _b) |
| Set animation enabled. | |
| void | trackMouse (bool _track) |
| Enable/disable mouse tracking (move events with no button press) | |
| void | enablePopupMenu (bool _enable) |
| Enable/disable right button draw mode menu (default: enabled) | |
| SceneGraph::BaseNode * | sceneGraph () |
| Returns: root node of scene graph. | |
| const SceneGraph::BaseNode * | sceneGraph () const |
same but const | |
| void | sceneGraph (SceneGraph::BaseNode *_root) |
| void | projectionMode (ProjectionMode _p) |
| Changes the projection mode and updates the projection matrix. | |
| ProjectionMode | projectionMode () const |
| get current projection mode | |
| void | navigationMode (NavigationMode _n) |
| Changes the navigation mode. | |
| NavigationMode | navigationMode () const |
| get current navigation mode | |
| void | setScenePos (const ACG::Vec3d &_center, double _radius, const bool _setCenter=true) |
| void | setSceneCenter (const ACG::Vec3d &_center) |
| const ACG::Vec3d & | scene_center () const |
| double | scene_radius () const |
| void | setSceneRadius (double radius) |
| void | viewingDirection (const ACG::Vec3d &_dir, const ACG::Vec3d &_up) |
| set the viewing direction | |
| void | setFovy (double _fovy) |
| set field of view y | |
| void | actionMode (ActionMode) |
| ActionMode | lastActionMode () |
| Return the last action mode. | |
| ActionMode | actionMode () const |
| get action mode | |
| void | faceOrientation (FaceOrientation) |
| set face orientation (used for back face culling, backFaceCulling()) | |
| FaceOrientation | faceOrientation () const |
| get face orientation | |
| void | backFaceCulling (bool _b) |
| set backface culling on/off | |
| bool | backFaceCulling () const |
| is backface culling enabled? | |
| void | twoSidedLighting (bool _b) |
| set 2-sided lighting on/off | |
| bool | twoSidedLighting () const |
| is 2-sided lighing enabled? | |
| void | normalsMode (NormalsMode _mode) |
| set treatment of normals | |
| NormalsMode | normalsMode () const |
| get treatment of normals | |
| GLMatrixd & | light_matrix () |
| get light rotation matrix | |
| void | rotate_lights (Vec3d &_axis, double _angle) |
| rotete light sources | |
| void | update_lights () |
| update light position | |
| void | copyToImage (QImage &_image, GLenum _buffer=GL_BACK) |
| copy current framebuffer to an QImage | |
| void | copyToImage (QImage &_image, unsigned int _left, unsigned int _top, unsigned int _width, unsigned int _height, GLenum _buffer) |
| copy current framebuffer to an QImage | |
| unsigned int | glWidth () const |
| get width of QGLWidget | |
| unsigned int | glHeight () const |
| get height of QGLWidget | |
| QSize | glSize () const |
| get size of QGLWIdget | |
| QPoint | glMapFromGlobal (const QPoint &_pos) const |
| map global to glarea coords | |
| QPoint | glMapToGlobal (const QPoint &_pos) const |
| map glarea coords to global coords | |
| void | drawMode (ACG::SceneGraph::DrawModes::DrawMode _mode) |
| set draw mode (No test if this mode is available!) | |
| ACG::SceneGraph::DrawModes::DrawMode | drawMode () |
| get current draw mode | |
| void | encodeView (QString &_view) |
| convert current view to text representation | |
| bool | decodeView (const QString &_view) |
| void | initModelviewMatrix () |
| initialize modelview matrix to identity | |
| void | grabGLArea () |
| void | releaseGLArea () |
| void | drawBlendedObjects (bool _status) |
| One or two pass Drawing. | |
| void | translate (const Vec3d &trans) |
| translate the scene and update modelview matrix | |
| void | rotate (const Vec3d &axis, double angle) |
| rotate the scene (around its center) and update modelview matrix | |
| void | rotate (const Vec3d &axis, double angle, const Vec3d &_center) |
| rotate the scene and update modelview matrix | |
| QMenu * | getPickMenu () |
| Get the menu pointers (required to add them to the menubar as a temp workaround for a qt 4.3 bug. | |
| QMenu * | getFuncMenu () |
| QMenu * | getDrawMenu () |
| QToolBar * | getToolBar () |
| Returns a pointer to the Toolbar. | |
| QToolBar * | removeToolBar () |
| Returns a pointer to the toolbar and removes it from the default position in the examiner widget. | |
| void | moveForward () |
| First person navigation: Move forward. | |
| void | moveBack () |
| First person navigation: Move back. | |
| void | strafeLeft () |
| First person navigation: Strafe left. | |
| void | strafeRight () |
| First person navigation: Strafe Right. | |
| void | setEyeDistance (double _distance) |
| Set eye distance for stereo. More... | |
| double | eyeDistance () |
| Get the current eye Distance. | |
| void | setFocalDistance (double _distance) |
| Set focal distance for stereo. More... | |
| double | focalDistance () |
| Get the current focal Distance. | |
| void | disableKeyHandling (bool _state) |
| Enable or disable internal Key handling. More... | |
| bool | keyHandlingState () |
| get the current key handling state. More... | |
| void | setExternalDrag (bool _external) |
| Enable or disable external dragging controls. | |
| void | sync_connect (const QtBaseViewer *) |
| void | sync_disconnect (const QtBaseViewer *) |
| unsync two sync_connect()ed QtBaseViewer's | |
| virtual void | setSynchronization (bool _b) |
| toggle global synchronization | |
| bool | add_sync_host (const QString &_name) |
| add host to synchronize with, given by its name | |
| void | add_sync_host (QHostAddress &_adr) |
| add host to synchronize with, given by its address | |
| bool | synchronization () |
| synchronized with different viewer? | |
| bool | pick (SceneGraph::PickTarget _pickTarget, const QPoint &_mousePos, unsigned int &_nodeIdx, unsigned int &_targetIdx, Vec3d *_hitPointPtr=0) |
| bool | fast_pick (const QPoint &_mousePos, Vec3d &_hitPoint) |
| void | addPickMode (const std::string &_name, bool _mouse_tracking=false, int _pos=-1, bool _visible=true, QCursor _cursor=Qt::ArrowCursor) |
| add pick mode More... | |
| void | clearPickModes () |
| const std::string & | pickMode () const |
| void | pickMode (const std::string &_name) |
| void | pickMode (int _id) |
| void | renderPicking (bool _renderPicking, ACG::SceneGraph::PickTarget _mode) |
Protected Member Functions | |
| virtual bool | viewKeyPressEvent (QKeyEvent *) |
| handle new key events | |
| virtual void | viewWheelEvent (QWheelEvent *_event) |
| handle wheel events | |
| virtual void | viewMouseEvent (QMouseEvent *_event) |
| handle mouse events | |
| virtual void | lightMouseEvent (QMouseEvent *_event) |
| handle mouse events | |
Protected Member Functions inherited from ACG::QtWidgets::QtBaseViewer | |
| virtual void | initializeGL () |
| initialize OpenGL states | |
| virtual void | paintGL () |
| draw the scene. Triggered by updateGL(). | |
| virtual void | resizeGL (int _w, int _h) |
| handle resize events | |
| virtual void | glMousePressEvent (QMouseEvent *_event) |
| handle mouse press events | |
| virtual void | glMouseDoubleClickEvent (QMouseEvent *_event) |
| handle mouse double click events | |
| virtual void | glMouseMoveEvent (QMouseEvent *_event) |
| handle mouse move events | |
| virtual void | glMouseReleaseEvent (QMouseEvent *_event) |
| handle mouse release events | |
| virtual void | glMouseWheelEvent (QWheelEvent *_event) |
| handle mouse wheel events | |
| virtual void | glContextMenuEvent (QContextMenuEvent *_event) |
| handle mouse press events More... | |
| void | updateProjectionMatrix () |
| updates projection matrix | |
| void | updatePickMenu () |
| update pick mode menu | |
| virtual void | glKeyPressEvent (QKeyEvent *) |
| Get keyPress events from the glArea. More... | |
| virtual void | glKeyReleaseEvent (QKeyEvent *_event) |
| Get keyRelease events from the glArea. More... | |
| virtual void | startDrag () |
| drag & drop for modelview copying | |
| virtual void | glDragEnterEvent (QDragEnterEvent *_event) |
| drag & drop for modelview copying | |
| virtual void | glDropEvent (QDropEvent *_event) |
| drag & drop for modelview copying | |
Protected Attributes | |
| QPoint | lastPoint2D_ |
Protected Attributes inherited from ACG::QtWidgets::QtBaseViewer | |
| Vec3d | scene_center_ |
| Vec3d | trackball_center_ |
| double | scene_radius_ |
| double | trackball_radius_ |
| GLdouble | orthoWidth_ |
| GLdouble | near_ |
| GLdouble | far_ |
| GLdouble | fovy_ |
| GLState * | glstate_ |
| bool | isRotating_ |
| QStatusBar * | statusbar_ |
Private Slots | |
| void | slotAnimation () |
Private Member Functions | |
| bool | mapToSphere (const QPoint &_p, Vec3d &_result) const |
| virtual trackball: map 2D screen point to unit sphere | |
Private Attributes | |
| double | wZoomFactor_ |
| double | wZoomFactorShift_ |
| Vec3d | lastPoint3D_ |
| bool | lastPoint_hitSphere_ |
| bool | allowRotation_ |
| Vec3d | lastRotationAxis_ |
| double | lastRotationAngle_ |
| QTime | lastMoveTime_ |
| QTimer * | timer_ |
Additional Inherited Members | |
Public Types inherited from ACG::QtWidgets::QtBaseViewer | |
| enum | Options { Nothing =0, ShowPrivateStatusBar =1, ShowToolBar =2, ShowPickButton =4, ShowLassoButton =8, ShowQuestionButton =0x10, ShowWheelX =0x20, ShowWheelY =0x40, ShowWheelZ =0x80, ShowWheels =0xe0, DefaultOptions = 0xffff & (~ShowPrivateStatusBar) } |
| enum | NavigationMode { NORMAL_NAVIGATION, FIRSTPERSON_NAVIGATION } |
| Navigation mode. More... | |
| enum | ProjectionMode { ORTHOGRAPHIC_PROJECTION, PERSPECTIVE_PROJECTION } |
| projection mode More... | |
| enum | ActionMode { ExamineMode, PickingMode, QuestionMode, LightMode } |
| How to react on mouse events? More... | |
| enum | FaceOrientation { CCW_ORIENTATION, CW_ORIENTATION } |
| orientation of the faces More... | |
| enum | NormalsMode { DONT_TOUCH_NORMALS, NORMALIZE_NORMALS } |
| Automatically normalize normals? More... | |
Public Slots inherited from ACG::QtWidgets::QtBaseViewer | |
| virtual void | drawNow () |
| virtual void | updateGL () |
| Redraw scene. Triggers paint event for updating the view (cf. drawNow()). | |
| virtual void | setHome () |
| set home position | |
| virtual void | home () |
| go to home pos | |
| virtual void | viewAll () |
| view the whole scene | |
| virtual void | flyTo (const QPoint &_pos, bool _move_back) |
Fly to. Get closer if _move_back= get more distant else. More... | |
| virtual void | flyTo (const QPoint &_pos) |
| Fly to, get closer. | |
| virtual void | flyFrom (const QPoint &_pos) |
| Fly to, get more distant. | |
| virtual void | flyTo (const Vec3d &_position, const Vec3d &_center, double _time=1000.0) |
| virtual void | examineMode () |
calls actionMode() with ExamineMode (cf. ActionMode) | |
| virtual void | lightMode () |
calls actionMode() with LightMode (cf. ActionMode) | |
| virtual void | questionMode () |
calls actionMode() with QuestionMode (cf. ActionMode) | |
| virtual void | perspectiveProjection () |
| set perspective view (projectionMode(PERSPECTIVE_PROJECTION)) | |
| virtual void | orthographicProjection () |
| set orthographic view (projectionMode(ORTHOGRAPHIC_PROJECTION)) | |
| virtual void | toggleProjectionMode () |
| toggle projection mode | |
| virtual void | toggleNavigationMode () |
| toggle navigation mode | |
| virtual void | showSceneGraphDialog () |
| show scenegraph widget | |
| virtual void | setView (const GLMatrixd &_modelview, const GLMatrixd &_inverse_modelview) |
| set view, used for synchronizing | |
| void | actionBackground () |
| void | actionCopyView () |
| void | actionPasteView () |
| void | actionPasteDropSize () |
| void | actionSynchronize () |
| void | actionAnimation () |
| void | actionBackfaceCulling () |
| void | actionTwoSidedLighting () |
| void | actionSynchronize (bool _enable) |
| void | actionAnimation (bool _enable) |
| void | actionBackfaceCulling (bool _enable) |
| void | actionTwoSidedLighting (bool _enable) |
| void | actionDrawMenu (QAction *_action) |
| void | actionPickMenu (QAction *_action) |
| virtual void | toggleStereoMode () |
| toggle stereo mode | |
| virtual void | setStereoMode (bool _b) |
| enable/disable stereo mode | |
| virtual void | snapshotBaseFileName (const QString &_fname) |
| virtual void | snapshot () |
| void | actionSnapshot () |
| void | actionSnapshotName () |
| void | actionSnapshotSavesView () |
| virtual void | pickingMode () |
| void | setPickModeCursor (const std::string &_name, QCursor _cursor) |
| set a new cursor for the pick mode More... | |
| void | setPickModeMouseTracking (const std::string &_name, bool _mouseTracking) |
| set mouseTracking for the pick mode More... | |
Signals inherited from ACG::QtWidgets::QtBaseViewer | |
| void | projectionModeChanged (bool _ortho) |
| void | navigationModeChanged (bool _normal) |
| void | signalInitializeGL () |
| emitted when OpenGL stuff can be initialized | |
| void | signalMouseEvent (QMouseEvent *, const std::string &) |
| void | signalMouseEvent (QMouseEvent *) |
| This signal does not send the pick mode and is kept for compatibility. | |
| void | signalWheelEvent (QWheelEvent *, const std::string &) |
| Emitted in Pick mode. Uses pick mode. | |
| void | signalMouseEventIdentify (QMouseEvent *) |
| void | signalSetView (const GLMatrixd &_modelview, const GLMatrixd &_inverse_modelview) |
| set view, used for synchronizing (cf. slotSetView()) | |
| void | signalSceneGraphChanged (ACG::SceneGraph::BaseNode *_root) |
| scene graph has changed | |
| void | signalNodeChanged (ACG::SceneGraph::BaseNode *_node) |
| scene graph has changed | |
| void | signalActionModeChanged (ACG::QtWidgets::QtBaseViewer::ActionMode _m) |
| action mode was changed | |
| void | signalDrawScene (ACG::GLState *_state) |
| render callback | |
| void | signalCustomContextMenuRequested (const QPoint &) |
| void | viewUpdated () |
| This signal is emitted when the scene is repainted due to any event. | |
| void | viewChanged () |
| This signal is emitted whenever the view is changed by the user. | |
| void | signalKeyPressEvent (QKeyEvent *) |
| Key Event received. More... | |
| void | startDragEvent (QMouseEvent *_event) |
| void | dragEnterEvent (QDragEnterEvent *_event) |
| void | dropEvent (QDropEvent *_event) |
| void | signalPickModeChanged (const std::string &) |
Protected Slots inherited from ACG::QtWidgets::QtBaseViewer | |
| virtual void | sceneRectChanged (const QRectF &rect) |
| process graphics scene size changes | |
| virtual void | slotWheelX (double _dAngle) |
| process signals from wheelX_ | |
| virtual void | slotWheelY (double _dAngle) |
| process signals from wheelX_ | |
| virtual void | slotWheelZ (double _dist) |
| process signals from wheelZ_ | |
| virtual void | slotNodeChanged (ACG::SceneGraph::BaseNode *_node) |
| connected to scenegraph widget | |
| virtual void | cleanupEventFilter () |
| correct ??? (same function as in qt src) | |
Widgets used to display and examine scenegraphs. This widget is used in all viewers that want to explore scenegraphs. For WalkMode use "QtWalkViewer"
Definition at line 97 of file QtExaminerViewer.hh.