Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
foray::scene::ncomp::FreeCameraController Class Reference

A simple camera controller for free flight. More...

#include <foray_freecameracontroller.hpp>

Inheritance diagram for foray::scene::ncomp::FreeCameraController:
foray::scene::NodeComponent foray::scene::Component::UpdateCallback foray::scene::Component::OnEventCallback foray::scene::Component foray::Polymorphic foray::Polymorphic foray::NoMoveDefaults foray::Polymorphic

Classes

struct  InputStates
 

Public Member Functions

virtual void OnEvent (const osi::Event *event) override
 
virtual void Update (SceneUpdateInfo &) override
 
virtual int32_t GetOrder () const override
 
- Public Member Functions inherited from foray::scene::NodeComponent
NodeGetNode ()
 Node this component is attached to. Casts mRegistry to Node.
 
virtual SceneGetScene () override
 Scene this component is a part of. Casts mRegistry->mCallbackDispatcher to Scene.
 
virtual RegistryGetGlobals () override
 Global component registry. Casts mRegistry->mCallbackDispatcher to Scene and returns Scene->GetGlobals()
 
virtual core::ContextGetContext () override
 Vulkan Context. Casts mRegistry->mCallbackDispatcher to Scene and returns Scene->GetContext()
 
- Public Member Functions inherited from foray::scene::Component
virtual ~Component ()
 Destructor. Provide virtual constructors in inheriting classes, to make sure they get finalized correctly.
 
- Public Member Functions inherited from foray::NoMoveDefaults
 NoMoveDefaults ()=default
 
 NoMoveDefaults (const NoMoveDefaults &other)=delete
 
 NoMoveDefaults (NoMoveDefaults &&other)=default
 
NoMoveDefaultsoperator= (const NoMoveDefaults &other)=delete
 
- Public Member Functions inherited from foray::scene::Component::UpdateCallback
virtual void Update (TArg updateInfo)=0
 Invoked first each frame. Use for changes to the node hierarchy and transforms.
 
void Invoke (TArg updateInfo)
 
- Public Member Functions inherited from foray::scene::Component::OnEventCallback
virtual void OnEvent (TArg event)=0
 Invoked with every event received by the application.
 
void Invoke (TArg event)
 

Protected Member Functions

virtual void ProcessMouseMovedEvent (const osi::EventInputMouseMoved *event)
 
- Protected Member Functions inherited from foray::Polymorphic
virtual void __makeMePolymorphic ()
 

Protected Attributes

struct foray::scene::ncomp::FreeCameraController::InputStates mInputStates = {}
 
int mSpeedExponent = 0
 
float mPitch = 0
 
float mYaw = 0
 
bool mUseMouse = false
 
bool mInvertYAxis = false
 
bool mInvertAll = false
 
std::unordered_map< osi::EButton, bool & > mMapping
 
- Protected Attributes inherited from foray::scene::Component
RegistrymRegistry = nullptr
 
std::string mName = ""
 

Static Protected Attributes

static constexpr float KEYBOARD_ROTATION_SENSIBILITY = 9000.f
 
static constexpr float MOUSE_ROTATION_SENSIBILITY = .05f
 

Additional Inherited Members

- Public Types inherited from foray::scene::Component::UpdateCallback
using TArg = SceneUpdateInfo &
 
- Public Types inherited from foray::scene::Component::OnEventCallback
using TArg = const osi::Event *
 
- Public Attributes inherited from foray::scene::Component
friend Registry
 
- Static Public Attributes inherited from foray::scene::Component::UpdateCallback
static const bool ORDERED_EXECUTION = true
 
static const int32_t ORDER_TRANSFORM = 100
 
static const int32_t ORDER_DEVICEUPLOAD = 200
 
- Static Public Attributes inherited from foray::scene::Component::OnEventCallback
static const bool ORDERED_EXECUTION = false
 

Detailed Description

A simple camera controller for free flight.

Controls:

Member Function Documentation

◆ GetOrder()

virtual int32_t foray::scene::ncomp::FreeCameraController::GetOrder ( ) const
inlineoverridevirtual

◆ OnEvent()

virtual void foray::scene::ncomp::FreeCameraController::OnEvent ( const osi::Event event)
overridevirtual

◆ ProcessMouseMovedEvent()

virtual void foray::scene::ncomp::FreeCameraController::ProcessMouseMovedEvent ( const osi::EventInputMouseMoved event)
protectedvirtual

◆ Update()

virtual void foray::scene::ncomp::FreeCameraController::Update ( SceneUpdateInfo )
overridevirtual

Member Data Documentation

◆ KEYBOARD_ROTATION_SENSIBILITY

constexpr float foray::scene::ncomp::FreeCameraController::KEYBOARD_ROTATION_SENSIBILITY = 9000.f
inlinestaticconstexprprotected

◆ mInputStates

struct foray::scene::ncomp::FreeCameraController::InputStates foray::scene::ncomp::FreeCameraController::mInputStates = {}
protected

◆ mInvertAll

bool foray::scene::ncomp::FreeCameraController::mInvertAll = false
protected

◆ mInvertYAxis

bool foray::scene::ncomp::FreeCameraController::mInvertYAxis = false
protected

◆ mMapping

std::unordered_map<osi::EButton, bool&> foray::scene::ncomp::FreeCameraController::mMapping
protected
Initial value:
struct foray::scene::ncomp::FreeCameraController::InputStates mInputStates
bool Forward
Definition foray_freecameracontroller.hpp:34
bool YawLeft
Definition foray_freecameracontroller.hpp:43
bool Backward
Definition foray_freecameracontroller.hpp:35
bool PitchDown
Definition foray_freecameracontroller.hpp:41
bool StrafeRight
Definition foray_freecameracontroller.hpp:39
bool StrafeUp
Definition foray_freecameracontroller.hpp:36
bool StrafeLeft
Definition foray_freecameracontroller.hpp:38
bool StrafeDown
Definition foray_freecameracontroller.hpp:37
bool YawRight
Definition foray_freecameracontroller.hpp:42
bool PitchUp
Definition foray_freecameracontroller.hpp:40

◆ MOUSE_ROTATION_SENSIBILITY

constexpr float foray::scene::ncomp::FreeCameraController::MOUSE_ROTATION_SENSIBILITY = .05f
inlinestaticconstexprprotected

◆ mPitch

float foray::scene::ncomp::FreeCameraController::mPitch = 0
protected

◆ mSpeedExponent

int foray::scene::ncomp::FreeCameraController::mSpeedExponent = 0
protected

◆ mUseMouse

bool foray::scene::ncomp::FreeCameraController::mUseMouse = false
protected

◆ mYaw

float foray::scene::ncomp::FreeCameraController::mYaw = 0
protected

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