1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "fsCF32Transformation.h"
#include "fsITransformationComponent.h"


fsF32 fsCF32Transformation::f32Get(fsS32 pTime) const
{
	return mTransformation->valueGet(pTime);
}

fsS32 fsCF32Transformation::periodGet() const
{
	return mTransformation->periodGet();
}

void fsCF32Transformation::simpleTransformSet(fsF32 pStart, fsF32 pEnd, fsS32 pDuration)
{
	mTransformation.release();<--- Return value of function mTransformation.release() is not used.
	mTransformation = std::make_unique<fsCGraph<fsF32>>(fsCGraph<fsF32>(pStart));
	mTransformation->dataAdd(pDuration, pEnd);
}

fsCF32Transformation::fsCF32Transformation():
	mTransformation(nullptr)
{
}

fsCF32Transformation::fsCF32Transformation(fsStr& pFileData):
	fsITransformation(pFileData)
{
	fsStr transVal = pFileData.chomp(",");
	transVal.trailingWhitespaceTrim();

	mTransformation = std::make_unique<fsCGraph<fsF32>>(fsCGraph<fsF32>(transVal.toF32()));

	pFileData.leadingWhitespaceTrim();
	fsStr transformationValues = pFileData.chomp(";") + ",";

	while (!transformationValues.emptyGet())
	{
		transVal = transformationValues.chomp(",");
		transVal.trailingWhitespaceTrim();

		transformationValues.leadingWhitespaceTrim();
		fsS32 duration = s32Get(transformationValues);
		transformationValues.chomp(",");
		transformationValues.leadingWhitespaceTrim();

		mTransformation->dataAdd(duration, transVal.toF32());
	}
}


fsCF32Transformation::~fsCF32Transformation()
{
}