#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()
{
}