bool ON_CompressedBuffer::Read( ON_BinaryArchive& binary_archive ) { int major_version = 0; int minor_version = 0; bool rc = binary_archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version); if ( !rc ) return false; for(;;) { rc = ( 1 == major_version ); if ( !rc ) break; rc = binary_archive.ReadSize(&m_sizeof_uncompressed); if (!rc) break; rc = binary_archive.ReadSize(&m_sizeof_compressed); if (!rc) break; rc = binary_archive.ReadInt(&m_crc_uncompressed); if (!rc) break; rc = binary_archive.ReadInt(&m_crc_compressed); if (!rc) break; rc = binary_archive.ReadInt(&m_method); if (!rc) break; rc = binary_archive.ReadInt(&m_sizeof_element); if (!rc) break; if ( m_sizeof_compressed > 0 ) { m_buffer_compressed = onmalloc(m_sizeof_compressed); if ( m_buffer_compressed ) { m_buffer_compressed_capacity = m_sizeof_compressed; rc = binary_archive.ReadByte(m_sizeof_compressed,m_buffer_compressed); } else { m_sizeof_compressed =0; } if (!rc) break; } break; } if ( !binary_archive.EndRead3dmChunk() ) rc = false; return rc; }
BOOL ON_UnknownUserData::Read( ON_BinaryArchive& file ) { m_buffer = onrealloc( m_buffer, m_sizeof_buffer ); m_3dm_version = file.Archive3dmVersion(); return file.ReadByte(m_sizeof_buffer,m_buffer); }