Cogs.Core
Source
Resources
MeshManager.h
1
#pragma once
2
3
#include "ResourceManager.h"
4
5
#include "Mesh.h"
6
7
namespace
Cogs
8
{
9
namespace
Core
10
{
17
class
MeshManager
:
public
ResourceManager
<Mesh, ResourceLoadInfoBase>
18
{
19
public
:
21
MeshManager
(
Context
* context);
22
24
~MeshManager
()
override
;
25
28
void
initialize
()
override
;
29
30
size_t
currentSwapQueueSize()
const
{
return
swapQueue.size(); }
31
32
MeshHandle
getMesh(
const
StringView
& name);
33
34
void
handleLoad
(
ResourceLoadInfoBase
* loadInfo)
override
;
35
37
ActivationResult
handleActivation
(
ResourceHandle
handle,
Mesh
* mesh)
override
;
38
40
void
handleDeletion
(
Mesh
* mesh)
override
;
41
43
void
processSwapping
()
override
;
44
45
void
processDeletion
()
override
;
46
47
void
destroyInternal(
ResourceBase
* resource)
override
;
48
49
ResourceBufferHandle
createBuffer();
50
51
private
:
52
std::unique_ptr<struct MeshManagerData> data;
53
};
54
}
55
}
Cogs::Core::Context
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition:
Context.h:83
Cogs::Core::MeshManager
Mesh manager handling the creation, processing and lifetime of Mesh resources.
Definition:
MeshManager.h:18
Cogs::Core::MeshManager::processDeletion
void processDeletion() override
Process resources pending deallocation.
Definition:
MeshManager.cpp:257
Cogs::Core::MeshManager::handleActivation
ActivationResult handleActivation(ResourceHandle handle, Mesh *mesh) override
Overridden to handle mesh activation, updating the resource in the renderer.
Definition:
MeshManager.cpp:417
Cogs::Core::MeshManager::handleLoad
void handleLoad(ResourceLoadInfoBase *loadInfo) override
Handler for resource loading.
Definition:
MeshManager.cpp:232
Cogs::Core::MeshManager::initialize
void initialize() override
Definition:
MeshManager.cpp:213
Cogs::Core::MeshManager::handleDeletion
void handleDeletion(Mesh *mesh) override
Overridden to handle mesh deletion, removing the resource from the renderer.
Definition:
MeshManager.cpp:238
Cogs::Core::MeshManager::~MeshManager
~MeshManager() override
Destructs the MeshManager.
Definition:
MeshManager.cpp:205
Cogs::Core::MeshManager::processSwapping
void processSwapping() override
Overridden to dispatch async updates for swapping resources if enabled.
Definition:
MeshManager.cpp:329
Cogs::Core::ResourceManager
The generic resource manager provides a base implementation for specialized resource managers to buil...
Definition:
ResourceManager.h:76
Cogs::Core::ResourceManager< Mesh, ResourceLoadInfoBase >::ResourceHandle
ResourceHandle_t< Mesh > ResourceHandle
Type of handle used to hold resources.
Definition:
ResourceManager.h:79
Cogs::StringView
Provides a weakly referenced view over the contents of a string.
Definition:
StringView.h:24
Cogs::Core::ActivationResult
ActivationResult
Defines results for resource activation.
Definition:
ResourceBase.h:14
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::Mesh
Meshes contain streams of vertex data in addition to index data and options defining geometry used fo...
Definition:
Mesh.h:265
Cogs::Core::ResourceBase
Base class for engine resources.
Definition:
ResourceBase.h:107
Cogs::Core::ResourceHandle_t< Mesh >
Cogs::Core::ResourceLoadInfoBase
Definition:
ResourceLoadInfo.h:17
Generated by
1.9.6