Open CASCADE Technology 7.8.0
|
Auxiliary structure for handling viewer events between GUI and Rendering threads. More...
#include <AIS_ViewController.hxx>
Public Member Functions | |
AIS_ViewController () | |
Empty constructor. | |
virtual | ~AIS_ViewController () |
Destructor. | |
const AIS_ViewInputBuffer & | InputBuffer (AIS_ViewInputBufferType theType) const |
Return input buffer. | |
AIS_ViewInputBuffer & | ChangeInputBuffer (AIS_ViewInputBufferType theType) |
Return input buffer. | |
const Handle< AIS_AnimationCamera > & | ViewAnimation () const |
Return view animation; empty (but not NULL) animation by default. | |
void | SetViewAnimation (const Handle< AIS_AnimationCamera > &theAnimation) |
Set view animation to be handled within handleViewRedraw(). | |
void | AbortViewAnimation () |
Interrupt active view animation. | |
const Handle< AIS_Animation > & | ObjectsAnimation () const |
Return objects animation; empty (but not NULL) animation by default. | |
void | SetObjectsAnimation (const Handle< AIS_Animation > &theAnimation) |
Set object animation to be handled within handleViewRedraw(). | |
bool | ToPauseObjectsAnimation () const |
Return TRUE if object animation should be paused on mouse click; FALSE by default. | |
void | SetPauseObjectsAnimation (bool theToPause) |
Set if object animation should be paused on mouse click. | |
bool | IsContinuousRedraw () const |
Return TRUE if continuous redrawing is enabled; FALSE by default. This option would request a next viewer frame to be completely redrawn right after current frame is finished. | |
void | SetContinuousRedraw (bool theToEnable) |
Enable or disable continuous updates. | |
global parameters | |
AIS_RotationMode | RotationMode () const |
Return camera rotation mode, AIS_RotationMode_BndBoxActive by default. | |
void | SetRotationMode (AIS_RotationMode theMode) |
Set camera rotation mode. | |
AIS_NavigationMode | NavigationMode () const |
Return camera navigation mode; AIS_NavigationMode_Orbit by default. | |
void | SetNavigationMode (AIS_NavigationMode theMode) |
Set camera navigation mode. | |
float | MouseAcceleration () const |
Return mouse input acceleration ratio in First Person mode; 1.0 by default. | |
void | SetMouseAcceleration (float theRatio) |
Set mouse input acceleration ratio. | |
float | OrbitAcceleration () const |
Return orbit rotation acceleration ratio; 1.0 by default. | |
void | SetOrbitAcceleration (float theRatio) |
Set orbit rotation acceleration ratio. | |
bool | ToShowPanAnchorPoint () const |
Return TRUE if panning anchor point within perspective projection should be displayed in 3D Viewer; TRUE by default. | |
void | SetShowPanAnchorPoint (bool theToShow) |
Set if panning anchor point within perspective projection should be displayed in 3D Viewer. | |
bool | ToShowRotateCenter () const |
Return TRUE if rotation point should be displayed in 3D Viewer; TRUE by default. | |
void | SetShowRotateCenter (bool theToShow) |
Set if rotation point should be displayed in 3D Viewer. | |
bool | ToLockOrbitZUp () const |
Return TRUE if camera up orientation within AIS_NavigationMode_Orbit rotation mode should be forced Z up; FALSE by default. | |
void | SetLockOrbitZUp (bool theToForceUp) |
Set if camera up orientation within AIS_NavigationMode_Orbit rotation mode should be forced Z up. | |
bool | ToAllowTouchZRotation () const |
Return TRUE if z-rotation via two-touches gesture is enabled; FALSE by default. | |
void | SetAllowTouchZRotation (bool theToEnable) |
Set if z-rotation via two-touches gesture is enabled. | |
bool | ToAllowRotation () const |
Return TRUE if camera rotation is allowed; TRUE by default. | |
void | SetAllowRotation (bool theToEnable) |
Set if camera rotation is allowed. | |
bool | ToAllowPanning () const |
Return TRUE if panning is allowed; TRUE by default. | |
void | SetAllowPanning (bool theToEnable) |
Set if panning is allowed. | |
bool | ToAllowZooming () const |
Return TRUE if zooming is allowed; TRUE by default. | |
void | SetAllowZooming (bool theToEnable) |
Set if zooming is allowed. | |
bool | ToAllowZFocus () const |
Return TRUE if ZFocus change is allowed; TRUE by default. | |
void | SetAllowZFocus (bool theToEnable) |
Set if ZFocus change is allowed. | |
bool | ToAllowHighlight () const |
Return TRUE if dynamic highlight on mouse move is allowed; TRUE by default. | |
void | SetAllowHighlight (bool theToEnable) |
Set if dragging object is allowed. | |
bool | ToAllowDragging () const |
Return TRUE if dragging object is allowed; TRUE by default. | |
void | SetAllowDragging (bool theToEnable) |
Set if dynamic highlight on mouse move is allowed. | |
bool | ToStickToRayOnZoom () const |
Return TRUE if picked point should be projected to picking ray on zooming at point; TRUE by default. | |
void | SetStickToRayOnZoom (bool theToEnable) |
Set if picked point should be projected to picking ray on zooming at point. | |
bool | ToStickToRayOnRotation () const |
Return TRUE if picked point should be projected to picking ray on rotating around point; TRUE by default. | |
void | SetStickToRayOnRotation (bool theToEnable) |
Set if picked point should be projected to picking ray on rotating around point. | |
bool | ToInvertPitch () const |
Return TRUE if pitch direction should be inverted while processing Aspect_VKey_NavLookUp/Aspect_VKey_NavLookDown; FALSE by default. | |
void | SetInvertPitch (bool theToInvert) |
Set flag inverting pitch direction. | |
float | WalkSpeedAbsolute () const |
Return normal walking speed, in m/s; 1.5 by default. | |
void | SetWalkSpeedAbsolute (float theSpeed) |
Set normal walking speed, in m/s; 1.5 by default. | |
float | WalkSpeedRelative () const |
Return walking speed relative to scene bounding box; 0.1 by default. | |
void | SetWalkSpeedRelative (float theFactor) |
Set walking speed relative to scene bounding box. | |
float | ThrustSpeed () const |
Return active thrust value; 0.0f by default. | |
void | SetThrustSpeed (float theSpeed) |
Set active thrust value. | |
bool | HasPreviousMoveTo () const |
Return TRUE if previous position of MoveTo has been defined. | |
const Graphic3d_Vec2i & | PreviousMoveTo () const |
Return previous position of MoveTo event in 3D viewer. | |
void | ResetPreviousMoveTo () |
Reset previous position of MoveTo. | |
bool | ToDisplayXRAuxDevices () const |
Return TRUE to display auxiliary tracked XR devices (like tracking stations). | |
void | SetDisplayXRAuxDevices (bool theToDisplay) |
Set if auxiliary tracked XR devices should be displayed. | |
bool | ToDisplayXRHands () const |
Return TRUE to display XR hand controllers. | |
void | SetDisplayXRHands (bool theToDisplay) |
Set if tracked XR hand controllers should be displayed. | |
keyboard input | |
virtual void | KeyDown (Aspect_VKey theKey, double theTime, double thePressure=1.0) override |
Press key. Default implementation updates internal cache. | |
virtual void | KeyUp (Aspect_VKey theKey, double theTime) override |
Release key. Default implementation updates internal cache. | |
virtual void | KeyFromAxis (Aspect_VKey theNegative, Aspect_VKey thePositive, double theTime, double thePressure) override |
Simulate key up/down events from axis value. Default implementation updates internal cache. | |
AIS_WalkDelta | FetchNavigationKeys (Standard_Real theCrouchRatio, Standard_Real theRunRatio) |
Fetch active navigation actions. | |
const Aspect_VKeySet & | Keys () const |
Return keyboard state. | |
Aspect_VKeySet & | ChangeKeys () |
Return keyboard state. | |
mouse input | |
const AIS_MouseGestureMap & | MouseGestureMap () const |
Return map defining mouse gestures. | |
AIS_MouseGestureMap & | ChangeMouseGestureMap () |
Return map defining mouse gestures. | |
const AIS_MouseSelectionSchemeMap & | MouseSelectionSchemes () const |
Return map defining mouse selection schemes. | |
AIS_MouseSelectionSchemeMap & | ChangeMouseSelectionSchemes () |
Return map defining mouse gestures. | |
double | MouseDoubleClickInterval () const |
Return double click interval in seconds; 0.4 by default. | |
void | SetMouseDoubleClickInterval (double theSeconds) |
Set double click interval in seconds. | |
virtual void | SelectInViewer (const Graphic3d_Vec2i &thePnt, const AIS_SelectionScheme theScheme=AIS_SelectionScheme_Replace) |
Perform selection in 3D viewer. This method is expected to be called from UI thread. | |
virtual void | SelectInViewer (const NCollection_Sequence< Graphic3d_Vec2i > &thePnts, const AIS_SelectionScheme theScheme=AIS_SelectionScheme_Replace) |
Perform selection in 3D viewer. This method is expected to be called from UI thread. | |
virtual void | UpdateRubberBand (const Graphic3d_Vec2i &thePntFrom, const Graphic3d_Vec2i &thePntTo) |
Update rectangle selection tool. This method is expected to be called from UI thread. | |
virtual void | UpdatePolySelection (const Graphic3d_Vec2i &thePnt, bool theToAppend) |
Update polygonal selection tool. This method is expected to be called from UI thread. | |
virtual bool | UpdateZoom (const Aspect_ScrollDelta &theDelta) |
Update zoom event (e.g. from mouse scroll). This method is expected to be called from UI thread. | |
virtual bool | UpdateZRotation (double theAngle) |
Update Z rotation event. | |
virtual bool | UpdateMouseScroll (const Aspect_ScrollDelta &theDelta) override |
Update mouse scroll event; redirects to UpdateZoom by default. This method is expected to be called from UI thread. | |
virtual bool | UpdateMouseButtons (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButtons, Aspect_VKeyFlags theModifiers, bool theIsEmulated) override |
Handle mouse button press/release event. This method is expected to be called from UI thread. | |
virtual bool | UpdateMousePosition (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButtons, Aspect_VKeyFlags theModifiers, bool theIsEmulated) override |
Handle mouse cursor movement event. This method is expected to be called from UI thread. | |
virtual bool | UpdateMouseClick (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButton, Aspect_VKeyFlags theModifiers, bool theIsDoubleClick) |
Handle mouse button click event (emulated by UpdateMouseButtons() while releasing single button). Note that as this method is called by UpdateMouseButtons(), it should be executed from UI thread. Default implementation redirects to SelectInViewer(). This method is expected to be called from UI thread. | |
bool | PressMouseButton (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButton, Aspect_VKeyFlags theModifiers, bool theIsEmulated) |
Handle mouse button press event. This method is expected to be called from UI thread. Default implementation redirects to UpdateMousePosition(). | |
bool | ReleaseMouseButton (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButton, Aspect_VKeyFlags theModifiers, bool theIsEmulated) |
Handle mouse button release event. This method is expected to be called from UI thread. Default implementation redirects to UpdateMousePosition(). | |
Aspect_VKeyMouse | PressedMouseButtons () const |
Return currently pressed mouse buttons. | |
Aspect_VKeyFlags | LastMouseFlags () const |
Return active key modifiers passed with last mouse event. | |
const Graphic3d_Vec2i & | LastMousePosition () const |
Return last mouse position. | |
multi-touch input | |
float | TouchToleranceScale () const |
Return scale factor for adjusting tolerances for starting multi-touch gestures; 1.0 by default This scale factor is expected to be computed from touch screen resolution. | |
void | SetTouchToleranceScale (float theTolerance) |
Set scale factor for adjusting tolerances for starting multi-touch gestures. | |
virtual void | AddTouchPoint (Standard_Size theId, const Graphic3d_Vec2d &thePnt, Standard_Boolean theClearBefore=false) override |
Add touch point with the given ID. This method is expected to be called from UI thread. | |
virtual bool | RemoveTouchPoint (Standard_Size theId, Standard_Boolean theClearSelectPnts=false) override |
Remove touch point with the given ID. This method is expected to be called from UI thread. | |
virtual void | UpdateTouchPoint (Standard_Size theId, const Graphic3d_Vec2d &thePnt) override |
Update touch point with the given ID. If point with specified ID was not registered before, it will be added. This method is expected to be called from UI thread. | |
bool | HasTouchPoints () const |
Return TRUE if touches map is not empty. | |
3d mouse input | |
virtual bool | Update3dMouse (const WNT_HIDSpaceMouse &theEvent) override |
Process 3d mouse input event (redirects to translation, rotation and keys). | |
Public Member Functions inherited from Aspect_WindowInputListener | |
virtual | ~Aspect_WindowInputListener () |
DEFINE_STANDARD_ALLOC. | |
double | EventTime () const |
Return event time (e.g. current time). | |
const Aspect_VKeySet & | Keys () const |
Return keyboard state. | |
Aspect_VKeySet & | ChangeKeys () |
Return keyboard state. | |
bool | PressMouseButton (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButton, Aspect_VKeyFlags theModifiers, bool theIsEmulated) |
Handle mouse button press event. This method is expected to be called from UI thread. Default implementation redirects to UpdateMousePosition(). | |
bool | ReleaseMouseButton (const Graphic3d_Vec2i &thePoint, Aspect_VKeyMouse theButton, Aspect_VKeyFlags theModifiers, bool theIsEmulated) |
Handle mouse button release event. This method is expected to be called from UI thread. Default implementation redirects to UpdateMousePosition(). | |
Aspect_VKeyMouse | PressedMouseButtons () const |
Return currently pressed mouse buttons. | |
Aspect_VKeyFlags | LastMouseFlags () const |
Return active key modifiers passed with last mouse event. | |
const Graphic3d_Vec2i & | LastMousePosition () const |
Return last mouse position. | |
bool | HasTouchPoints () const |
Return TRUE if touches map is not empty. | |
const Aspect_TouchMap & | TouchPoints () const |
Return map of active touches. | |
float | Get3dMouseTranslationScale () const |
Return acceleration ratio for translation event; 2.0 by default. | |
void | Set3dMouseTranslationScale (float theScale) |
Set acceleration ratio for translation event. | |
float | Get3dMouseRotationScale () const |
Return acceleration ratio for rotation event; 4.0 by default. | |
void | Set3dMouseRotationScale (float theScale) |
Set acceleration ratio for rotation event. | |
bool | To3dMousePreciseInput () const |
Return quadric acceleration flag; TRUE by default. | |
void | Set3dMousePreciseInput (bool theIsQuadric) |
Set quadric acceleration flag. | |
const NCollection_Vec3< bool > & | Get3dMouseIsNoRotate () const |
Return 3d mouse rotation axes (tilt/roll/spin) ignore flag; (FALSE, FALSE, FALSE) by default. | |
NCollection_Vec3< bool > & | Change3dMouseIsNoRotate () |
Return 3d mouse rotation axes (tilt/roll/spin) ignore flag; (FALSE, FALSE, FALSE) by default. | |
const NCollection_Vec3< bool > & | Get3dMouseToReverse () const |
Return 3d mouse rotation axes (tilt/roll/spin) reverse flag; (TRUE, FALSE, FALSE) by default. | |
NCollection_Vec3< bool > & | Change3dMouseToReverse () |
Return 3d mouse rotation axes (tilt/roll/spin) reverse flag; (TRUE, FALSE, FALSE) by default. | |
virtual bool | update3dMouseTranslation (const WNT_HIDSpaceMouse &theEvent) |
Process 3d mouse input translation event. | |
virtual bool | update3dMouseRotation (const WNT_HIDSpaceMouse &theEvent) |
Process 3d mouse input rotation event. | |
virtual bool | update3dMouseKeys (const WNT_HIDSpaceMouse &theEvent) |
Process 3d mouse input keys event. | |
Protected Attributes | |
XR input variables | |
NCollection_Array1< Handle< AIS_XRTrackedDevice > > | myXRPrsDevices |
array of XR tracked devices presentations | |
Quantity_Color | myXRLaserTeleColor |
color of teleport laser | |
Quantity_Color | myXRLaserPickColor |
color of picking laser | |
Aspect_XRTrackedDeviceRole | myXRLastTeleportHand |
active hand for teleport | |
Aspect_XRTrackedDeviceRole | myXRLastPickingHand |
active hand for picking objects | |
Aspect_XRHapticActionData | myXRTeleportHaptic |
vibration on picking teleport destination | |
Aspect_XRHapticActionData | myXRPickingHaptic |
vibration on dynamic highlighting | |
Aspect_XRHapticActionData | myXRSelectHaptic |
vibration on selection | |
Standard_Real | myXRLastPickDepthLeft |
last picking depth for left hand | |
Standard_Real | myXRLastPickDepthRight |
last picking depth for right hand | |
Standard_Real | myXRTurnAngle |
discrete turn angle for XR trackpad | |
Standard_Boolean | myToDisplayXRAuxDevices |
flag to display auxiliary tracked XR devices | |
Standard_Boolean | myToDisplayXRHands |
flag to display XR hands | |
mouse input variables | |
Standard_Real | myMouseClickThreshold |
mouse click threshold in pixels; 3 by default | |
Standard_Real | myMouseDoubleClickInt |
double click interval in seconds; 0.4 by default | |
Standard_ShortReal | myScrollZoomRatio |
distance ratio for mapping mouse scroll event to zoom; 15.0 by default | |
AIS_MouseGestureMap | myMouseGestureMap |
map defining mouse gestures | |
AIS_MouseGestureMap | myMouseGestureMapDrag |
secondary map defining mouse gestures for dragging | |
AIS_MouseGesture | myMouseActiveGesture |
initiated mouse gesture (by pressing mouse button) | |
AIS_MouseSelectionSchemeMap | myMouseSelectionSchemes |
map defining selection schemes bound to mouse + modifiers | |
Standard_Boolean | myMouseActiveIdleRotation |
flag indicating view idle rotation state | |
Graphic3d_Vec2i | myMousePressPoint |
mouse position where active gesture was been initiated | |
Graphic3d_Vec2i | myMouseProgressPoint |
gesture progress | |
OSD_Timer | myMouseClickTimer |
timer for handling double-click event | |
Standard_Integer | myMouseClickCounter |
counter for handling double-click event | |
Standard_Integer | myMouseSingleButton |
index of mouse button pressed alone (>0) | |
Standard_Boolean | myMouseStopDragOnUnclick |
queue stop dragging even with at next mouse unclick | |
multi-touch input variables | |
Standard_ShortReal | myTouchToleranceScale |
tolerance scale factor; 1.0 by default | |
Standard_ShortReal | myTouchClickThresholdPx |
touch click threshold in pixels; 3 by default | |
Standard_ShortReal | myTouchRotationThresholdPx |
threshold for starting one-touch rotation gesture in pixels; 6 by default | |
Standard_ShortReal | myTouchZRotationThreshold |
threshold for starting two-touch Z-rotation gesture in radians; 2 degrees by default | |
Standard_ShortReal | myTouchPanThresholdPx |
threshold for starting two-touch panning gesture in pixels; 4 by default | |
Standard_ShortReal | myTouchZoomThresholdPx |
threshold for starting two-touch zoom (pitch) gesture in pixels; 6 by default | |
Standard_ShortReal | myTouchZoomRatio |
distance ratio for mapping two-touch zoom (pitch) gesture from pixels to zoom; 0.13 by default | |
Standard_ShortReal | myTouchDraggingThresholdPx |
distance for starting one-touch dragging gesture in pixels; 6 by default | |
Aspect_Touch | myTouchClick |
single touch position for handling clicks | |
OSD_Timer | myTouchDoubleTapTimer |
timer for handling double tap | |
Graphic3d_Vec2d | myStartPanCoord |
touch coordinates at the moment of starting panning gesture | |
Graphic3d_Vec2d | myStartRotCoord |
touch coordinates at the moment of starting rotating gesture | |
Standard_Integer | myNbTouchesLast |
number of touches within previous gesture flush to track gesture changes | |
Standard_Boolean | myUpdateStartPointPan |
flag indicating that new anchor point should be picked for starting panning gesture | |
Standard_Boolean | myUpdateStartPointRot |
flag indicating that new gravity point should be picked for starting rotation gesture | |
Standard_Boolean | myUpdateStartPointZRot |
flag indicating that new gravity point should be picked for starting Z-rotation gesture | |
rotation/panning transient state variables | |
Handle< AIS_Point > | myAnchorPointPrs1 |
anchor point presentation (Graphic3d_ZLayerId_Top) | |
Handle< AIS_Point > | myAnchorPointPrs2 |
anchor point presentation (Graphic3d_ZLayerId_Topmost) | |
gp_Pnt | myPanPnt3d |
active panning anchor point | |
gp_Pnt | myRotatePnt3d |
active rotation center of gravity | |
gp_Dir | myCamStartOpUp |
camera Up direction at the beginning of rotation | |
gp_Dir | myCamStartOpDir |
camera View direction at the beginning of rotation | |
gp_Pnt | myCamStartOpEye |
camera Eye position at the beginning of rotation | |
gp_Pnt | myCamStartOpCenter |
camera Center position at the beginning of rotation | |
gp_Vec | myCamStartOpToCenter |
vector from rotation gravity point to camera Center at the beginning of rotation | |
gp_Vec | myCamStartOpToEye |
vector from rotation gravity point to camera Eye at the beginning of rotation | |
Graphic3d_Vec3d | myRotateStartYawPitchRoll |
camera yaw pitch roll at the beginning of rotation | |
Protected Attributes inherited from Aspect_WindowInputListener | |
Aspect_VKeySet | myKeys |
keyboard state | |
Graphic3d_Vec2i | myMousePositionLast |
last mouse position | |
Aspect_VKeyMouse | myMousePressed |
active mouse buttons | |
Aspect_VKeyFlags | myMouseModifiers |
active key modifiers passed with last mouse event | |
Aspect_TouchMap | myTouchPoints |
map of active touches | |
bool | my3dMouseButtonState [32] |
cached button state | |
NCollection_Vec3< bool > | my3dMouseNoRotate |
ignore 3d mouse rotation axes | |
NCollection_Vec3< bool > | my3dMouseToReverse |
reverse 3d mouse rotation axes | |
float | my3dMouseAccelTrans |
acceleration ratio for translation event | |
float | my3dMouseAccelRotate |
acceleration ratio for rotation event | |
bool | my3dMouseIsQuadric |
quadric acceleration | |
OSD_Timer | myEventTimer |
timer for timestamping events | |
resize events | |
AIS_ViewInputBuffer | myUI |
buffer for UI thread | |
AIS_ViewInputBuffer | myGL |
buffer for rendering thread | |
Standard_Real | myLastEventsTime |
last fetched events timer value for computing delta/progress | |
Standard_Boolean | myToAskNextFrame |
flag indicating that another frame should be drawn right after this one | |
Standard_Boolean | myIsContinuousRedraw |
continuous redrawing (without immediate rendering optimization) | |
Standard_Real | myMinCamDistance |
minimal camera distance for zoom operation | |
AIS_RotationMode | myRotationMode |
rotation mode | |
AIS_NavigationMode | myNavigationMode |
navigation mode (orbit rotation / first person) | |
Standard_ShortReal | myMouseAccel |
mouse input acceleration ratio in First Person mode | |
Standard_ShortReal | myOrbitAccel |
Orbit rotation acceleration ratio. | |
Standard_Boolean | myToShowPanAnchorPoint |
option displaying panning anchor point | |
Standard_Boolean | myToShowRotateCenter |
option displaying rotation center point | |
Standard_Boolean | myToLockOrbitZUp |
force camera up orientation within AIS_NavigationMode_Orbit rotation mode | |
Standard_Boolean | myToInvertPitch |
flag inverting pitch direction while processing Aspect_VKey_NavLookUp/Aspect_VKey_NavLookDown | |
Standard_Boolean | myToAllowTouchZRotation |
enable z-rotation two-touches gesture; FALSE by default | |
Standard_Boolean | myToAllowRotation |
enable rotation; TRUE by default | |
Standard_Boolean | myToAllowPanning |
enable panning; TRUE by default | |
Standard_Boolean | myToAllowZooming |
enable zooming; TRUE by default | |
Standard_Boolean | myToAllowZFocus |
enable ZFocus change; TRUE by default | |
Standard_Boolean | myToAllowHighlight |
enable dynamic highlight on mouse move; TRUE by default | |
Standard_Boolean | myToAllowDragging |
enable dragging object; TRUE by default | |
Standard_Boolean | myToStickToRayOnZoom |
project picked point to ray while zooming at point, TRUE by default | |
Standard_Boolean | myToStickToRayOnRotation |
project picked point to ray while rotating around point; TRUE by default | |
Standard_ShortReal | myWalkSpeedAbsolute |
normal walking speed, in m/s; 1.5 by default | |
Standard_ShortReal | myWalkSpeedRelative |
walking speed relative to scene bounding box; 0.1 by default | |
Standard_ShortReal | myThrustSpeed |
active thrust value | |
Standard_Boolean | myHasThrust |
flag indicating active thrust | |
Handle< AIS_AnimationCamera > | myViewAnimation |
view animation | |
Handle< AIS_Animation > | myObjAnimation |
objects animation | |
Standard_Boolean | myToPauseObjAnimation |
flag to pause objects animation on mouse click; FALSE by default | |
Handle< AIS_RubberBand > | myRubberBand |
Rubber-band presentation. | |
Handle< SelectMgr_EntityOwner > | myDragOwner |
detected owner of currently dragged object | |
Handle< AIS_InteractiveObject > | myDragObject |
currently dragged object | |
Graphic3d_Vec2i | myPrevMoveTo |
previous position of MoveTo event in 3D viewer | |
Standard_Boolean | myHasHlrOnBeforeRotation |
flag for restoring Computed mode after rotation | |
virtual void | ProcessExpose () override |
Handle expose event (window content has been invalidation and should be redrawn). Default implementation does nothing. | |
virtual void | ProcessConfigure (bool theIsResized) override |
Handle window resize event. Default implementation does nothing. | |
virtual void | ProcessInput () override |
Handle window input event immediately. Default implementation does nothing - input events are accumulated in internal buffer until explicit FlushViewEvents() call. | |
virtual void | ProcessFocus (bool theIsActivated) override |
Handle focus event. Default implementation resets cached input state (pressed keys). | |
virtual void | ProcessClose () override |
Handle window close event. Default implementation does nothing. | |
virtual void | ResetViewInput () |
Reset input state (pressed keys, mouse buttons, etc.) e.g. on window focus loss. This method is expected to be called from UI thread. | |
virtual void | UpdateViewOrientation (V3d_TypeOfOrientation theOrientation, bool theToFitAll) |
Reset view orientation. This method is expected to be called from UI thread. | |
virtual void | FlushViewEvents (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, Standard_Boolean theToHandle=Standard_False) |
Update buffer for rendering thread. This method is expected to be called within synchronization barrier between GUI and Rendering threads (e.g. GUI thread should be locked beforehand to avoid data races). | |
virtual void | HandleViewEvents (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Process events within rendering thread. | |
virtual void | OnSelectionChanged (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Callback called by handleMoveTo() on Selection in 3D Viewer. This method is expected to be called from rendering thread. | |
virtual void | OnObjectDragged (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, AIS_DragAction theAction) |
Callback called by handleMoveTo() on dragging object in 3D Viewer. This method is expected to be called from rendering thread. | |
virtual void | OnSubviewChanged (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theOldView, const Handle< V3d_View > &theNewView) |
Callback called by HandleViewEvents() on Selection of another (sub)view. This method is expected to be called from rendering thread. | |
virtual bool | PickPoint (gp_Pnt &thePnt, const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const Graphic3d_Vec2i &theCursor, bool theToStickToPickRay) |
Pick closest point under mouse cursor. This method is expected to be called from rendering thread. | |
virtual bool | PickAxis (gp_Pnt &theTopPnt, const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const gp_Ax1 &theAxis) |
Pick closest point by axis. This method is expected to be called from rendering thread. | |
virtual gp_Pnt | GravityPoint (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Compute rotation gravity center point depending on rotation mode. This method is expected to be called from rendering thread. | |
virtual void | FitAllAuto (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Modify view camera to fit all objects. Default implementation fits either all visible and all selected objects (swapped on each call). | |
virtual void | handleViewOrientationKeys (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Handle hot-keys defining new camera orientation (Aspect_VKey_ViewTop and similar keys). Default implementation starts an animated transaction from the current to the target camera orientation, when specific action key was pressed. This method is expected to be called from rendering thread. | |
virtual AIS_WalkDelta | handleNavigationKeys (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Perform navigation (Aspect_VKey_NavForward and similar keys). This method is expected to be called from rendering thread. | |
virtual void | handleCameraActions (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const AIS_WalkDelta &theWalk) |
Perform immediate camera actions (rotate/zoom/pan) on gesture progress. This method is expected to be called from rendering thread. | |
virtual void | handleMoveTo (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Perform moveto/selection/dragging. This method is expected to be called from rendering thread. | |
bool | toAskNextFrame () const |
Return TRUE if another frame should be drawn right after this one. | |
void | setAskNextFrame (bool theToDraw=true) |
Set if another frame should be drawn right after this one. | |
bool | hasPanningAnchorPoint () const |
Return if panning anchor point has been defined. | |
const gp_Pnt & | panningAnchorPoint () const |
Return active panning anchor point. | |
void | setPanningAnchorPoint (const gp_Pnt &thePnt) |
Set active panning anchor point. | |
virtual void | handlePanning (const Handle< V3d_View > &theView) |
Handle panning event myGL.Panning. | |
virtual void | handleZRotate (const Handle< V3d_View > &theView) |
Handle Z rotation event myGL.ZRotate. | |
double | MinZoomDistance () const |
Return minimal camera distance for zoom operation. | |
void | SetMinZoomDistance (double theDist) |
Set minimal camera distance for zoom operation. | |
virtual void | handleZoom (const Handle< V3d_View > &theView, const Aspect_ScrollDelta &theParams, const gp_Pnt *thePnt) |
Handle zoom event myGL.ZoomActions. This method is expected to be called from rendering thread. | |
virtual void | handleZFocusScroll (const Handle< V3d_View > &theView, const Aspect_ScrollDelta &theParams) |
Handle ZScroll event myGL.ZoomActions. This method is expected to be called from rendering thread. | |
virtual void | handleOrbitRotation (const Handle< V3d_View > &theView, const gp_Pnt &thePnt, bool theToLockZUp) |
Handle orbital rotation events myGL.OrbitRotation. | |
virtual void | handleViewRotation (const Handle< V3d_View > &theView, double theYawExtra, double thePitchExtra, double theRoll, bool theToRestartOnIncrement) |
Handle view direction rotation events myGL.ViewRotation. This method is expected to be called from rendering thread. | |
virtual void | handleViewRedraw (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Handle view redraw. This method is expected to be called from rendering thread. | |
virtual void | handleXRInput (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const AIS_WalkDelta &theWalk) |
Perform XR input. This method is expected to be called from rendering thread. | |
virtual void | handleXRTurnPad (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Handle trackpad view turn action. | |
virtual void | handleXRTeleport (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Handle trackpad teleportation action. | |
virtual void | handleXRPicking (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Handle picking on trigger click. | |
virtual void | handleXRHighlight (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Perform dynamic highlighting for active hand. | |
virtual void | handleXRPresentations (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Display auxiliary XR presentations. | |
virtual Standard_Integer | handleXRMoveTo (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const gp_Trsf &thePose, const Standard_Boolean theToHighlight) |
Perform picking with/without dynamic highlighting for XR pose. | |
double | EventTime () const |
Return event time (e.g. current time). | |
virtual void | flushBuffers (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Flush buffers. | |
virtual void | flushGestures (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Flush touch gestures. | |
void | updateEventsTime (double &thePrevTime, double &theCurrTime) |
Return current and previously fetched event times. This callback is intended to compute delta between sequentially processed events. | |
virtual void | handleSelectionPick (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Perform selection via mouse click. This method is expected to be called from rendering thread. | |
virtual void | handleDynamicHighlight (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Perform dynamic highlight on mouse move. This method is expected to be called from rendering thread. | |
virtual void | handleSelectionPoly (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView) |
Perform rubber-band selection. This method is expected to be called from rendering thread. | |
virtual void | contextLazyMoveTo (const Handle< AIS_InteractiveContext > &theCtx, const Handle< V3d_View > &theView, const Graphic3d_Vec2i &thePnt) |
Lazy AIS_InteractiveContext::MoveTo() with myPrevMoveTo check. | |
Additional Inherited Members | |
Protected Member Functions inherited from Aspect_WindowInputListener | |
Aspect_WindowInputListener () | |
Empty constructor. | |
Auxiliary structure for handling viewer events between GUI and Rendering threads.
Class implements the following features:
AIS_ViewController::AIS_ViewController | ( | ) |
Empty constructor.
|
virtual |
Destructor.
void AIS_ViewController::AbortViewAnimation | ( | ) |
Interrupt active view animation.
|
overridevirtual |
Add touch point with the given ID. This method is expected to be called from UI thread.
theId | touch unique identifier |
thePnt | touch coordinates |
theClearBefore | if TRUE previously registered touches will be removed |
Reimplemented from Aspect_WindowInputListener.
|
inline |
Return input buffer.
|
inline |
Return keyboard state.
|
inline |
Return map defining mouse gestures.
|
inline |
Return map defining mouse gestures.
|
protectedvirtual |
Lazy AIS_InteractiveContext::MoveTo() with myPrevMoveTo check.
|
inline |
Return event time (e.g. current time).
AIS_WalkDelta AIS_ViewController::FetchNavigationKeys | ( | Standard_Real | theCrouchRatio, |
Standard_Real | theRunRatio | ||
) |
Fetch active navigation actions.
|
virtual |
Modify view camera to fit all objects. Default implementation fits either all visible and all selected objects (swapped on each call).
|
protectedvirtual |
Flush buffers.
|
protectedvirtual |
Flush touch gestures.
|
virtual |
Update buffer for rendering thread. This method is expected to be called within synchronization barrier between GUI and Rendering threads (e.g. GUI thread should be locked beforehand to avoid data races).
theCtx | interactive context |
theView | active view |
theToHandle | if TRUE, the HandleViewEvents() will be called |
|
virtual |
Compute rotation gravity center point depending on rotation mode. This method is expected to be called from rendering thread.
|
virtual |
Perform immediate camera actions (rotate/zoom/pan) on gesture progress. This method is expected to be called from rendering thread.
|
protectedvirtual |
Perform dynamic highlight on mouse move. This method is expected to be called from rendering thread.
|
virtual |
Perform moveto/selection/dragging. This method is expected to be called from rendering thread.
|
virtual |
Perform navigation (Aspect_VKey_NavForward and similar keys). This method is expected to be called from rendering thread.
|
virtual |
Handle orbital rotation events myGL.OrbitRotation.
theView | view to modify |
thePnt | 3D point to rotate around |
theToLockZUp | amend camera to exclude roll angle (put camera Up vector to plane containing global Z and view direction) |
Handle panning event myGL.Panning.
|
protectedvirtual |
Perform selection via mouse click. This method is expected to be called from rendering thread.
|
protectedvirtual |
Perform rubber-band selection. This method is expected to be called from rendering thread.
|
virtual |
Process events within rendering thread.
|
virtual |
Handle hot-keys defining new camera orientation (Aspect_VKey_ViewTop and similar keys). Default implementation starts an animated transaction from the current to the target camera orientation, when specific action key was pressed. This method is expected to be called from rendering thread.
|
virtual |
Handle view redraw. This method is expected to be called from rendering thread.
Reimplemented in ViewerTest_EventManager.
|
virtual |
Handle view direction rotation events myGL.ViewRotation. This method is expected to be called from rendering thread.
theView | camera to modify |
theYawExtra | extra yaw increment |
thePitchExtra | extra pitch increment |
theRoll | roll value |
theToRestartOnIncrement | flag indicating flight mode |
|
virtual |
Perform dynamic highlighting for active hand.
|
virtual |
Perform XR input. This method is expected to be called from rendering thread.
|
virtual |
Perform picking with/without dynamic highlighting for XR pose.
|
virtual |
Handle picking on trigger click.
|
virtual |
Display auxiliary XR presentations.
|
virtual |
Handle trackpad teleportation action.
|
virtual |
Handle trackpad view turn action.
|
virtual |
Handle ZScroll event myGL.ZoomActions. This method is expected to be called from rendering thread.
|
virtual |
Handle zoom event myGL.ZoomActions. This method is expected to be called from rendering thread.
Handle Z rotation event myGL.ZRotate.
|
inline |
Return if panning anchor point has been defined.
|
inline |
Return TRUE if previous position of MoveTo has been defined.
|
inline |
Return TRUE if touches map is not empty.
|
inline |
Return input buffer.
|
inline |
Return TRUE if continuous redrawing is enabled; FALSE by default. This option would request a next viewer frame to be completely redrawn right after current frame is finished.
|
overridevirtual |
Press key. Default implementation updates internal cache.
theKey | key pressed |
theTime | event timestamp |
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
|
overridevirtual |
Simulate key up/down events from axis value. Default implementation updates internal cache.
Implements Aspect_WindowInputListener.
|
inline |
Return keyboard state.
|
overridevirtual |
Release key. Default implementation updates internal cache.
theKey | key pressed |
theTime | event timestamp |
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
|
inline |
Return active key modifiers passed with last mouse event.
|
inline |
Return last mouse position.
|
inline |
Return minimal camera distance for zoom operation.
|
inline |
Return mouse input acceleration ratio in First Person mode; 1.0 by default.
|
inline |
Return double click interval in seconds; 0.4 by default.
|
inline |
Return map defining mouse gestures.
|
inline |
Return map defining mouse selection schemes.
|
inline |
Return camera navigation mode; AIS_NavigationMode_Orbit by default.
|
inline |
Return objects animation; empty (but not NULL) animation by default.
|
virtual |
Callback called by handleMoveTo() on dragging object in 3D Viewer. This method is expected to be called from rendering thread.
|
virtual |
Callback called by handleMoveTo() on Selection in 3D Viewer. This method is expected to be called from rendering thread.
|
virtual |
Callback called by HandleViewEvents() on Selection of another (sub)view. This method is expected to be called from rendering thread.
Reimplemented in ViewerTest_EventManager.
|
inline |
Return orbit rotation acceleration ratio; 1.0 by default.
Return active panning anchor point.
|
virtual |
Pick closest point by axis. This method is expected to be called from rendering thread.
theTopPnt | [out] result point |
theCtx | [in] interactive context |
theView | [in] active view |
theAxis | [in] selection axis |
|
virtual |
Pick closest point under mouse cursor. This method is expected to be called from rendering thread.
thePnt | [out] result point |
theCtx | [in] interactive context |
theView | [in] active view |
theCursor | [in] mouse cursor |
theToStickToPickRay | [in] when TRUE, the result point will lie on picking ray |
|
inline |
Return currently pressed mouse buttons.
|
inline |
Handle mouse button press event. This method is expected to be called from UI thread. Default implementation redirects to UpdateMousePosition().
thePoint | mouse cursor position |
theButton | pressed button |
theModifiers | key modifiers |
theIsEmulated | if TRUE then mouse event comes NOT from real mouse but emulated from non-precise input like touch on screen |
|
inline |
Return previous position of MoveTo event in 3D viewer.
|
inlineoverridevirtual |
Handle window close event. Default implementation does nothing.
Implements Aspect_WindowInputListener.
Handle window resize event. Default implementation does nothing.
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
|
inlineoverridevirtual |
Handle expose event (window content has been invalidation and should be redrawn). Default implementation does nothing.
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
Handle focus event. Default implementation resets cached input state (pressed keys).
Implements Aspect_WindowInputListener.
|
inlineoverridevirtual |
Handle window input event immediately. Default implementation does nothing - input events are accumulated in internal buffer until explicit FlushViewEvents() call.
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
|
inline |
Handle mouse button release event. This method is expected to be called from UI thread. Default implementation redirects to UpdateMousePosition().
thePoint | mouse cursor position |
theButton | released button |
theModifiers | key modifiers |
theIsEmulated | if TRUE then mouse event comes NOT from real mouse but emulated from non-precise input like touch on screen |
|
overridevirtual |
Remove touch point with the given ID. This method is expected to be called from UI thread.
theId | touch unique identifier |
theClearSelectPnts | if TRUE will initiate clearing of selection points |
Reimplemented from Aspect_WindowInputListener.
|
inline |
Reset previous position of MoveTo.
|
virtual |
Reset input state (pressed keys, mouse buttons, etc.) e.g. on window focus loss. This method is expected to be called from UI thread.
|
inline |
Return camera rotation mode, AIS_RotationMode_BndBoxActive by default.
|
virtual |
Perform selection in 3D viewer. This method is expected to be called from UI thread.
thePnt | picking point |
theScheme | selection scheme |
|
virtual |
Perform selection in 3D viewer. This method is expected to be called from UI thread.
thePnts | picking point |
theScheme | selection scheme |
|
inline |
Set if dynamic highlight on mouse move is allowed.
|
inline |
Set if dragging object is allowed.
|
inline |
Set if panning is allowed.
|
inline |
Set if camera rotation is allowed.
|
inline |
Set if z-rotation via two-touches gesture is enabled.
|
inline |
Set if ZFocus change is allowed.
|
inline |
Set if zooming is allowed.
Set if another frame should be drawn right after this one.
|
inline |
Enable or disable continuous updates.
|
inline |
Set if auxiliary tracked XR devices should be displayed.
|
inline |
Set if tracked XR hand controllers should be displayed.
|
inline |
Set flag inverting pitch direction.
|
inline |
Set if camera up orientation within AIS_NavigationMode_Orbit rotation mode should be forced Z up.
|
inline |
Set minimal camera distance for zoom operation.
|
inline |
Set mouse input acceleration ratio.
|
inline |
Set double click interval in seconds.
void AIS_ViewController::SetNavigationMode | ( | AIS_NavigationMode | theMode | ) |
Set camera navigation mode.
|
inline |
Set object animation to be handled within handleViewRedraw().
|
inline |
Set orbit rotation acceleration ratio.
Set active panning anchor point.
|
inline |
Set if object animation should be paused on mouse click.
|
inline |
Set camera rotation mode.
|
inline |
Set if panning anchor point within perspective projection should be displayed in 3D Viewer.
|
inline |
Set if rotation point should be displayed in 3D Viewer.
|
inline |
Set if picked point should be projected to picking ray on rotating around point.
|
inline |
Set if picked point should be projected to picking ray on zooming at point.
|
inline |
Set active thrust value.
|
inline |
Set scale factor for adjusting tolerances for starting multi-touch gestures.
|
inline |
Set view animation to be handled within handleViewRedraw().
|
inline |
Set normal walking speed, in m/s; 1.5 by default.
|
inline |
Set walking speed relative to scene bounding box.
|
inline |
Return TRUE if dragging object is allowed; TRUE by default.
|
inline |
Return TRUE if dynamic highlight on mouse move is allowed; TRUE by default.
|
inline |
Return TRUE if panning is allowed; TRUE by default.
|
inline |
Return TRUE if camera rotation is allowed; TRUE by default.
|
inline |
Return TRUE if z-rotation via two-touches gesture is enabled; FALSE by default.
|
inline |
Return TRUE if ZFocus change is allowed; TRUE by default.
|
inline |
Return TRUE if zooming is allowed; TRUE by default.
|
inline |
Return TRUE if another frame should be drawn right after this one.
|
inline |
Return TRUE to display auxiliary tracked XR devices (like tracking stations).
|
inline |
Return TRUE to display XR hand controllers.
|
inline |
Return TRUE if pitch direction should be inverted while processing Aspect_VKey_NavLookUp/Aspect_VKey_NavLookDown; FALSE by default.
|
inline |
Return TRUE if camera up orientation within AIS_NavigationMode_Orbit rotation mode should be forced Z up; FALSE by default.
|
inline |
Return TRUE if object animation should be paused on mouse click; FALSE by default.
|
inline |
Return TRUE if panning anchor point within perspective projection should be displayed in 3D Viewer; TRUE by default.
|
inline |
Return TRUE if rotation point should be displayed in 3D Viewer; TRUE by default.
|
inline |
Return TRUE if picked point should be projected to picking ray on rotating around point; TRUE by default.
|
inline |
Return TRUE if picked point should be projected to picking ray on zooming at point; TRUE by default.
|
inline |
Return scale factor for adjusting tolerances for starting multi-touch gestures; 1.0 by default This scale factor is expected to be computed from touch screen resolution.
|
overridevirtual |
Process 3d mouse input event (redirects to translation, rotation and keys).
Implements Aspect_WindowInputListener.
|
inlineprotected |
Return current and previously fetched event times. This callback is intended to compute delta between sequentially processed events.
thePrevTime | [out] events time fetched previous time by this method |
theCurrTime | [out] actual events time |
|
overridevirtual |
Handle mouse button press/release event. This method is expected to be called from UI thread.
thePoint | mouse cursor position |
theButtons | pressed buttons |
theModifiers | key modifiers |
theIsEmulated | if TRUE then mouse event comes NOT from real mouse but emulated from non-precise input like touch on screen |
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
|
virtual |
Handle mouse button click event (emulated by UpdateMouseButtons() while releasing single button). Note that as this method is called by UpdateMouseButtons(), it should be executed from UI thread. Default implementation redirects to SelectInViewer(). This method is expected to be called from UI thread.
thePoint | mouse cursor position |
theButton | clicked button |
theModifiers | key modifiers |
theIsDoubleClick | flag indicating double mouse click |
Reimplemented in ViewerTest_EventManager.
|
overridevirtual |
Handle mouse cursor movement event. This method is expected to be called from UI thread.
thePoint | mouse cursor position |
theButtons | pressed buttons |
theModifiers | key modifiers |
theIsEmulated | if TRUE then mouse event comes NOT from real mouse but emulated from non-precise input like touch on screen |
Implements Aspect_WindowInputListener.
|
overridevirtual |
Update mouse scroll event; redirects to UpdateZoom by default. This method is expected to be called from UI thread.
theDelta | mouse cursor position and delta |
Implements Aspect_WindowInputListener.
Reimplemented in ViewerTest_EventManager.
|
virtual |
Update polygonal selection tool. This method is expected to be called from UI thread.
thePnt | new point to add to polygon |
theToAppend | append new point or update the last point |
|
virtual |
Update rectangle selection tool. This method is expected to be called from UI thread.
thePntFrom | rectangle first corner |
thePntTo | rectangle another corner |
|
overridevirtual |
Update touch point with the given ID. If point with specified ID was not registered before, it will be added. This method is expected to be called from UI thread.
theId | touch unique identifier |
thePnt | touch coordinates |
Reimplemented from Aspect_WindowInputListener.
|
virtual |
Reset view orientation. This method is expected to be called from UI thread.
|
virtual |
Update zoom event (e.g. from mouse scroll). This method is expected to be called from UI thread.
theDelta | mouse cursor position to zoom at and zoom delta |
Update Z rotation event.
theAngle | rotation angle, in radians. |
|
inline |
Return view animation; empty (but not NULL) animation by default.
|
inline |
Return normal walking speed, in m/s; 1.5 by default.
|
inline |
Return walking speed relative to scene bounding box; 0.1 by default.
anchor point presentation (Graphic3d_ZLayerId_Top)
anchor point presentation (Graphic3d_ZLayerId_Topmost)
|
protected |
camera Center position at the beginning of rotation
|
protected |
camera View direction at the beginning of rotation
|
protected |
camera Eye position at the beginning of rotation
|
protected |
vector from rotation gravity point to camera Center at the beginning of rotation
|
protected |
vector from rotation gravity point to camera Eye at the beginning of rotation
|
protected |
camera Up direction at the beginning of rotation
|
protected |
currently dragged object
|
protected |
detected owner of currently dragged object
|
protected |
buffer for rendering thread
|
protected |
flag for restoring Computed mode after rotation
|
protected |
flag indicating active thrust
|
protected |
continuous redrawing (without immediate rendering optimization)
|
protected |
last fetched events timer value for computing delta/progress
|
protected |
minimal camera distance for zoom operation
|
protected |
mouse input acceleration ratio in First Person mode
|
protected |
initiated mouse gesture (by pressing mouse button)
|
protected |
flag indicating view idle rotation state
|
protected |
counter for handling double-click event
|
protected |
mouse click threshold in pixels; 3 by default
|
protected |
timer for handling double-click event
|
protected |
double click interval in seconds; 0.4 by default
|
protected |
map defining mouse gestures
|
protected |
secondary map defining mouse gestures for dragging
|
protected |
mouse position where active gesture was been initiated
|
protected |
gesture progress
|
protected |
map defining selection schemes bound to mouse + modifiers
|
protected |
index of mouse button pressed alone (>0)
|
protected |
queue stop dragging even with at next mouse unclick
|
protected |
navigation mode (orbit rotation / first person)
|
protected |
number of touches within previous gesture flush to track gesture changes
|
protected |
objects animation
|
protected |
Orbit rotation acceleration ratio.
|
protected |
active panning anchor point
|
protected |
previous position of MoveTo event in 3D viewer
|
protected |
active rotation center of gravity
|
protected |
camera yaw pitch roll at the beginning of rotation
|
protected |
rotation mode
|
protected |
Rubber-band presentation.
|
protected |
distance ratio for mapping mouse scroll event to zoom; 15.0 by default
|
protected |
touch coordinates at the moment of starting panning gesture
|
protected |
touch coordinates at the moment of starting rotating gesture
|
protected |
active thrust value
|
protected |
enable dragging object; TRUE by default
|
protected |
enable dynamic highlight on mouse move; TRUE by default
|
protected |
enable panning; TRUE by default
|
protected |
enable rotation; TRUE by default
|
protected |
enable z-rotation two-touches gesture; FALSE by default
|
protected |
enable ZFocus change; TRUE by default
|
protected |
enable zooming; TRUE by default
|
protected |
flag indicating that another frame should be drawn right after this one
|
protected |
flag to display auxiliary tracked XR devices
|
protected |
flag to display XR hands
|
protected |
flag inverting pitch direction while processing Aspect_VKey_NavLookUp/Aspect_VKey_NavLookDown
|
protected |
force camera up orientation within AIS_NavigationMode_Orbit rotation mode
|
protected |
flag to pause objects animation on mouse click; FALSE by default
|
protected |
option displaying panning anchor point
|
protected |
option displaying rotation center point
|
protected |
project picked point to ray while rotating around point; TRUE by default
|
protected |
project picked point to ray while zooming at point, TRUE by default
|
protected |
single touch position for handling clicks
|
protected |
touch click threshold in pixels; 3 by default
|
protected |
timer for handling double tap
|
protected |
distance for starting one-touch dragging gesture in pixels; 6 by default
|
protected |
threshold for starting two-touch panning gesture in pixels; 4 by default
|
protected |
threshold for starting one-touch rotation gesture in pixels; 6 by default
|
protected |
tolerance scale factor; 1.0 by default
|
protected |
distance ratio for mapping two-touch zoom (pitch) gesture from pixels to zoom; 0.13 by default
|
protected |
threshold for starting two-touch zoom (pitch) gesture in pixels; 6 by default
|
protected |
threshold for starting two-touch Z-rotation gesture in radians; 2 degrees by default
|
protected |
buffer for UI thread
|
protected |
flag indicating that new anchor point should be picked for starting panning gesture
|
protected |
flag indicating that new gravity point should be picked for starting rotation gesture
|
protected |
flag indicating that new gravity point should be picked for starting Z-rotation gesture
|
protected |
view animation
|
protected |
normal walking speed, in m/s; 1.5 by default
|
protected |
walking speed relative to scene bounding box; 0.1 by default
|
protected |
color of picking laser
|
protected |
color of teleport laser
|
protected |
last picking depth for left hand
|
protected |
last picking depth for right hand
|
protected |
active hand for picking objects
|
protected |
active hand for teleport
|
protected |
vibration on dynamic highlighting
|
protected |
array of XR tracked devices presentations
|
protected |
vibration on selection
|
protected |
vibration on picking teleport destination
|
protected |
discrete turn angle for XR trackpad