public float GetApproximateLength()
{
float length = 0;
int subCurveSampling = (this.Sampling / (this.KeyPointsCount - 1)) + 1;
for (int i = 0; i < this.KeyPointsCount - 1; i++)
{
length += BezierCurve3D.GetApproximateLengthOfCubicCurve(this.KeyPoints[i], this.KeyPoints[i + 1], subCurveSampling);
}
return length;
}