private void DrawBezierCurve() { this.ContentGrid.Children.Remove(_bezierCanvas); _bezierCanvas.Children.Clear(); BezierPoints.Clear(); var pointList = new List <Point>(); for (int i = 0; i <= _insertedPoint; i++) { pointList.Add(PointList[i].Point); } DrawCasteljau(pointList); for (int i = 0; i < BezierPoints.Count - 1; i++) { var line = new Line { Stroke = Brushes.Red, StrokeThickness = 1, X1 = BezierPoints[i].X, Y1 = BezierPoints[i].Y, X2 = BezierPoints[i + 1].X, Y2 = BezierPoints[i + 1].Y }; _bezierCanvas.Children.Add(line); } this.ContentGrid.Children.Add(_bezierCanvas); }
public void Load(EngineNS.IO.XndNode xndNode) { BezierPoints.Clear(); var att = xndNode.FindAttrib("_bezierPts"); if (att != null) { att.BeginRead(); switch (att.Version) { case 0: { int count; att.Read(out count); for (int i = 0; i < count; i++) { var bPt = att.ReadMetaObject() as BezierPoint; if (bPt != null) { bPt.CalculateOpposite(); BezierPoints.Add(bPt); } } att.Read(out mBezierWidth); att.Read(out mBezierHeight); } break; } att.EndRead(); } }
public void Clear() { if (BezierPoints.Count > 0) { BezierPoints.Clear(); } if (_lstCtrPoints.Count > 0) { _lstCtrPoints.Clear(); } }