Workspace 6.21.5
Public Types | Public Member Functions | List of all members
CameraInteractionsFactory Class Reference

Factory class for creating QueuedInteractions for the various camera interaction scenarios.

#include <Rendering/SceneComponents/Interaction/camerainteractionsfactory.h>

Public Types

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
}
 

Public Member Functions

 CameraInteractionsFactory ()=default
 
virtual ~CameraInteractionsFactory ()=default
 
virtual QueuedInteractioncreateKeyMoveInteraction (InteractionTypes types, double viewSize, double speed=0.001)
 
virtual QueuedInteractioncreateMouseMoveInteraction (InteractionType type, const Mesh::Vector3d &center, int oldX, int oldY, int newX, int newY, int viewWidth, int viewHeight)
 
virtual QueuedInteractioncreateMouseWheelInteraction (InteractionType type, const Mesh::Vector3d &center, double viewSize, int delta)
 
QueuedInteractioncreateResetClipAndFovInteraction (double near, double far, double fov, double orthoViewVolume) const
 
QueuedInteractioncreateTransformInteraction (const Mesh::TransformMatrix &matrix, bool combineWithExistingMatrix=true) const
 

Member Enumeration Documentation

◆ InteractionType

Enumerator
InteractionMouseOrbit 
InteractionMouseLook 
InteractionMousePan 
InteractionMouseRoll 
InteractionMouseDolly 
InteractionWheelZoom 
InteractionWheelDolly 
InteractionWheelNearClip 
InteractionWheelFarClip 
InteractionPick 
InteractionPickAccumulate 
InteractionKeyboardForward 
InteractionKeyboardBackward 
InteractionKeyboardLeft 
InteractionKeyboardRight 
InteractionKeyboardUp 
InteractionKeyboardDown 
InteractionKeyboardMovement 
InteractionAllMouseMove 
InteractionAllWheel 
InteractionAllKeyboard 

Constructor & Destructor Documentation

◆ CameraInteractionsFactory()

◆ ~CameraInteractionsFactory()

virtual ~CameraInteractionsFactory ( )
virtualdefault

Member Function Documentation

◆ createKeyMoveInteraction()

QueuedInteraction * createKeyMoveInteraction ( InteractionTypes  types,
double  viewSize,
double  speed = 0.001 
)
virtual
Parameters
types
viewSize
speed
Returns
An interaction object that can be placed onto an interaction queue.

◆ createMouseMoveInteraction()

QueuedInteraction * createMouseMoveInteraction ( InteractionType  type,
const Mesh::Vector3d center,
int  oldX,
int  oldY,
int  newX,
int  newY,
int  viewWidth,
int  viewHeight 
)
virtual
Parameters
typeType of movement interaction taking place
centerOrbit center
oldXPrevious mouse-x value
oldYPrevious mouse-y value
newXNew mouse-x value
newYNew mouse-y value
viewWidthWidth of the view
viewHeightHeight of the view
Returns
An interaction object that can be placed onto an interaction queue.

◆ createMouseWheelInteraction()

QueuedInteraction * createMouseWheelInteraction ( InteractionType  type,
const Mesh::Vector3d center,
double  viewSize,
int  delta 
)
virtual
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()

QueuedInteraction * createTransformInteraction ( const Mesh::TransformMatrix matrix,
bool  combineWithExistingMatrix = true 
) const