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

Manages the Camera matrix buffer and maintains a list of cameras in the scene. More...

#include <foray_cameramanager.hpp>

Inheritance diagram for foray::scene::gcomp::CameraManager:
foray::scene::GlobalComponent foray::scene::Component::UpdateCallback foray::scene::Component foray::Polymorphic foray::NoMoveDefaults foray::Polymorphic

Public Member Functions

VkDescriptorBufferInfo GetVkDescriptorInfo () const
 
 CameraManager (core::Context *context)
 
virtual void RefreshCameraList ()
 
virtual void SelectCamera (ncomp::Camera *camera)
 
virtual ~CameraManager ()
 
virtual void Update (SceneUpdateInfo &updateInfo) override
 
virtual int32_t GetOrder () const override
 
void GetCameras (std::vector< ncomp::Camera * > &cameras)
 
- Public Member Functions inherited from foray::scene::GlobalComponent
virtual SceneGetScene () override
 Scene this component is a part of. Casts mRegistry to Scene.
 
virtual RegistryGetGlobals () override
 Global component registry. Returns mRegistry.
 
virtual core::ContextGetContext () override
 Vulkan Context. Casts mRegistry 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)
 

Protected Member Functions

void UpdateUboDescriptorBufferInfos ()
 
- Protected Member Functions inherited from foray::Polymorphic
virtual void __makeMePolymorphic ()
 

Protected Attributes

util::ManagedUbo< CameraUboBlockmUbo
 
std::unordered_set< ncomp::Camera * > mCameras
 
ncomp::CameramSelectedCamera = nullptr
 
- Protected Attributes inherited from foray::scene::Component
RegistrymRegistry = nullptr
 
std::string mName = ""
 

Additional Inherited Members

- Public Types inherited from foray::scene::Component::UpdateCallback
using TArg = SceneUpdateInfo &
 
- 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
 

Detailed Description

Manages the Camera matrix buffer and maintains a list of cameras in the scene.

Constructor & Destructor Documentation

◆ CameraManager()

foray::scene::gcomp::CameraManager::CameraManager ( core::Context context)

◆ ~CameraManager()

virtual foray::scene::gcomp::CameraManager::~CameraManager ( )
virtual

Member Function Documentation

◆ GetCameras()

void foray::scene::gcomp::CameraManager::GetCameras ( std::vector< ncomp::Camera * > &  cameras)

◆ GetOrder()

virtual int32_t foray::scene::gcomp::CameraManager::GetOrder ( ) const
inlineoverridevirtual

◆ GetVkDescriptorInfo()

VkDescriptorBufferInfo foray::scene::gcomp::CameraManager::GetVkDescriptorInfo ( ) const
inline

◆ RefreshCameraList()

virtual void foray::scene::gcomp::CameraManager::RefreshCameraList ( )
virtual

◆ SelectCamera()

virtual void foray::scene::gcomp::CameraManager::SelectCamera ( ncomp::Camera camera)
virtual

◆ Update()

virtual void foray::scene::gcomp::CameraManager::Update ( SceneUpdateInfo updateInfo)
overridevirtual

◆ UpdateUboDescriptorBufferInfos()

void foray::scene::gcomp::CameraManager::UpdateUboDescriptorBufferInfos ( )
protected

Member Data Documentation

◆ mCameras

std::unordered_set<ncomp::Camera*> foray::scene::gcomp::CameraManager::mCameras
protected

◆ mSelectedCamera

ncomp::Camera* foray::scene::gcomp::CameraManager::mSelectedCamera = nullptr
protected

◆ mUbo

util::ManagedUbo<CameraUboBlock> foray::scene::gcomp::CameraManager::mUbo
protected

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