2#include <ExtensionRegistry.h>
3#include <Resources/ResourceStore.h>
4#include <ResourceManifest.h>
5#include <Serialization/EntityReader.h>
7#include "Components/AnnotationAxisComponent.h"
8#include "Components/AxisCubeComponent.h"
9#include "Components/CubeMarkerComponent.h"
10#include "Components/DepthAxisComponent.h"
12#include "Systems/AnnotationAxisSystem.h"
13#include "Systems/CubeMarkerSystem.h"
14#include "Systems/DepthAxisSystem.h"
16namespace Cogs::Core::AxisCube
30 AnnotationAxisComponent::registerType();
31 AxisCubeComponent::registerType();
32 CubeMarkerComponent::registerType();
33 DepthAxisComponent::registerType();
41 readEntityDefinition(R
"(
47 "SubMeshRenderComponent",
49 "AnnotationAxisComponent",
51 "FontSelectorComponent",
52 "SpriteRenderComponent"
57 readEntityDefinition(R"(
58{ "name": "AxisCubeEdge",
63 "SubMeshRenderComponent",
64 "AnnotationAxisComponent",
66 "SpriteRenderComponent"
71 readEntityDefinition(R"(
78 "FontSelectorComponent"
83 readEntityDefinition(R"(
84{ "name": "AxisCubeFace",
90 "SubMeshRenderComponent"
95 readEntityDefinition(R"(
96{ "name": "CubeMarker",
99 "CubeMarkerComponent",
100 "TransformComponent",
104 { "MaterialComponent": { "enableLighting": true }}
A Context instance contains all the services, systems and runtime components needed to use Cogs.
void registerDynamicComponentType(const StringView &typeName)
Register a dynamic component type with the given typeName.
class EntityStore * store
Entity store.
static void add(Extension *extension, StringView version)
Adds the given extension to the registry, ensuring the initialization methods are called at appropria...
bool initializeStatic() override
Initialize extension statically.
const char * getExtensionKey() const override
Get the extensions unique key, used to check for extension presence and retrieve extension specific d...
bool initialize(Context *context) override
Initialize extension for the given context.
Defines an extension to Cogs.Core and provides methods to override in order to initialize extension c...
@ PostView
Run after view data has been updated. Anything after this is appropriate for geometry depending on e....
@ Geometry
Run at the time geometry data is updated.
@ PostTransform
Run immediately after transformations are updated.