The navigation style base class. More...
#include <NavigationStyle.h>
Public Types | |
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 } |
Public Member Functions | |
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 () | |
NavigationStyle & | operator= (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 PyObject * | getPyObject () |
This method returns the Python wrapper for a C++ object. More... | |
virtual Type | getTypeId () const |
bool | isDerivedFrom (const Type type) const |
BaseClass & | operator= (const BaseClass &)=default |
virtual void | setPyObject (PyObject *) |
virtual | ~BaseClass () |
Destruction. More... | |
Protected Member Functions | |
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 ¤t) |
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 | |
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 |
View3DInventorViewer * | viewer |
SbBool | zoomAtCursor |
float | zoomStep |
Mouse model | |
AbstractMouseSelection * | mouseSelection |
std::vector< SbVec2s > | pcPolygon |
SelectionRole | selectedRole |
Spinning data | |
SbBool | spinanimatingallowed |
int | spinsamplecounter |
SbRotation | spinincrement |
SbRotation | spinRotation |
SbSphereSheetProjector * | spinprojector |
struct | NavigationStyleP |
Additional Inherited Members | |
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) |
The navigation style base class.
|
strong |
NavigationStyle::NavigationStyle | ( | ) |
References Gui::NavigationStyleP::viewAnimationCB().
|
virtual |
References finalize().
void NavigationStyle::abortSelection | ( | ) |
References mouseSelection, pcPolygon, and Gui::AbstractMouseSelection::releaseMouseModel().
Referenced by Gui::View3DInventorViewer::abortSelection().
|
protected |
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
void NavigationStyle::boxZoom | ( | const SbBox2s & | box | ) |
References panCamera(), draftfunctions.scale::scale(), and viewer.
Referenced by Gui::View3DInventorViewer::boxZoom().
|
protected |
References log.
Referenced by setViewingMode().
|
protected |
References panCamera(), viewer, and zoomAtCursor.
Referenced by Gui::MayaGestureNavigationStyle::processSoEvent().
|
protected |
References lastmouseposition, log, spinanimatingallowed, spinprojector, spinRotation, and viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), and Gui::CADNavigationStyle::processSoEvent().
|
protected |
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.
References panCamera(), viewer, zoom(), and zoomAtCursor.
|
protected |
References doZoom(), getDelta(), invertZoom, and zoomStep.
Referenced by doZoom(), processKeyboardEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), and processWheelEvent().
|
protected |
References log, and spinprojector.
Referenced by Gui::MayaGestureNavigationStyle::processSoEvent(), draftguitools.gui_trackers.ghostTracker::remove(), and ~NavigationStyle().
|
protected |
Returns the steps if the mouse wheel is rotated
Referenced by doZoom(), processKeyboardEvent(), and Gui::MayaGestureNavigationStyle::processSoEvent().
SbVec3f NavigationStyle::getFocalPoint | ( | ) | const |
References viewer.
NavigationStyle::OrbitStyle NavigationStyle::getOrbitStyle | ( | ) | const |
References FCSphereSheetProjector::getOrbitStyle(), and spinprojector.
const std::vector< SbVec2s > & NavigationStyle::getPolygon | ( | SelectionRole * | role = nullptr | ) | const |
References pcPolygon, and selectedRole.
Referenced by Gui::View3DInventorViewer::getGLPolygon(), and Gui::View3DInventorViewer::getPolygon().
|
protected |
NavigationStyle::RotationCenterModes NavigationStyle::getRotationCenterMode | ( | ) | const |
float NavigationStyle::getSensitivity | ( | ) | const |
Referenced by spin(), and spin_simplified().
int NavigationStyle::getViewingMode | ( | ) | const |
References currentmode.
Referenced by Gui::View3DInventorViewer::afterRealizeHook(), and Gui::View3DInventorViewer::setCursorEnabled().
|
protected |
References viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), and Gui::GestureNavigationStyle::processSoEvent().
|
protected |
References altdown, BoundingBoxCenter, button1down, button2down, button3down, ctrldown, currentmode, FocalPointAtCursor, App::GetApplication(), ParameterGrp::GetBool(), ParameterGrp::GetFloat(), ParameterGrp::GetInt(), App::Application::GetParameterGroupByPath(), IDLE, invertZoom, log, menuenabled, prevRedrawTime, ScenePointAtCursor, setRotationCenterMode(), shiftdown, spinanimatingallowed, spinincrement, spinprojector, spinRotation, spinsamplecounter, WindowCenter, zoomAtCursor, and zoomStep.
|
protected |
References viewer.
Referenced by lookAtPoint(), Gui::GestureNavigationStyle::onSetRotationCenter(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), setCameraOrientation(), setViewingMode(), and Gui::NavigationStyleP::viewAnimationCB().
|
protected |
References viewer.
Referenced by lookAtPoint(), setCameraOrientation(), and setViewingMode().
SbBool NavigationStyle::isAnimating | ( | ) | const |
Query if the model in the viewer is currently in spinning mode after a user drag.
References currentmode, and SPINNING.
Referenced by Gui::View3DInventorViewer::isAnimating(), lookAtPoint(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), setAnimationEnabled(), setCameraOrientation(), and updateAnimation().
SbBool NavigationStyle::isAnimationEnabled | ( | ) | const |
Query whether or not it is possible to start a spinning animation by releasing the left mouse button while dragging the mouse.
References spinanimatingallowed.
Referenced by Gui::View3DInventorViewer::isAnimationEnabled(), lookAtPoint(), setCameraOrientation(), and startAnimating().
SbBool NavigationStyle::isPopupMenuEnabled | ( | ) | const |
References menuenabled.
Referenced by Gui::View3DInventorViewer::isPopupMenuEnabled(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
SbBool NavigationStyle::isResetCursorPosition | ( | ) | const |
Referenced by moveCursorPosition().
|
protected |
References viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and syncWithEvent().
SbBool NavigationStyle::isSelecting | ( | ) | const |
References mouseSelection.
Referenced by Gui::View3DInventorViewer::isSelecting(), and startSelection().
|
protected |
References viewer.
Referenced by processKeyboardEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and stopAnimating().
SbBool NavigationStyle::isZoomAtCursor | ( | ) | const |
References zoomAtCursor.
SbBool NavigationStyle::isZoomInverted | ( | ) | const |
References invertZoom.
|
protected |
References interactiveCountInc(), lookAtPoint(), and viewer.
void NavigationStyle::lookAtPoint | ( | const SbVec3f & | pos | ) |
References interactiveCountDec(), interactiveCountInc(), isAnimating(), isAnimationEnabled(), spinRotation, stopAnimating(), and viewer.
Referenced by lookAtPoint(), Gui::GestureNavigationStyle::onSetRotationCenter(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), and Gui::MayaGestureNavigationStyle::processSoEvent().
|
protected |
References globalPos, isResetCursorPosition(), localPos, and log.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
Referenced by processKeyboardEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), and processWheelEvent().
|
protectedvirtual |
References Base::Type::fromName(), Gui::MenuManager::getInstance(), Base::BaseClass::getTypeId(), Gui::UserNavigationStyle::getUserFriendlyNames(), Gui::Application::Instance, position, Gui::Application::setupContextMenu(), Gui::MenuManager::setupContextMenu(), draftguitools.gui_setstyle::translate, and viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
NavigationStyle & NavigationStyle::operator= | ( | const NavigationStyle & | ns | ) |
|
protected |
References panningplane, and viewer.
Referenced by Gui::MayaGestureNavigationStyle::processSoEvent(), and setViewingMode().
|
protected |
Referenced by boxZoom(), doRotate(), doZoom(), panToCenter(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), and spin().
|
protected |
|
virtual |
References mouseDownConsumedEvent, and processSoEvent().
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
virtual |
References Gui::AbstractMouseSelection::Cancel, Gui::SelectionSingleton::clearSelection(), Gui::AbstractMouseSelection::Continue, currentmode, Gui::AbstractMouseSelection::Finish, Gui::AbstractMouseSelection::getPositions(), Gui::AbstractMouseSelection::handleEvent(), IDLE, mouseSelection, pcPolygon, processSoEvent(), Gui::AbstractMouseSelection::Restart, Gui::AbstractMouseSelection::selectedRole(), selectedRole, SELECTION, Gui::Selection(), syncWithEvent(), and viewer.
Referenced by Gui::View3DInventorViewer::processSoEvent().
|
virtual |
References altdown, ctrldown, doZoom(), getDelta(), isViewing(), normalizePixelPos(), setViewing(), shiftdown, and viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
virtual |
References draftfunctions.scale::scale(), and viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), and Gui::GestureNavigationStyle::processSoEvent().
|
protectedvirtual |
Reimplemented in Gui::InventorNavigationStyle, Gui::CADNavigationStyle, Gui::RevitNavigationStyle, Gui::BlenderNavigationStyle, Gui::MayaGestureNavigationStyle, Gui::TouchpadNavigationStyle, Gui::OpenCascadeNavigationStyle, Gui::OpenSCADNavigationStyle, Gui::TinkerCADNavigationStyle, and Gui::GestureNavigationStyle.
References Gui::View3DInventorViewer::processSoEventBase(), processWheelEvent(), and viewer.
Referenced by processClickEvent(), processEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and Gui::GestureNavigationStyle::processSoEvent_bypass().
|
virtual |
References doZoom(), normalizePixelPos(), and viewer.
Referenced by processSoEvent().
void NavigationStyle::redraw | ( | ) |
|
protected |
Rotate the camera by the given amount, then reposition it so we're still pointing at the same focal point.
Referenced by spin(), spin_simplified(), and updateAnimation().
|
protected |
References BoundingBoxCenter, FocalPointAtCursor, globalPos, localPos, ScenePointAtCursor, setRotationCenter(), and viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
References viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
References viewer.
void NavigationStyle::setAnimationEnabled | ( | const SbBool | enable | ) |
Decide if it should be possible to start a spin animation of the model in the viewer by releasing the mouse button while dragging.
If the enable flag is false
and we're currently animating, the spin will be stopped.
References isAnimating(), spinanimatingallowed, and stopAnimating().
Referenced by Gui::View3DInventorViewer::setAnimationEnabled().
void NavigationStyle::setCameraOrientation | ( | const SbRotation & | rot, |
SbBool | moveTocenter = false |
||
) |
References interactiveCountDec(), interactiveCountInc(), isAnimating(), isAnimationEnabled(), spinRotation, stopAnimating(), and viewer.
Referenced by Gui::View3DInventorViewer::setCameraOrientation().
void NavigationStyle::setOrbitStyle | ( | NavigationStyle::OrbitStyle | style | ) |
References FCSphereSheetProjector::setOrbitStyle(), and spinprojector.
Referenced by operator=().
void NavigationStyle::setPopupMenuEnabled | ( | const SbBool | on | ) |
References menuenabled.
Referenced by Gui::View3DInventorViewer::setPopupMenuEnabled().
void NavigationStyle::setResetCursorPosition | ( | SbBool | on | ) |
void NavigationStyle::setRotationCenter | ( | const SbVec3f & | cnt | ) |
Referenced by saveCursorPosition().
void NavigationStyle::setRotationCenterMode | ( | RotationCenterModes | ) |
Referenced by initialize().
|
protected |
References Gui::View3DInventorViewer::setSeekMode(), and viewer.
void NavigationStyle::setSensitivity | ( | float | val | ) |
void NavigationStyle::setViewer | ( | View3DInventorViewer * | view | ) |
References viewer.
Referenced by Gui::View3DInventorViewer::setNavigationType().
|
protected |
References Gui::View3DInventorViewer::setViewing(), and viewer.
Referenced by processKeyboardEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and startAnimating().
void NavigationStyle::setViewingMode | ( | const ViewerMode | newmode | ) |
References BOXZOOM, clearLog(), currentmode, DRAGGING, interactiveCountDec(), interactiveCountInc(), lastmouseposition, pan(), PANNING, SPINNING, spinprojector, viewer, and ZOOMING.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::View3DInventorViewer::setSeekMode(), Gui::View3DInventorViewer::setViewing(), startAnimating(), and stopAnimating().
void NavigationStyle::setZoomAtCursor | ( | SbBool | on | ) |
References zoomAtCursor.
void NavigationStyle::setZoomInverted | ( | SbBool | on | ) |
References invertZoom.
void NavigationStyle::setZoomStep | ( | float | val | ) |
References zoomStep.
|
protected |
Uses the sphere sheet projector to map the mouseposition onto a 3D point and find a rotation from this and the last calculated point.
References getSensitivity(), localPos, log, panCamera(), reorientCamera(), spinincrement, spinprojector, spinsamplecounter, and viewer.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
NavigationStyle::spin_simplified is a simplified version of NavigationStyle::spin(..), which uses less global variables. Doesn't support starting an animated spinning.
cam | the camera to affect. The rotation amount is determined by delta (curpos-prevpos), and rotation axis is also affected by average pos. |
curpos | current normalized position or mouse pointer |
prevpos | previous normalized position of mouse pointer |
References getSensitivity(), reorientCamera(), spinprojector, and viewer.
Referenced by Gui::MayaGestureNavigationStyle::processSoEvent().
void NavigationStyle::startAnimating | ( | const SbVec3f & | axis, |
float | velocity | ||
) |
Starts programmatically the viewer in animation mode. The given axis direction is always in screen coordinates, not in world coordinates.
References isAnimationEnabled(), prevRedrawTime, setViewing(), setViewingMode(), spinincrement, SPINNING, and spinRotation.
Referenced by Gui::View3DInventorViewer::startAnimating().
void NavigationStyle::startSelection | ( | AbstractMouseSelection * | mouse | ) |
References Gui::AbstractMouseSelection::grabMouseModel(), mouseSelection, and viewer.
Referenced by Gui::View3DInventorViewer::startSelection().
void NavigationStyle::startSelection | ( | NavigationStyle::SelectionMode | mode = Lasso | ) |
References BoxZoom, Clip, Gui::AbstractMouseSelection::grabMouseModel(), isSelecting(), Lasso, mouseSelection, Rectangle, Rubberband, stopSelection(), and viewer.
void NavigationStyle::stopAnimating | ( | ) |
References currentmode, IDLE, INTERACT, isViewing(), setViewingMode(), and SPINNING.
Referenced by lookAtPoint(), setAnimationEnabled(), setCameraOrientation(), and Gui::View3DInventorViewer::stopAnimating().
void NavigationStyle::stopSelection | ( | ) |
References mouseSelection, pcPolygon, and Gui::AbstractMouseSelection::releaseMouseModel().
Referenced by startSelection(), and Gui::View3DInventorViewer::stopSelection().
|
protected |
References altdown, ctrldown, and shiftdown.
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and syncWithEvent().
|
protected |
References altdown, button1down, button2down, button3down, ctrldown, isSeekMode(), shiftdown, and syncModifierKeys().
Referenced by processEvent().
void NavigationStyle::updateAnimation | ( | ) |
References isAnimating(), prevRedrawTime, reorientCamera(), spinRotation, and viewer.
Referenced by Gui::View3DInventorViewer::renderScene().
|
virtual |
References Gui::View3DInventorViewer::projectPointToLine(), and viewer.
|
protected |
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.
Referenced by doZoom(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), zoomByCursor(), zoomIn(), and zoomOut().
|
protected |
References invertZoom, viewer, and zoom().
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), and Gui::TouchpadNavigationStyle::processSoEvent().
void NavigationStyle::zoomIn | ( | ) |
References viewer, and zoom().
Referenced by Gui::View3DInventorPy::zoomIn().
void NavigationStyle::zoomOut | ( | ) |
References viewer, and zoom().
Referenced by Gui::View3DInventorPy::zoomOut().
|
friend |
|
protected |
|
protected |
Referenced by initialize(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and syncWithEvent().
|
protected |
Referenced by initialize(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and syncWithEvent().
|
protected |
Referenced by initialize(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), and syncWithEvent().
|
protected |
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
Referenced by initialize(), processKeyboardEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), syncModifierKeys(), and syncWithEvent().
|
protected |
Referenced by getViewingMode(), initialize(), isAnimating(), processEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), setViewingMode(), and stopAnimating().
|
protected |
Referenced by moveCursorPosition(), and saveCursorPosition().
short Gui::NavigationStyle::historysize |
|
protected |
|
protected |
Referenced by doSpin(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), and setViewingMode().
|
protected |
Referenced by moveCursorPosition(), saveCursorPosition(), and spin().
|
protected |
Referenced by Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), and Gui::OpenSCADNavigationStyle::processSoEvent().
struct { ... } Gui::NavigationStyle::log |
Referenced by addToLog(), clearLog(), doSpin(), finalize(), initialize(), moveCursorPosition(), and spin().
|
protected |
Referenced by initialize(), isPopupMenuEnabled(), operator=(), and setPopupMenuEnabled().
|
protected |
Referenced by processClickEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
Referenced by abortSelection(), isSelecting(), processEvent(), redraw(), startSelection(), and stopSelection().
|
protected |
Referenced by operator=(), pan(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), and Gui::TinkerCADNavigationStyle::processSoEvent().
|
protected |
Referenced by abortSelection(), getPolygon(), processEvent(), and stopSelection().
SbVec2s* Gui::NavigationStyle::position |
Referenced by WorkingPlane.Plane::alignToPointAndAxis(), WorkingPlane.Plane::alignToPointAndAxis_SVG(), WorkingPlane.Plane::copy(), ifc2x3.ifcsweptsurface::dim(), ifc2x3.ifcelementarysurface::dim(), WorkingPlane.Plane::getGlobalCoords(), WorkingPlane.Plane::getLocalCoords(), WorkingPlane.Plane::getParameters(), WorkingPlane.Plane::getPlacement(), WorkingPlane.Plane::offsetToPoint(), openPopupMenu(), WorkingPlane.Plane::projectPoint(), WorkingPlane.Plane::restore(), WorkingPlane.Plane::save(), WorkingPlane.Plane::setFromParameters(), and WorkingPlane.Plane::setFromPlacement().
|
protected |
Referenced by initialize(), startAnimating(), and updateAnimation().
|
protected |
Referenced by getPolygon(), and processEvent().
|
protected |
Referenced by initialize(), processKeyboardEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), syncModifierKeys(), and syncWithEvent().
short Gui::NavigationStyle::size |
|
protected |
Referenced by doSpin(), initialize(), isAnimationEnabled(), operator=(), and setAnimationEnabled().
|
protected |
Referenced by initialize(), spin(), and startAnimating().
|
protected |
Referenced by doSpin(), finalize(), getOrbitStyle(), initialize(), operator=(), setOrbitStyle(), setViewingMode(), spin(), and spin_simplified().
|
protected |
|
protected |
Referenced by initialize(), and spin().
SbTime* Gui::NavigationStyle::time |
Referenced by addToLog().
|
protected |
Referenced by boxZoom(), doRotate(), doSpin(), doZoom(), getFocalPoint(), getInteractiveCount(), handleEventInForeground(), interactiveCountDec(), interactiveCountInc(), Gui::GestureNavigationStyle::is2DViewing(), Gui::GestureNavigationStyle::isDraggerUnderCursor(), isSeekMode(), isViewing(), lookAtPoint(), normalizePixelPos(), openPopupMenu(), pan(), panToCenter(), processEvent(), processKeyboardEvent(), processMotionEvent(), processSoEvent(), Gui::InventorNavigationStyle::processSoEvent(), Gui::CADNavigationStyle::processSoEvent(), Gui::RevitNavigationStyle::processSoEvent(), Gui::BlenderNavigationStyle::processSoEvent(), Gui::MayaGestureNavigationStyle::processSoEvent(), Gui::TouchpadNavigationStyle::processSoEvent(), Gui::OpenCascadeNavigationStyle::processSoEvent(), Gui::OpenSCADNavigationStyle::processSoEvent(), Gui::TinkerCADNavigationStyle::processSoEvent(), Gui::GestureNavigationStyle::processSoEvent(), processWheelEvent(), saveCursorPosition(), seekToPoint(), setCameraOrientation(), setSeekMode(), setViewer(), setViewing(), setViewingMode(), spin(), spin_simplified(), startSelection(), updateAnimation(), viewAll(), Gui::NavigationStyleP::viewAnimationCB(), zoomByCursor(), zoomIn(), and zoomOut().
|
protected |
Referenced by doRotate(), doZoom(), initialize(), isZoomAtCursor(), Gui::MayaGestureNavigationStyle::processSoEvent(), and setZoomAtCursor().
|
protected |
Referenced by doZoom(), initialize(), and setZoomStep().