Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::OrbitCameraInput Class Reference

#include <CameraInput.h>

Inherits AzFramework::CameraInput.

Public Types

using PivotFn = AZStd::function< AZ::Vector3(const AZ::Vector3 &position, const AZ::Vector3 &direction)>
 
- Public Types inherited from AzFramework::CameraInput
enum class  Activation { Idle , Beginning , Active , Ending }
 
using ActivateChangeFn = AZStd::function< void()>
 

Public Member Functions

 OrbitCameraInput (const InputChannelId &orbitChannelId)
 
bool HandleEvents (const InputState &state, const ScreenVector &cursorDelta, float scrollDelta) override
 Respond to input events to transition a camera input to active, handle input while running, and restore to idle when input ends.
 
Camera StepCamera (const Camera &targetCamera, const ScreenVector &cursorDelta, float scrollDelta, float deltaTime) override
 
bool Exclusive () const override
 
void SetOrbitInputChannelId (const InputChannelId &orbitChanneId)
 
void SetPivotFn (PivotFn pivotFn)
 Override the default behavior for how a pivot point is calculated.
 
- Public Member Functions inherited from AzFramework::CameraInput
bool Beginning () const
 
bool Ending () const
 
bool Idle () const
 
bool Active () const
 
void BeginActivation ()
 
void EndActivation ()
 
void CancelActivation ()
 
void ContinueActivation ()
 
void ClearActivation ()
 
void Reset ()
 
virtual bool HandleEvents (const InputState &state, const ScreenVector &cursorDelta, float scrollDelta)=0
 Respond to input events to transition a camera input to active, handle input while running, and restore to idle when input ends.
 
virtual Camera StepCamera (const Camera &targetCamera, const ScreenVector &cursorDelta, float scrollDelta, float deltaTime)=0
 
virtual bool Exclusive () const
 
void SetActivationBeganFn (ActivateChangeFn activationBeganFn)
 
void SetActivationEndedFn (ActivateChangeFn activationEndedFn)
 

Public Attributes

Cameras m_orbitCameras
 The camera inputs to run when this camera input is active (only these will run as it is exclusive).
 

Additional Inherited Members

virtual void ResetImpl ()
 Handle any state reset that may be required for the camera input (optional).
 

Detailed Description

A camera input that doubles as its own set of camera inputs. It is 'exclusive', so does not overlap with other sibling camera inputs - it runs its own set of camera inputs as 'children'.

Member Function Documentation

◆ Exclusive()

bool AzFramework::OrbitCameraInput::Exclusive ( ) const
inlineoverridevirtual

It is usually possible for one to many camera inputs to be running at the same time (the default), it is however possible to to make a camera input 'exclusive', so only it can run at a time. This implies that all other behaviors must have stopped before it can begin, and no other camera input can run while it is active.

Reimplemented from AzFramework::CameraInput.

◆ HandleEvents()

bool AzFramework::OrbitCameraInput::HandleEvents ( const InputState state,
const ScreenVector cursorDelta,
float  scrollDelta 
)
overridevirtual

Respond to input events to transition a camera input to active, handle input while running, and restore to idle when input ends.

Implements AzFramework::CameraInput.

◆ StepCamera()

Camera AzFramework::OrbitCameraInput::StepCamera ( const Camera targetCamera,
const ScreenVector cursorDelta,
float  scrollDelta,
float  deltaTime 
)
overridevirtual

Use processed input events to update the state of the camera.

Note
targetCamera is the current target camera at the beginning of an update. The returned camera is the targetCamera + some delta to get to the next camera position and/or orientation.

Implements AzFramework::CameraInput.


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