Cogs.Core
TransformComponent.cpp
1#include "TransformComponent.h"
2
3#include "Types.h"
4
5using namespace Cogs::Reflection;
6
8 coordinates(0, 0, 0),
9 transform{{glm::vec3(0, 0, 0), glm::quat(1, 0, 0, 0), glm::vec3(1, 1, 1)}}
10{}
11
13{
14 Field fields[] = {
16 Field(Name("position"), glm::vec3(), offsetof(TransformComponent, transform.trs.position)),
17 Field(Name("rotation"), glm::quat(), offsetof(TransformComponent, transform.trs.rotation)),
18 Field(Name("scale"), glm::vec3(), offsetof(TransformComponent, transform.trs.scale)),
19 Field(Name("transform"), glm::mat4(), offsetof(TransformComponent, transform.matrix)),
21 };
22
23 TypeDatabase::createType<TransformComponent>().setBase<Component>().setFields(fields);
24}
Defines a 4x4 transformation matrix for the entity and a global offset for root entities.
uint32_t transformFlags
Transform flags.
TransformComponent()
Constructs a new transform component.
glm::dvec3 coordinates
Global coordinates.
static void registerType()
Register the type in the type system.
Field definition describing a single data member of a data structure.
Definition: Field.h:70
Contains reflection support.
Definition: Component.h:11
Represents an unique name.
Definition: Name.h:70