Factory class for creating QueuedInteractions for the various camera interaction scenarios.
#include <Rendering/SceneComponents/Interaction/camerainteractionsfactory.h>
|
enum | InteractionType {
InteractionMouseOrbit = 0x000001
, InteractionMouseLook = 0x000002
, InteractionMousePan = 0x000004
, InteractionMouseRoll = 0x000008
,
InteractionMouseDolly = 0x000010
, InteractionWheelZoom = 0x000020
, InteractionWheelDolly = 0x000040
, InteractionWheelNearClip = 0x000080
,
InteractionWheelFarClip = 0x000100
, InteractionPick = 0x000200
, InteractionPickAccumulate = 0x000400
, InteractionKeyboardForward = 0x001000
,
InteractionKeyboardBackward = 0x002000
, InteractionKeyboardLeft = 0x004000
, InteractionKeyboardRight = 0x008000
, InteractionKeyboardUp = 0x010000
,
InteractionKeyboardDown = 0x020000
, InteractionKeyboardMovement = InteractionKeyboardForward | InteractionKeyboardBackward | InteractionKeyboardLeft | InteractionKeyboardRight | InteractionKeyboardUp | InteractionKeyboardDown
, InteractionAllMouseMove = InteractionMouseOrbit | InteractionMouseLook | InteractionMousePan | InteractionMouseRoll | InteractionMouseDolly
, InteractionAllWheel = InteractionWheelZoom | InteractionWheelDolly | InteractionWheelNearClip | InteractionWheelFarClip
,
InteractionAllKeyboard = InteractionKeyboardForward | InteractionKeyboardBackward | InteractionKeyboardLeft | InteractionKeyboardRight | InteractionKeyboardUp | InteractionKeyboardDown
} |
|
|
| CameraInteractionsFactory ()=default |
|
virtual | ~CameraInteractionsFactory ()=default |
|
virtual QueuedInteraction * | createKeyMoveInteraction (InteractionTypes types, double viewSize, double speed=0.001) |
|
virtual QueuedInteraction * | createMouseMoveInteraction (InteractionType type, const Mesh::Vector3d ¢er, int oldX, int oldY, int newX, int newY, int viewWidth, int viewHeight) |
|
virtual QueuedInteraction * | createMouseWheelInteraction (InteractionType type, const Mesh::Vector3d ¢er, double viewSize, int delta) |
|
QueuedInteraction * | createResetClipAndFovInteraction (double near, double far, double fov, double orthoViewVolume) const |
|
QueuedInteraction * | createTransformInteraction (const Mesh::TransformMatrix &matrix, bool combineWithExistingMatrix=true) const |
|
◆ InteractionType
Enumerator |
---|
InteractionMouseOrbit | |
InteractionMouseLook | |
InteractionMousePan | |
InteractionMouseRoll | |
InteractionMouseDolly | |
InteractionWheelZoom | |
InteractionWheelDolly | |
InteractionWheelNearClip | |
InteractionWheelFarClip | |
InteractionPick | |
InteractionPickAccumulate | |
InteractionKeyboardForward | |
InteractionKeyboardBackward | |
InteractionKeyboardLeft | |
InteractionKeyboardRight | |
InteractionKeyboardUp | |
InteractionKeyboardDown | |
InteractionKeyboardMovement | |
InteractionAllMouseMove | |
InteractionAllWheel | |
InteractionAllKeyboard | |
◆ CameraInteractionsFactory()
◆ ~CameraInteractionsFactory()
◆ createKeyMoveInteraction()
QueuedInteraction * createKeyMoveInteraction |
( |
InteractionTypes |
types, |
|
|
double |
viewSize, |
|
|
double |
speed = 0.001 |
|
) |
| |
|
virtual |
- Parameters
-
- Returns
- An interaction object that can be placed onto an interaction queue.
◆ createMouseMoveInteraction()
- Parameters
-
type | Type of movement interaction taking place |
center | Orbit center |
oldX | Previous mouse-x value |
oldY | Previous mouse-y value |
newX | New mouse-x value |
newY | New mouse-y value |
viewWidth | Width of the view |
viewHeight | Height of the view |
- Returns
- An interaction object that can be placed onto an interaction queue.
◆ createMouseWheelInteraction()
- Parameters
-
type | |
center | |
viewSize | |
delta | |
- Returns
- An interaction object that can be placed onto an interaction queue.
◆ createResetClipAndFovInteraction()
QueuedInteraction * createResetClipAndFovInteraction |
( |
double |
near, |
|
|
double |
far, |
|
|
double |
fov, |
|
|
double |
orthoViewVolume |
|
) |
| const |
◆ createTransformInteraction()