MCPcopy Create free account
hub / github.com/andrewwillmott/splines-lib / SplinesFromSamples

Function SplinesFromSamples

Splines.cpp:154–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

152 }
153
154 template<typename T, typename S> int SplinesFromSamples(int numPoints, const T pi[], S splines[], float tension, size_t stride)
155 {
156 SL_ASSERT(numPoints >= 0);
157
158 const char* p8 = (const char*) pi;
159
160 switch (numPoints)
161 {
162 case 0:
163 return 0;
164 case 1:
165 *splines = SplineFromPointsT<T, S>(p8, stride, 0, 0, 0, 0, tension);
166 return 1;
167 case 2:
168 *splines = SplineFromPointsT<T, S>(p8, stride, 0, 0, 1, 1, tension);
169 return 1;
170 }
171
172 *splines++ = SplineFromPointsT<T, S>(p8, stride, 0, 0, 1, 2, tension);
173
174 for (int i = 0; i < numPoints - 3; i++)
175 {
176 *splines++ = SplineFromPointsT<T, S>(p8, stride, 0, 1, 2, 3, tension);
177 p8 += stride;
178 }
179
180 *splines++ = SplineFromPointsT<T, S>(p8, stride, 0, 1, 2, 2, tension);
181
182 return numPoints - 1;
183 }
184
185 template<typename T, typename S> int SplinesFromSamplesDynamic(int numPoints, const T pi[], S splines[], float tension, float ratio, size_t stride)
186 {

Callers 1

SplinesFromPointsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected