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(); } }
private void DrawCasteljau(List <Point> points) { Point tmp; for (double t = 0; t <= 1; t += 0.01) { tmp = GetCasteljauPoint(points.Count - 1, 0, t); BezierPoints.Add(new Point(tmp.X, tmp.Y)); } }