Gui::OpenSCADNavigationStyle Class Reference

#include <NavigationStyle.h>

Public Member Functions

const char * mouseButtons (ViewerMode)
 
 OpenSCADNavigationStyle ()
 
 ~OpenSCADNavigationStyle ()
 
- 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)
 
- 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)
 

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)
 
- 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
 

Constructor & Destructor Documentation

◆ OpenSCADNavigationStyle()

OpenSCADNavigationStyle::OpenSCADNavigationStyle ( )

◆ ~OpenSCADNavigationStyle()

OpenSCADNavigationStyle::~OpenSCADNavigationStyle ( )

Member Function Documentation

◆ mouseButtons()

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

◆ processSoEvent()

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

Reimplemented from Gui::NavigationStyle.

References Gui::NavigationStyle::addToLog(), Gui::NavigationStyle::button1down, Gui::NavigationStyle::button2down, Gui::NavigationStyle::button3down, Gui::NavigationStyle::centerTime, Gui::NavigationStyle::ctrldown, Gui::NavigationStyle::currentmode, Gui::NavigationStyle::DRAGGING, Gui::NavigationStyle::handleEventInForeground(), Gui::NavigationStyle::IDLE, Gui::NavigationStyle::invertZoom, Gui::NavigationStyle::isAnimating(), Gui::View3DInventorViewer::isEditing(), Gui::NavigationStyle::isPopupMenuEnabled(), Gui::NavigationStyle::isSeekMode(), Gui::NavigationStyle::isViewing(), Gui::NavigationStyle::lastmouseposition, Gui::NavigationStyle::lockrecenter, Gui::NavigationStyle::moveCursorPosition(), Gui::NavigationStyle::normalizePixelPos(), Gui::NavigationStyle::openPopupMenu(), Gui::NavigationStyle::panCamera(), Gui::NavigationStyle::PANNING, Gui::NavigationStyle::panningplane, Gui::NavigationStyle::processClickEvent(), Gui::NavigationStyle::processKeyboardEvent(), Gui::NavigationStyle::processMotionEvent(), Gui::NavigationStyle::processSoEvent(), Gui::NavigationStyle::saveCursorPosition(), 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(), Gui::NavigationStyle::SPINNING, Gui::NavigationStyle::syncModifierKeys(), Gui::NavigationStyle::viewer, Gui::NavigationStyle::zoom(), and Gui::NavigationStyle::ZOOMING.


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