private void SetPathData(PathGeometry geo, List<Point> points)
{
var myPathFigure = new PathFigure { StartPoint = points.FirstOrDefault() };
var myPathSegmentCollection = new PathSegmentCollection();
var beizerSegments = BeizerUtils.InterpolatePointWithBeizerCurves(points, false);
if (beizerSegments == null || beizerSegments.Count < 1)
{
foreach (var point in points.GetRange(1, points.Count - 1))
{
var myLineSegment = new LineSegment { Point = point };
myPathSegmentCollection.Add(myLineSegment);
}
}
else
{
for (int i = 0; i < beizerSegments.Count; i++)
{
BeizerCurveSegment beizerCurveSegment = beizerSegments[i];
PathSegment segment = new BezierSegment
{
Point1 = beizerCurveSegment.FirstControlPoint,
Point2 = beizerCurveSegment.SecondControlPoint,
Point3 = beizerCurveSegment.EndPoint
};
myPathSegmentCollection.Add(segment);
}
}
myPathFigure.Segments = myPathSegmentCollection;
var myPathFigureCollection = new PathFigureCollection { myPathFigure };
geo.Figures = myPathFigureCollection;
}