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/camera.h"
19#include "graphics/view.h"
20
21namespace Graphics
22{
23 class View;
24}
25
26namespace GraphicsFeature
27{
28
30
66
67//------------------------------------------------------------------------------
70inline bool
72{
73 n_assert(CameraManager::HasInstance());
74 return CameraManager::Singleton->viewHandlePool.IsValid(handle);
75}
76
77} // 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.
Handles camera related properties.
Definition cameramanager.h:32
static ViewHandle RegisterView(const Graphics::ViewId view)
register a view
Definition cameramanager.cc:42
Ids::IdGenerationPool viewHandlePool
Definition cameramanager.h:64
Util::Array< ViewData > viewHandleMap
Definition cameramanager.h:63
static bool IsViewHandleValid(ViewHandle handle)
check if viewhandle is valid
Definition cameramanager.h:71
void OnDeactivate() override
called when removed from game server
Definition cameramanager.cc:139
virtual __DeclareClass(CameraManager) __DeclareSingleton(CameraManager) public ~CameraManager()
Definition cameramanager.cc:33
void OnActivate() override
Definition cameramanager.cc:129
void InitUpdateCameraProcessor()
Definition cameramanager.cc:103
static Math::mat4 GetProjection(ViewHandle handle)
getter for projection matrix
Definition cameramanager.cc:149
static Math::mat4 GetLocalTransform(ViewHandle handle)
Definition cameramanager.cc:160
Provides a system for creating array friendly id numbers with reuse and generations.
Definition idgenerationpool.h:43
Nebula's dynamic array class.
Definition array.h:60
#define n_assert(exp)
Definition debug.h:50
Definition graphicsfeatureunit.cc:61
uint ViewHandle
Definition cameramanager.h:29
Implements the shader server used by Vulkan.
Definition cameramanager.h:22
#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 view.h:34
Definition cameramanager.h:57
Camera currentSettings
Definition cameramanager.h:60
Graphics::ViewId view
Definition cameramanager.h:59
Graphics::GraphicsEntityId gid
Definition cameramanager.h:58
A 4x4 single point precision float matrix.
Definition mat4.h:49
unsigned int uint
Definition types.h:33