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();
            }
        }
Exemple #2
0
        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));
            }
        }