getKeyframeTrackValues method
dynamic
getKeyframeTrackValues(
- dynamic times,
- Map curves,
- dynamic initialValue
)
Implementation
getKeyframeTrackValues(times, Map curves, initialValue) {
var prevValue = initialValue;
var values = [];
var xIndex = -1;
var yIndex = -1;
var zIndex = -1;
times.forEach((time) {
if (curves["x"] != null) xIndex = curves["x"]["times"].toList().indexOf(time);
if (curves["y"] != null) yIndex = curves["y"]["times"].toList().indexOf(time);
if (curves["z"] != null) zIndex = curves["z"]["times"].toList().indexOf(time);
// if there is an x value defined for this frame, use that
if (xIndex != -1) {
var xValue = curves["x"]["values"][xIndex];
values.add(xValue);
prevValue[0] = xValue;
} else {
// otherwise use the x value from the previous frame
values.add(prevValue[0]);
}
if (yIndex != -1) {
var yValue = curves["y"]["values"][yIndex];
values.add(yValue);
prevValue[1] = yValue;
} else {
values.add(prevValue[1]);
}
if (zIndex != -1) {
var zValue = curves["z"]["values"][zIndex];
values.add(zValue);
prevValue[2] = zValue;
} else {
values.add(prevValue[2]);
}
});
return values;
}