Cogs.Core
CinematicCameraComponent.cpp
1
2#include "Types.h"
3#include "CinematicCameraComponent.h"
4
5
6using namespace Cogs::Reflection;
7
9{
10 static constexpr EnumeratorDef captureEasingModeEnum[] = {
11 {"Linear", CameraEasingMode::Linear } ,
12 {"QuadraticIn", CameraEasingMode::QuadraticIn },
13 {"QuadraticOut", CameraEasingMode::QuadraticOut },
14 {"QuadraticInOut", CameraEasingMode::QuadraticInOut },
15 {"CubicIn", CameraEasingMode::CubicIn },
16 {"CubicOut", CameraEasingMode::CubicOut },
17 {"CubicInOut", CameraEasingMode::CubicInOut },
18 {"QuarticIn", CameraEasingMode::QuarticIn },
19 {"QuarticOut", CameraEasingMode::QuarticOut },
20 {"QuarticInOut", CameraEasingMode::QuarticInOut },
21 {"QuinticIn", CameraEasingMode::QuinticIn },
22 {"QuinticOut", CameraEasingMode::QuinticOut },
23 {"QuinticInOut", CameraEasingMode::QuinticInOut },
24 {"SinusoidalIn", CameraEasingMode::SinusoidalIn },
25 {"SinusoidalOut", CameraEasingMode::SinusoidalOut },
26 {"SinusoidalInOut", CameraEasingMode::SinusoidalInOut },
27 {"ExponentialIn", CameraEasingMode::ExponentialIn },
28 {"ExponentialOut", CameraEasingMode::ExponentialOut },
29 {"ExponentialInOut",CameraEasingMode::ExponentialInOut },
30 {"CircularIn", CameraEasingMode::CircularIn },
31 {"CircularOut", CameraEasingMode::CircularOut },
32 {"CircularInOut", CameraEasingMode::CircularInOut },
33 {"ElasticIn", CameraEasingMode::ElasticIn },
34 {"ElasticOut", CameraEasingMode::ElasticOut },
35 {"ElasticInOut", CameraEasingMode::ElasticInOut },
36 {"BackIn", CameraEasingMode::BackIn },
37 {"BackOut", CameraEasingMode::BackOut },
38 {"BackInOut", CameraEasingMode::BackInOut },
39 {"BounceIn", CameraEasingMode::BounceIn },
40 {"BounceOut", CameraEasingMode::BounceOut },
41 {"BounceInOut", CameraEasingMode::BounceInOut },
42
43 };
44 TypeDatabase::createType<CameraEasingMode>().setEnumerators(captureEasingModeEnum);
45 TypeDatabase::createType<std::vector<CameraEasingMode>>();
46
47 Field fields[] = {
55 };
56 TypeDatabase::createType<CinematicCameraComponent>().setBase<Component>().setFields(fields);
57}
std::vector< glm::quat > interestPointRotation
Rotation of the Camera.
bool isCinematicPlaying
Wether this sequence is listed to play or not.
std::vector< float > interestPointWaitingTime
Waiting Time before interpolating towards point[++i].
bool loop
Wether this sequence is marked to loop endlessly.
std::vector< CameraEasingMode > interestPointEasingMode
Easing Mode between points[–i] and points[i].
std::vector< glm::vec3 > interestPointPosition
It is assumed that the arrays are of equal length (ALWAYS), otherwise component will just bail out of...
static void registerType()
Register the type in the type system.
std::vector< float > interestPointTimeToReach
Interpolation time to reach point[i].
Field definition describing a single data member of a data structure.
Definition: Field.h:68
Contains reflection support.
Definition: Component.h:11
Represents an unique name.
Definition: Name.h:70