Ejemplo n.º 1
0
        public static void Restore(out IParametricCurve2d curve, BinaryReader reader)
        {
            curve = null;
            int nType = reader.ReadInt32();

            if (nType == 1)
            {
                Segment2d segment = new Segment2d();
                Restore(ref segment, reader);
                curve = segment;
            }
            else if (nType == 2)
            {
                Circle2d circle = new Circle2d(Vector2D.Zero, 1.0);
                Restore(ref circle, reader);
                curve = circle;
            }
            else if (nType == 3)
            {
                Arc2d arc = new Arc2d(Vector2D.Zero, 1.0, 0, 1);
                Restore(ref arc, reader);
                curve = arc;
            }
            else if (nType == 100)
            {
                ParametricCurveSequence2 seq = new ParametricCurveSequence2();
                Restore(ref seq, reader);
                curve = seq;
            }
            else
            {
                throw new Exception("gSerialization.Restore: IParametricCurve2D : unknown curve type " + nType.ToString());
            }
        }
Ejemplo n.º 2
0
 public static void Store(ParametricCurveSequence2 sequence, BinaryWriter writer)
 {
     writer.Write(sequence.IsClosed);
     writer.Write((int)sequence.Count);
     foreach (IParametricCurve2d c in sequence.Curves)
     {
         Store(c, writer);
     }
 }
Ejemplo n.º 3
0
        public static void Restore(ref ParametricCurveSequence2 sequence, BinaryReader reader)
        {
            sequence.IsClosed = reader.ReadBoolean();
            int N = reader.ReadInt32();

            for (int i = 0; i < N; ++i)
            {
                IParametricCurve2d c;
                Restore(out c, reader);
                sequence.Append(c);
            }
        }