Cogs.Core
PointVisualizationSystem.h
1#pragma once
2
3#include <memory.h>
4#include "Systems/ComponentSystem.h"
5#include "../Components/PointVisualizationComponent.h"
6
7namespace Cogs::Core::Volumetric
8{
10 {
11 MeshHandle mesh;
12 uint8_t pointPositionGeneration = (uint8_t)-1;
13 uint8_t pointDataGeneration = (uint8_t)-1;
14 bool needsUpdate = true;
15 };
16
18 : public ComponentSystemWithDataPool<PointVisualizationComponent, PointVisualizationData>
19 {
20 public:
21 PointVisualizationSystem(Memory::Allocator * allocator, SizeType capacity) : ComponentSystemWithDataPool(allocator, capacity) {}
22
23 void update(Context * context) override;
24 };
25}
Context * context
Pointer to the Context instance the system lives in.
void update()
Updates the system state to that of the current frame.
Component system with parallel data per component stored in a pool similar to how the components them...
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition: Context.h:83
Base allocator implementation.
Definition: Allocator.h:30
ComponentIndex SizeType
Type used to track the size of pools.
Definition: Component.h:19