Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
|
A simple camera controller for free flight. More...
#include <foray_freecameracontroller.hpp>
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 |
![]() | |
Node * | GetNode () |
Node this component is attached to. Casts mRegistry to Node. | |
virtual Scene * | GetScene () override |
Scene this component is a part of. Casts mRegistry->mCallbackDispatcher to Scene. | |
virtual Registry * | GetGlobals () override |
Global component registry. Casts mRegistry->mCallbackDispatcher to Scene and returns Scene->GetGlobals() | |
virtual core::Context * | GetContext () override |
Vulkan Context. Casts mRegistry->mCallbackDispatcher to Scene and returns Scene->GetContext() | |
![]() | |
virtual | ~Component () |
Destructor. Provide virtual constructors in inheriting classes, to make sure they get finalized correctly. | |
![]() | |
NoMoveDefaults ()=default | |
NoMoveDefaults (const NoMoveDefaults &other)=delete | |
NoMoveDefaults (NoMoveDefaults &&other)=default | |
NoMoveDefaults & | operator= (const NoMoveDefaults &other)=delete |
![]() | |
virtual void | Update (TArg updateInfo)=0 |
Invoked first each frame. Use for changes to the node hierarchy and transforms. | |
void | Invoke (TArg updateInfo) |
![]() | |
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) |
![]() | |
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 |
![]() | |
Registry * | mRegistry = 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 | |
![]() | |
using | TArg = SceneUpdateInfo & |
![]() | |
using | TArg = const osi::Event * |
![]() | |
friend | Registry |
![]() | |
static const bool | ORDERED_EXECUTION = true |
static const int32_t | ORDER_TRANSFORM = 100 |
static const int32_t | ORDER_DEVICEUPLOAD = 200 |
![]() | |
static const bool | ORDERED_EXECUTION = false |
A simple camera controller for free flight.
Controls:
|
inlineoverridevirtual |
Reimplemented from foray::scene::Component::UpdateCallback.
|
overridevirtual |
|
protectedvirtual |
|
overridevirtual |
|
inlinestaticconstexprprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
inlinestaticconstexprprotected |
|
protected |
|
protected |
|
protected |
|
protected |