MCPcopy Create free account
hub / github.com/Tencent/libpag / GetCurveLength

Function GetCurveLength

exporter/src/export/stream/StreamProperty.cpp:121–138  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119}
120
121static float GetCurveLength(const AEGP_StreamValue2& lastValue, const AEGP_StreamValue2& lastOut,
122 const AEGP_StreamValue2& currentIn,
123 const AEGP_StreamValue2& currentValue) {
124 auto startX = static_cast<float>(lastValue.val.three_d.x);
125 auto startY = static_cast<float>(lastValue.val.three_d.y);
126 auto startZ = static_cast<float>(lastValue.val.three_d.z);
127 auto controlX1 = static_cast<float>(startX + lastOut.val.three_d.x);
128 auto controlY1 = static_cast<float>(startY + lastOut.val.three_d.y);
129 auto controlZ1 = static_cast<float>(startY + lastOut.val.three_d.z);
130 auto endX = static_cast<float>(currentValue.val.three_d.x);
131 auto endY = static_cast<float>(currentValue.val.three_d.y);
132 auto endZ = static_cast<float>(currentValue.val.three_d.z);
133 auto controlX2 = static_cast<float>(endX + currentIn.val.three_d.x);
134 auto controlY2 = static_cast<float>(endY + currentIn.val.three_d.y);
135 auto controlZ2 = static_cast<float>(endY + currentIn.val.three_d.z);
136 return GetCubicLength(startX, startY, startZ, controlX1, controlY1, controlZ1, controlX2,
137 controlY2, controlZ2, endX, endY, endZ);
138}
139
140std::vector<float> GetAverageSpeed(AEGP_StreamRefH streamHandle, int index, int dimensionality) {
141 const auto& Suites = GetSuites();

Callers 1

GetAverageSpeedFunction · 0.85

Calls 1

GetCubicLengthFunction · 0.85

Tested by

no test coverage detected