protected static void FillIn(BGCurveBaseMath.SectionInfo section, Vector3[] result, ref int cursor, int parts) { var onePartDistance = section.Distance / parts; for (var j = 1; j <= parts; j++) { Vector3 tangent; section.CalcByDistance(onePartDistance * j, out result[cursor++], out tangent, true, false); } }
// add points for a section by a given number of points protected static void FillIn(BGCurveBaseMath.SectionInfo section, List <Vector3> result, int parts) { var onePartDistance = section.Distance / parts; for (var j = 1; j <= parts; j++) { Vector3 tangent; Vector3 pos; section.CalcByDistance(onePartDistance * j, out pos, out tangent, true, false); result.Add(pos); } }
// add points for a section by a given number of points protected void FillIn(BGCurveBaseMath.SectionInfo section, List <Vector3> result, int parts, List <BGCcSplitterPolyline.PolylinePoint> points) { var onePartDistance = section.Distance / parts; for (var j = 1; j <= parts; j++) { Vector3 tangent; Vector3 pos; var currentDistance = onePartDistance * j; section.CalcByDistance(currentDistance, out pos, out tangent, true, calculatingTangents); result.Add(pos); points.Add(new BGCcSplitterPolyline.PolylinePoint(pos, section.DistanceFromStartToOrigin + currentDistance, tangent)); } }