Cogs.Core
ConstraintComponent.cpp
1#include "ConstraintComponent.h"
2
3#include "Types.h"
4
5using namespace Cogs::Reflection;
6
7void Cogs::Core::ConstraintComponent::registerType()
8{
9 Field fields[] = {
11 };
12
13 TypeDatabase::createType<ConstraintComponent>().setBase<Component>().setFields(fields);
14}
15
16void Cogs::Core::FixedConstraintComponent::registerType()
17{
18 TypeDatabase::createType<FixedConstraintComponent>().setBase<ConstraintComponent>();
19}
20
21void Cogs::Core::HingeConstraintComponent::registerType()
22{
23 Field fields[] = {
24 Field("anchor", &HingeConstraintComponent::anchor),
25 Field("targetAnchor", &HingeConstraintComponent::targetAnchor),
26 Field("axis", &HingeConstraintComponent::axis),
27 Field("targetAxis", &HingeConstraintComponent::targetAxis),
28 };
29
30 TypeDatabase::createType<HingeConstraintComponent>().setBase<ConstraintComponent>().setFields(fields);
31}
32
33void Cogs::Core::SpringConstraintComponent::registerType()
34{
35 Field fields[] = {
36 Field("anchor", &SpringConstraintComponent::anchor),
37 Field("targetAnchor", &SpringConstraintComponent::targetAnchor),
38 Field("stiffness", &SpringConstraintComponent::stiffness),
39 Field("damping", &SpringConstraintComponent::damping),
40 };
41
42 TypeDatabase::createType<SpringConstraintComponent>().setBase<ConstraintComponent>().setFields(fields);
43}
44
45void Cogs::Core::GenericConstraintComponent::registerType()
46{
47 Field fields[] = {
48 Field("anchor", &GenericConstraintComponent::anchor),
49 Field("targetAnchor", &GenericConstraintComponent::targetAnchor),
50 };
51
52 TypeDatabase::createType<GenericConstraintComponent>().setBase<ConstraintComponent>().setFields(fields);
53}
EntityPtr target
Target entity. Constraint is created between owner of this component and target.
Field definition describing a single data member of a data structure.
Definition: Field.h:68
Contains reflection support.
Definition: Component.h:11