public bool Read(BinaryArchiveReader archive)
        {
            var rc = false;

            if (null != archive)
            {
                // Read and verify chunk version
                int major, minor;
                archive.Read3dmChunkVersion(out major, out minor);
                if (1 == major && 0 == minor)
                {
                    try
                    {
                        // Read this object
                        var bytes     = archive.ReadByteArray();
                        var stream    = new MemoryStream(bytes);
                        var formatter = new BinaryFormatter();
                        var data      = formatter.Deserialize(stream) as SampleCsCustomClass;
                        Create(data);

                        // Verify reading
                        rc = archive.ReadErrorOccured;
                    }
                    catch
                    {
                        // TODO
                    }
                }
            }
            return(rc);
        }
Exemplo n.º 2
0
        protected override void ReadDocument(RhinoDoc doc, BinaryArchiveReader archive, FileReadOptions options)
        {
            int major, minor;

            archive.Read3dmChunkVersion(out major, out minor);
            byte[] data = archive.ReadByteArray();
            if (!archive.ReadErrorOccured && data != null)
            {
                Host.EnsureInitialisation(true);
                ModelDocument mDoc = Document.FromBinary <ModelDocument>(data);
                Core.Instance.ActiveDocument = mDoc;
            }
            base.ReadDocument(doc, archive, options);
        }