25#ifndef _SO_QT_EXAMINER_VIEWER_
26#define _SO_QT_EXAMINER_VIEWER_
27#include <Inventor/Qt/OivQtCompat.h>
28#include <Inventor/Qt/viewers/SoQtFullViewer.h>
29#include <Inventor/events/SoMouseButtonEvent.h>
34#include <Inventor/Gui/viewers/SoGuiExaminerViewer.h>
262 const char* name = NULL,
263 SbBool buildInsideParent = TRUE,
301 {
return m_constrainedMode; }
465 virtual int internalGetViewingMode()
const {
return (
int)m_guiExamViewer->getViewingMode(); };
473 virtual void rotateCamera(
const SbRotation& rot );
484 void constrainCameraRotation(
bool x =
false,
bool y =
false,
bool z =
false );
499 virtual SbString getDefaultWidgetName()
const;
500 virtual SbString getDefaultTitle()
const;
501 virtual SbString getDefaultIconTitle()
const;
504 virtual void processEvent( QEvent* anyevent );
505 virtual void actualRedraw();
508 QWidget* buildWidget( QWidget* parent );
511 virtual void bottomWheelMotion(
float newVal );
512 virtual void leftWheelMotion(
float newVal );
513 virtual void rightWheelMotion(
float newVal );
514 virtual void mouseWheelMotion(
float newVal );
517 virtual void bottomWheelStart();
518 virtual void leftWheelStart();
521 virtual void createPrefSheet();
524 virtual void createViewerButtons( QWidget* parent );
529 virtual void buildPopupMenu();
532 virtual void openViewerHelpCard();
534 virtual void pushButtonCB(
int id );
536 virtual void updateCursor();
538 virtual void switchMode(
int newMode );
540 virtual void doSpinAnimation();
550 SoGuiExaminerViewer::ViewingSpinType m_viewingSpinType;
558 void setViewerMode();
559 void updateViewerMode(
unsigned int state );
562 QPointer<SoQtButton> buttonList[10];
566 void constructorCommon(
SbBool buildNow );
569 QPixmap IDB_PUSH_PERSP;
570 QPixmap IDB_PUSH_ORTHO;
572#ifndef HIDDEN_FROM_DOC
575 void slotCamPushButton();
578 void slot_popup_spin();
579 void slot_popup_axes();
584 void visibilityChangeCB(
SbBool visible );
Class for representing a rotation.
Class for smart character strings.
Class for representation of a time.
Abstract base class for camera nodes.
Sensor class that can be attached to Open Inventor fields.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Viewer component...
SbBool isFeedbackVisible() const
Returns the rotation feedback flag.
virtual void dollyCamera(const SbVec2s &newLocator)
Move the camera on the z axis based on cursor motion.
virtual void activateDolly(const SbVec2s &newLocator)
Sets the start locator for dolly camera animation.
ViewingMode getViewingMode() const
Gets the current viewing mode.
SbBool isAnimating()
Queries if the viewer is currently animating.
virtual void activateSpinning(const SbVec2s &newLocator)
Sets the start locator for spin camera animation.
virtual void activateRoll(const SbVec2s &newLocator)
Sets the start locator for roll camera animation.
~SoQtExaminerViewer()
Destructor.
virtual void setViewing(SbBool onOrOff)
Sets whether the viewer is turned on or off.
ConstrainedViewingMode
Constrained viewing mode.
@ NONE
No axis constraints.
@ CONSTRAINED_VIEWING_MODE_X
Constrains camera rotation around X axis.
@ CONSTRAINED_VIEWING_MODE_Z
Constrains camera rotation around Z axis.
@ CONSTRAINED_VIEWING_MODE_Y
Constrains camera rotation around Y axis.
void setViewingMode(ViewingMode viewingMode)
Sets the viewing mode.
void setConstrainedViewingMode(ConstrainedViewingMode mode)
Sets the constrained viewing mode.
void setFeedbackSize(int newSize)
Sets the point of rotation feedback size in pixels (default 20 pix).
SbBool isAnimationEnabled()
Returns whether spin animation is enabled.
int getFeedbackSize() const
Returns the point of rotation feedback size in pixels.
virtual void setCursorEnabled(SbBool onOrOff)
Sets whether the viewer is allowed to change the cursor over the renderArea window.
SoQtExaminerViewer(QWidget *parent=NULL, const char *name=NULL, SbBool buildInsideParent=TRUE, SoQtFullViewer::BuildFlag flag=SoQtFullViewer::BUILD_ALL, SoQtViewer::Type type=SoQtViewer::BROWSER)
Constructor which specifies the viewer type.
virtual void spinConstrainedCamera(const SbVec2f &newLocator, int axisIndex)
Spin the constrained camera based on cursor motion.
virtual void setSeekMode(SbBool onOrOff)
Set the viewer into/out of seek mode (default OFF).
virtual void reverseDollyCamera(const SbVec2s &newLocator)
Same as dollyCamera but reversed.
virtual void rollCamera(const SbVec2s &newLocator)
Roll the camera based on cursor motion.
void stopAnimating()
Stops animation, if it is occurring.
virtual void viewAll()
Changes the camera position to view the entire scene (the camera zoom or orientation isn't changed).
@ VIEWING_MODE_ROLL
Roll the camera in the viewer plane.
@ VIEWING_MODE_ZOOM
Dolly/Zoom (move forward and backward) to get closer to or further away from the point of interest.
@ VIEWING_MODE_PAN
Translate the camera in the viewer plane.
@ VIEWING_MODE_SPIN_CONSTRAINED
Same as VIEWING_MODE_SPIN but add also constrained camera rotation.
@ VIEWING_MODE_SPIN
Rotate the camera around the point of interest.
virtual void panCamera(const SbVec2f &newLocator)
Pans the camera based on cursor motion.
ConstrainedViewingMode getConstrainedViewingMode() const
Returns the current constrained viewing mode.
virtual void resetToHomePosition()
Restores the camera values.
virtual void spinCamera(const SbVec2f &newLocator)
Spin the camera based on cursor motion.
virtual void setCamera(SoCamera *cam)
Sets the edited camera.
virtual void activatePanning(const SbVec2s &newLocator)
Sets the start locator for pan camera animation.
void setAnimationEnabled(SbBool onOrOff)
Enables/disables the spin animation feature of the viewer (enabled by default).
void setFeedbackVisibility(SbBool onOrOff)
Shows/hides the point of rotation feedback, which only appears while in viewing mode (default is off)...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Base viewer clas...
@ BUILD_ALL
Build everything by default.
@ BROWSER
Camera views scene, but is not added to scene.
Node representing a 3D geometric scaling.
Group node that saves and restores traversal state.
Group node that traverses one chosen child.
Node representing a 3D translation.