Nebula
Loading...
Searching...
No Matches
cameramanager.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
11//------------------------------------------------------------------------------
12#include "core/refcounted.h"
13#include "core/singleton.h"
14#include "game/manager.h"
17#include "math/vec3.h"
18#include "graphicsfeature/components/graphicsfeature.h"
19
20namespace Graphics
21{
22 class View;
23}
24
25namespace GraphicsFeature
26{
27
29
65
66//------------------------------------------------------------------------------
69inline bool
71{
72 n_assert(CameraManager::HasInstance());
73 return CameraManager::Singleton->viewHandlePool.IsValid(handle);
74}
75
76} // namespace GraphicsFeature
Managers are objects which care about some specific functionality of a feature.
Definition manager.h:32
A view describes a camera which can observe a Stage.
Definition view.h:23
Handles camera related properties.
Definition cameramanager.h:31
static ViewHandle RegisterView(Ptr< Graphics::View > const &view)
register a view
Definition cameramanager.cc:43
Ids::IdGenerationPool viewHandlePool
Definition cameramanager.h:63
Util::Array< ViewData > viewHandleMap
Definition cameramanager.h:62
static bool IsViewHandleValid(ViewHandle handle)
check if viewhandle is valid
Definition cameramanager.h:70
void OnDeactivate() override
called when removed from game server
Definition cameramanager.cc:140
virtual __DeclareClass(CameraManager) __DeclareSingleton(CameraManager) public ~CameraManager()
Definition cameramanager.cc:34
void OnActivate() override
Definition cameramanager.cc:130
void InitUpdateCameraProcessor()
Definition cameramanager.cc:104
static Math::mat4 GetProjection(ViewHandle handle)
getter for projection matrix
Definition cameramanager.cc:152
static Math::mat4 GetLocalTransform(ViewHandle handle)
Definition cameramanager.cc:163
Provides a system for creating array friendly id numbers with reuse and generations.
Definition idgenerationpool.h:43
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
Nebula's dynamic array class.
Definition array.h:60
#define n_assert(exp)
Definition debug.h:50
Definition graphicsfeatureunit.cc:58
uint ViewHandle
Definition cameramanager.h:28
Implements the shader server used by Vulkan.
Definition cameramanager.h:21
#define __DeclareSingleton(type)
Definition osxsingleton.h:24
#define __DeclareClass(type)
The graphics entity is only an Id, to which we can attach GraphicsContexts.
Definition graphicsentity.h:16
Definition cameramanager.h:56
Camera currentSettings
Definition cameramanager.h:59
Ptr< Graphics::View > view
Definition cameramanager.h:58
Graphics::GraphicsEntityId gid
Definition cameramanager.h:57
A 4x4 single point precision float matrix.
Definition mat4.h:49
unsigned int uint
Definition types.h:31