NWengine 0.9
Loading...
Searching...
No Matches
Interpolation.h
1#pragma once
2#include "Globals.h"
3#include "Serialization.h"
4#include <vector>
5
9class Interpolator : public Serialized {
10public:
11
12 struct {
13 float source;
14 float target;
16 };
17
18 float duration = 0.0f;
26 Interpolator(float source, float target, float duration);
27
31 Interpolator() = default;
32
38 virtual float Evaluate(float clock);
39
46 int Serialize(std::fstream* data, int offset) override;
47
54 int Deserialize(std::fstream* data, int offset) override;
55};
56
57
62public:
71 BezierInterpolator(float source, float target, float duration);
72
77
81 void Linearize();
82
88 float Evaluate(float clock) override;
89
90 int Serialize(std::fstream* data, int offset) override;
91
92
93 int Deserialize(std::fstream* data, int offset) override;
94};
The BezierInterpolator class represents a Bezier curve interpolator.
Definition Interpolation.h:61
float Evaluate(float clock) override
Evaluates the interpolation at the given clock value using the Bezier curve.
Definition Interpolation.cpp:50
int Serialize(std::fstream *data, int offset) override
Serialize the object and write it to the file.
Definition Interpolation.cpp:56
void Linearize()
Linearizes the Bezier curve by subdividing it into linear segments.
Definition Interpolation.cpp:41
fVec2 controlPoints[2]
Definition Interpolation.h:63
BezierInterpolator()
Default constructor for the BezierInterpolator class.
Definition Interpolation.h:76
int Deserialize(std::fstream *data, int offset) override
Deserialize the object from the file.
Definition Interpolation.cpp:71
The Interpolator class represents a generic interpolator.
Definition Interpolation.h:9
int Deserialize(std::fstream *data, int offset) override
Deserializes the Interpolator object from a file stream.
Definition Interpolation.cpp:25
int Serialize(std::fstream *data, int offset) override
Serializes the Interpolator object to a file stream.
Definition Interpolation.cpp:16
float currentValue
Definition Interpolation.h:15
float duration
Definition Interpolation.h:18
Interpolator()=default
Default constructor for the Interpolator class.
float target
Definition Interpolation.h:14
virtual float Evaluate(float clock)
Evaluates the interpolation at the given clock value.
Definition Interpolation.cpp:12
float source
Definition Interpolation.h:13
Base class for serialization and deserialization.
Definition Serialization.h:23