Gui::MayaGestureNavigationStyle Class Reference

#include <NavigationStyle.h>

Public Member Functions

 MayaGestureNavigationStyle ()
 
const char * mouseButtons (ViewerMode)
 
 ~MayaGestureNavigationStyle ()
 
- Public Member Functions inherited from Gui::UserNavigationStyle
virtual const char * mouseButtons (ViewerMode)=0
 
virtual std::string userFriendlyName () const
 
 UserNavigationStyle ()
 
 ~UserNavigationStyle ()
 
- Public Member Functions inherited from Gui::NavigationStyle
void abortSelection ()
 
void boxZoom (const SbBox2s &box)
 
SbVec3f getFocalPoint () const
 
OrbitStyle getOrbitStyle () const
 
const std::vector< SbVec2s > & getPolygon (SelectionRole *role=nullptr) const
 
RotationCenterModes getRotationCenterMode () const
 
float getSensitivity () const
 
int getViewingMode () const
 
SbBool isAnimating () const
 
SbBool isAnimationEnabled () const
 
SbBool isPopupMenuEnabled () const
 
SbBool isResetCursorPosition () const
 
SbBool isSelecting () const
 
SbBool isZoomAtCursor () const
 
SbBool isZoomInverted () const
 
void lookAtPoint (const SbVec3f &)
 
 NavigationStyle ()
 
NavigationStyleoperator= (const NavigationStyle &ns)
 
virtual SbBool processClickEvent (const SoMouseButtonEvent *const event)
 
virtual SbBool processEvent (const SoEvent *const ev)
 
virtual SbBool processKeyboardEvent (const SoKeyboardEvent *const event)
 
virtual SbBool processMotionEvent (const SoMotion3Event *const ev)
 
virtual SbBool processWheelEvent (const SoMouseWheelEvent *const event)
 
void redraw ()
 
void setAnimationEnabled (const SbBool enable)
 
void setCameraOrientation (const SbRotation &rot, SbBool moveTocenter=false)
 
void setOrbitStyle (OrbitStyle style)
 
void setPopupMenuEnabled (const SbBool on)
 
void setResetCursorPosition (SbBool)
 
void setRotationCenter (const SbVec3f &cnt)
 
void setRotationCenterMode (RotationCenterModes)
 
void setSensitivity (float)
 
void setViewer (View3DInventorViewer *)
 
void setViewingMode (const ViewerMode newmode)
 
void setZoomAtCursor (SbBool)
 
void setZoomInverted (SbBool)
 
void setZoomStep (float)
 
void startAnimating (const SbVec3f &axis, float velocity)
 
void startSelection (AbstractMouseSelection *)
 
void startSelection (SelectionMode=Lasso)
 
void stopAnimating ()
 
void stopSelection ()
 
void updateAnimation ()
 
virtual void viewAll ()
 
void zoomIn ()
 
void zoomOut ()
 
virtual ~NavigationStyle ()
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 
 BaseClass (const BaseClass &)=default
 
virtual PyObjectgetPyObject ()
 This method returns the Python wrapper for a C++ object. More...
 
virtual Type getTypeId () const
 
bool isDerivedFrom (const Type type) const
 
BaseClassoperator= (const BaseClass &)=default
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Protected Member Functions

SbBool processSoEvent (const SoEvent *const ev)
 
bool testMoveThreshold (const SbVec2s currentPos) const
 MayaGestureNavigationStyle::testMoveThreshold tests if the mouse has moved far enough to constder it a drag. More...
 
- Protected Member Functions inherited from Gui::NavigationStyle
void addToLog (const SbVec2s pos, const SbTime time)
 
void clearLog ()
 
void doRotate (SoCamera *camera, float angle, const SbVec2f &pos)
 
SbBool doSpin ()
 
void doZoom (SoCamera *camera, float logzoomfactor, const SbVec2f &pos)
 NavigationStyle::doZoom Zooms in or out by specified factor, keeping the point on screen specified by parameter pos fixed or not according to user preference (NavigationStyle::zoomAtCursor). Ignores invertZoom user preference. More...
 
void doZoom (SoCamera *camera, int wheeldelta, const SbVec2f &pos)
 
void finalize ()
 
int getDelta () const
 
int getInteractiveCount () const
 
SbVec3f getRotationCenter (SbBool *) const
 
SbBool handleEventInForeground (const SoEvent *const e)
 
void initialize ()
 
void interactiveCountDec ()
 
void interactiveCountInc ()
 
SbBool isSeekMode () const
 
SbBool isViewing () const
 
SbBool lookAtPoint (const SbVec2s screenpos)
 
void moveCursorPosition ()
 
SbVec2f normalizePixelPos (SbVec2f pixpos)
 
SbVec2f normalizePixelPos (SbVec2s pixpos)
 
virtual void openPopupMenu (const SbVec2s &position)
 
void pan (SoCamera *camera)
 
void panCamera (SoCamera *camera, float vpaspect, const SbPlane &panplane, const SbVec2f &previous, const SbVec2f &current)
 
void panToCenter (const SbPlane &pplane, const SbVec2f &currpos)
 
virtual SbBool processSoEvent (const SoEvent *const ev)
 
void reorientCamera (SoCamera *camera, const SbRotation &rot)
 Rotate the camera by the given amount, then reposition it so we're still pointing at the same focal point. More...
 
void saveCursorPosition (const SoEvent *const ev)
 
SbBool seekToPoint (const SbVec2s screenpos)
 
void seekToPoint (const SbVec3f &scenepos)
 
void setSeekMode (SbBool enable)
 
void setViewing (SbBool)
 
void spin (const SbVec2f &pointerpos)
 Uses the sphere sheet projector to map the mouseposition onto a 3D point and find a rotation from this and the last calculated point. More...
 
void spin_simplified (SoCamera *cam, SbVec2f curpos, SbVec2f prevpos)
 NavigationStyle::spin_simplified is a simplified version of NavigationStyle::spin(..), which uses less global variables. Doesn't support starting an animated spinning. More...
 
void syncModifierKeys (const SoEvent *const ev)
 
void syncWithEvent (const SoEvent *const ev)
 
void zoom (SoCamera *camera, float diffvalue)
 Dependent on the camera type this will either shrink or expand the height of the viewport (orthogonal camera) or move the camera closer or further away from the focal point in the scene. More...
 
void zoomByCursor (const SbVec2f &thispos, const SbVec2f &prevpos)
 

Protected Attributes

bool inGesture
 
int mousedownConsumedCount
 
SoMouseButtonEvent mousedownConsumedEvents [5]
 
SbVec2s mousedownPos
 
short mouseMoveThreshold
 
bool mouseMoveThresholdBroken
 
bool thisClickIsComplex
 
- Protected Attributes inherited from Gui::NavigationStyle
SbBool altdown
 
SbBool button1down
 
SbBool button2down
 
SbBool button3down
 
SbTime centerTime
 
SbBool ctrldown
 
ViewerMode currentmode
 
SbVec2s globalPos
 
SbBool invertZoom
 
SbVec2f lastmouseposition
 
SbVec2s localPos
 
SbBool lockrecenter
 
struct {
   short   historysize
 
   SbVec2s *   position
 
   short   size
 
   SbTime *   time
 
log
 
SbBool menuenabled
 
SoMouseButtonEvent mouseDownConsumedEvent
 
SbPlane panningplane
 
SbTime prevRedrawTime
 
SbBool shiftdown
 
View3DInventorViewerviewer
 
SbBool zoomAtCursor
 
float zoomStep
 
AbstractMouseSelectionmouseSelection
 
std::vector< SbVec2s > pcPolygon
 
SelectionRole selectedRole
 
SbBool spinanimatingallowed
 
int spinsamplecounter
 
SbRotation spinincrement
 
SbRotation spinRotation
 
SbSphereSheetProjectorspinprojector
 

Additional Inherited Members

- Public Types inherited from Gui::NavigationStyle
enum  OrbitStyle { Turntable , Trackball }
 
enum class  RotationCenterMode { WindowCenter = 0 , ScenePointAtCursor = 1 , FocalPointAtCursor = 2 , BoundingBoxCenter = 4 }
 
enum  SelectionMode {
  Lasso = 0 , Rectangle = 1 , Rubberband = 2 , BoxZoom = 3 ,
  Clip = 4
}
 
enum  ViewerMode {
  IDLE , INTERACT , ZOOMING , BOXZOOM ,
  PANNING , DRAGGING , SPINNING , SEEK_WAIT_MODE ,
  SEEK_MODE , SELECTION
}
 
- Static Public Member Functions inherited from Gui::UserNavigationStyle
static std::map< Base::Type, std::string > getUserFriendlyNames ()
 
- Static Public Member Functions inherited from Base::BaseClass
static void * create ()
 
static Type getClassTypeId ()
 
static void init ()
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)
 

Constructor & Destructor Documentation

◆ MayaGestureNavigationStyle()

MayaGestureNavigationStyle::MayaGestureNavigationStyle ( )

◆ ~MayaGestureNavigationStyle()

MayaGestureNavigationStyle::~MayaGestureNavigationStyle ( )

Member Function Documentation

◆ mouseButtons()

const char * MayaGestureNavigationStyle::mouseButtons ( ViewerMode  mode)
virtual

◆ processSoEvent()

SbBool MayaGestureNavigationStyle::processSoEvent ( const SoEvent *const  ev)
protectedvirtual

this->button1down &&

Reimplemented from Gui::NavigationStyle.

References Gui::NavigationStyle::altdown, Gui::NavigationStyle::BOXZOOM, Gui::NavigationStyle::button1down, Gui::NavigationStyle::button2down, Gui::NavigationStyle::button3down, Base::Console(), Gui::NavigationStyle::ctrldown, Gui::NavigationStyle::currentmode, Gui::NavigationStyle::doRotate(), Gui::NavigationStyle::doZoom(), Gui::NavigationStyle::DRAGGING, Gui::NavigationStyle::finalize(), Gui::NavigationStyle::getDelta(), Gui::NavigationStyle::handleEventInForeground(), Gui::NavigationStyle::IDLE, inGesture, Gui::NavigationStyle::INTERACT, Gui::NavigationStyle::interactiveCountDec(), Gui::NavigationStyle::isAnimating(), Gui::View3DInventorViewer::isEditing(), Gui::NavigationStyle::isPopupMenuEnabled(), Gui::NavigationStyle::isSeekMode(), Gui::NavigationStyle::isViewing(), Gui::NavigationStyle::lastmouseposition, Base::ConsoleSingleton::Log(), Gui::NavigationStyle::lookAtPoint(), mousedownConsumedCount, mousedownConsumedEvents, mousedownPos, mouseMoveThresholdBroken, Gui::NavigationStyle::normalizePixelPos(), Gui::NavigationStyle::openPopupMenu(), Gui::NavigationStyle::pan(), Gui::NavigationStyle::panCamera(), Gui::NavigationStyle::PANNING, Gui::NavigationStyle::processMotionEvent(), Gui::NavigationStyle::processSoEvent(), SoGestureEvent::SbGsCanceled, SoGestureEvent::SbGSEnd, SoGestureEvent::SbGSStart, SoGestureEvent::SbGSUpdate, Gui::NavigationStyle::SEEK_MODE, Gui::NavigationStyle::SEEK_WAIT_MODE, Gui::NavigationStyle::seekToPoint(), Gui::NavigationStyle::SELECTION, Gui::NavigationStyle::setViewing(), Gui::NavigationStyle::setViewingMode(), Gui::NavigationStyle::shiftdown, Gui::NavigationStyle::spin_simplified(), Gui::NavigationStyle::SPINNING, SoGestureEvent::state, Gui::NavigationStyle::syncModifierKeys(), testMoveThreshold(), thisClickIsComplex, Gui::NavigationStyle::viewer, Gui::NavigationStyle::zoomAtCursor, Gui::NavigationStyle::zoomByCursor(), and Gui::NavigationStyle::ZOOMING.

◆ testMoveThreshold()

bool MayaGestureNavigationStyle::testMoveThreshold ( const SbVec2s  currentPos) const
protected

MayaGestureNavigationStyle::testMoveThreshold tests if the mouse has moved far enough to constder it a drag.

Parameters
currentPoscurrent position of mouse cursor, in local pixel coordinates.
Returns
true if the mouse was moved far enough. False if it's within the boundary. Ignores MayaGestureNavigationStyle::mouseMoveThresholdBroken flag.

References mousedownPos, and mouseMoveThreshold.

Referenced by processSoEvent().

Member Data Documentation

◆ inGesture

bool Gui::MayaGestureNavigationStyle::inGesture
protected

Referenced by processSoEvent().

◆ mousedownConsumedCount

int Gui::MayaGestureNavigationStyle::mousedownConsumedCount
protected

Referenced by processSoEvent().

◆ mousedownConsumedEvents

SoMouseButtonEvent Gui::MayaGestureNavigationStyle::mousedownConsumedEvents[5]
protected

Referenced by processSoEvent().

◆ mousedownPos

SbVec2s Gui::MayaGestureNavigationStyle::mousedownPos
protected

◆ mouseMoveThreshold

short Gui::MayaGestureNavigationStyle::mouseMoveThreshold
protected

Referenced by testMoveThreshold().

◆ mouseMoveThresholdBroken

bool Gui::MayaGestureNavigationStyle::mouseMoveThresholdBroken
protected

Referenced by processSoEvent().

◆ thisClickIsComplex

bool Gui::MayaGestureNavigationStyle::thisClickIsComplex
protected

Referenced by processSoEvent().


The documentation for this class was generated from the following files: