Example #1
0
        public override void CopyFrom(DxfHandledObject from, CloneContext cloneContext)
        {
            base.CopyFrom(from, cloneContext);
            DxfModelerGeometry dxfModelerGeometry = (DxfModelerGeometry)from;

            this.string_1 = dxfModelerGeometry.string_1;
            this.int_0    = dxfModelerGeometry.int_0;
            if (dxfModelerGeometry.memoryStream_0 == null)
            {
                this.memoryStream_0 = (MemoryStream)null;
            }
            else
            {
                this.memoryStream_0 = new MemoryStream(dxfModelerGeometry.memoryStream_0.GetBuffer(), 0, (int)dxfModelerGeometry.memoryStream_0.Length, true, true);
            }
        }
Example #2
0
        internal bool method_13(Stream stream)
        {
            bool flag1    = false;
            long position = stream.Position;
            bool flag2    = true;

            for (int index = 0; index < DxfModelerGeometry.BinaryFilePrefix.Length; ++index)
            {
                int num = stream.ReadByte();
                if (num < 0 || (int)DxfModelerGeometry.BinaryFilePrefix[index] != num)
                {
                    flag2 = false;
                    break;
                }
            }
            if (flag2)
            {
                this.memoryStream_0 = new MemoryStream();
                int num = Class1045.smethod_7(stream);
                Class1045.smethod_9((Stream)this.memoryStream_0, num);
                bool     flag3     = false;
                byte[][] numArray1 = num < 21800 ? DxfModelerGeometry.byte_2 : DxfModelerGeometry.byte_3;
label_23:
                byte b;
                while (!flag3 && !DxfModelerGeometry.smethod_2(stream, out b))
                {
                    this.memoryStream_0.WriteByte(b);
                    if ((int)b == (int)numArray1[0][0])
                    {
                        int index1 = 0;
                        int index2 = 1;
                        while (true)
                        {
                            bool flag4 = true;
                            for (byte[] numArray2 = numArray1[index1]; index2 < numArray2.Length; ++index2)
                            {
                                if (!DxfModelerGeometry.smethod_2(stream, out b))
                                {
                                    this.memoryStream_0.WriteByte(b);
                                    if ((int)b != (int)numArray2[index2])
                                    {
                                        flag4 = false;
                                        break;
                                    }
                                }
                                else
                                {
                                    flag4 = false;
                                    break;
                                }
                            }
                            if (flag4)
                            {
                                ++index1;
                                index2 = 0;
                                if (index1 < numArray1.GetLength(0))
                                {
                                    if (!DxfModelerGeometry.smethod_2(stream, out b))
                                    {
                                        this.memoryStream_0.WriteByte(b);
                                        switch (b)
                                        {
                                        case 13:
                                        case 14:
                                            if (!DxfModelerGeometry.smethod_2(stream, out b))
                                            {
                                                this.memoryStream_0.WriteByte(b);
                                                continue;
                                            }
                                            goto label_23;

                                        case 45:
                                            continue;

                                        default:
                                            goto label_23;
                                        }
                                    }
                                    else
                                    {
                                        goto label_23;
                                    }
                                }
                                else
                                {
                                    break;
                                }
                            }
                            else
                            {
                                goto label_23;
                            }
                        }
                        flag3 = true;
                        flag1 = true;
                    }
                }
                this.memoryStream_0.Seek(0L, SeekOrigin.Begin);
            }
            else
            {
                stream.Seek(position, SeekOrigin.Begin);
                long   length   = stream.Length - position;
                byte[] numArray = new byte[length];
                stream.Read(numArray, 0, (int)length);
                this.string_1 = Encodings.Ascii.GetString(numArray, 0, (int)length);
                flag1         = true;
            }
            return(flag1);
        }
Example #3
0
 protected DxfModelerGeometry(DxfModelerGeometry entity)
     : base((DxfEntity)entity)
 {
     this.string_1 = entity.string_1;
     this.int_0    = entity.int_0;
 }
Example #4
0
 protected virtual void VisitModelerGeometry(DxfModelerGeometry geometry)
 {
     this.VisitEntity((DxfEntity)geometry);
 }