本文整理汇总了C++中ON_BinaryArchive::EndRead3dmChunk方法的典型用法代码示例。如果您正苦于以下问题:C++ ON_BinaryArchive::EndRead3dmChunk方法的具体用法?C++ ON_BinaryArchive::EndRead3dmChunk怎么用?C++ ON_BinaryArchive::EndRead3dmChunk使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ON_BinaryArchive
的用法示例。
在下文中一共展示了ON_BinaryArchive::EndRead3dmChunk方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Read
ON_BOOL32 ON_DetailView::Read(ON_BinaryArchive& archive)
{
m_page_per_model_ratio = 0.0;
m_view.Default();
m_boundary.Destroy();
int major_version = 0;
int minor_version = 0;
bool rc = archive.BeginRead3dmChunk( TCODE_ANONYMOUS_CHUNK, &major_version, &minor_version );
if (!rc)
return false;
for(;;)
{
rc = (1 == major_version );
if (!rc) break;
// m_view is wrapped in a subchunk so ON_3dmView can be expanded
// without breaking the file format.
int mj = 0, mn = 0;
rc = archive.BeginRead3dmChunk( TCODE_ANONYMOUS_CHUNK, &mj, &mn );
if (rc)
{
rc = m_view.Read(archive);
if (!archive.EndRead3dmChunk())
rc = false;
}
if (!rc) break;
// m_boundary is wrapped in a subchunk so ON_NurbsCurve can be expanded
// without breaking the file format.
mj = mn = 0;
rc = archive.BeginRead3dmChunk( TCODE_ANONYMOUS_CHUNK, &mj, &mn );
if (rc)
{
rc = m_boundary.Read(archive)?true:false;
if (!archive.EndRead3dmChunk())
rc = false;
}
if (!rc) break;
if ( minor_version >= 1 )
{
rc = archive.ReadDouble(&m_page_per_model_ratio);
}
break;
}
if ( !archive.EndRead3dmChunk() )
rc = false;
return rc;
}
示例2: Read
// virtual ON_Object override
ON_BOOL32 ON__IDefAlternativePathUserData::Read(ON_BinaryArchive& binary_archive)
{
DestroyHelper();
int major_version = 0;
int minor_version = 0;
bool rc = binary_archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if ( !rc )
return false;
rc = false;
while ( 1 == major_version )
{
if ( !binary_archive.ReadString(m_alternate_path) )
break;
if ( !binary_archive.ReadBool(&m_bRelativePath) )
break;
rc = true;
break;
}
if ( !binary_archive.EndRead3dmChunk() )
rc = false;
return rc;
}
示例3: Read
ON_BOOL32 ON_BrepLoopArray::Read( ON_BinaryArchive& file )
{
Empty();
ON__UINT32 tcode = 0;
ON__INT64 length_TCODE_ANONYMOUS_CHUNK = 0;
int count = 0;
int i;
int major_version = 0;
int minor_version = 0;
bool rc = file.BeginRead3dmBigChunk( &tcode, &length_TCODE_ANONYMOUS_CHUNK );
if (rc) {
if (tcode != TCODE_ANONYMOUS_CHUNK)
rc = false;
if (rc) rc = file.Read3dmChunkVersion(&major_version,&minor_version);
if (rc) {
if ( major_version==1 ) {
if (rc) rc = file.ReadInt(&count);
SetCapacity(count);
for ( i = 0; i < count && rc ; i++ ) {
ON_BrepLoop& loop = AppendNew();
rc = loop.Read(file) ? true : false;
}
}
else {
rc = 0;
}
}
if ( !file.EndRead3dmChunk() )
rc = false;
}
return rc;
}
示例4: Read
BOOL ON_BrepLoopArray::Read( ON_BinaryArchive& file )
{
Empty();
unsigned int tcode = 0;
int count = 0;
int i;
int major_version = 0;
int minor_version = 0;
BOOL rc = file.BeginRead3dmChunk( &tcode, &i );
if (rc) {
if (tcode != TCODE_ANONYMOUS_CHUNK)
rc = false;
if (rc) rc = file.Read3dmChunkVersion(&major_version,&minor_version);
if (rc) {
if ( major_version==1 ) {
if (rc) rc = file.ReadInt(&count);
SetCapacity(count);
for ( i = 0; i < count && rc ; i++ ) {
ON_BrepLoop& loop = AppendNew();
rc = loop.Read(file);
}
}
else {
rc = 0;
}
}
if ( !file.EndRead3dmChunk() )
rc = false;
}
return rc;
}
示例5: Read
bool ON_ClippingPlaneInfo::Read( ON_BinaryArchive& file )
{
Default();
int major_version = 0;
int minor_version = 0;
bool rc = file.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if (!rc)
return false;
for(;;)
{
rc = (1 == major_version);
if (!rc) break;
rc = file.ReadPlaneEquation(m_plane_equation);
if (!rc) break;
rc = file.ReadUuid(m_plane_id);
if (!rc) break;
rc = file.ReadBool(&m_bEnabled);
if (!rc) break;
break;
}
if ( !file.EndRead3dmChunk() )
rc = false;
return rc;
}
示例6: Read
bool ON_BrepRegionTopology::Read( ON_BinaryArchive& file )
{
int i;
int major_version = 0;
int minor_version = 0;
bool rc = file.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if ( !rc )
return false;
for(;;)
{
rc = (1 == major_version);
if (!rc) break;
rc = m_FS.Read(file);
for ( i = 0; i < m_FS.Count(); i++ )
m_FS[i].m_rtop = this;
if (!rc) break;
rc = m_R.Read(file);
for ( i = 0; i < m_R.Count(); i++ )
m_R[i].m_rtop = this;
if (!rc) break;
break;
}
if ( !file.EndRead3dmChunk() )
rc = false;
return rc;
}
示例7: Read
bool ON_UserString::Read(ON_BinaryArchive& archive)
{
m_key.Empty();
m_string_value.Empty();
int major_version = 0;
int minor_version = 0;
bool rc = archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if (!rc)
return false;
for(;;)
{
rc = ( 1 == major_version );
if (!rc) break;
rc = archive.ReadString(m_key);
if (!rc) break;
rc = archive.ReadString(m_string_value);
if (!rc) break;
break;
}
if ( !archive.EndRead3dmChunk() )
rc = false;
return rc;
}
示例8: Read
ON_BOOL32 ON_MeshNgonUserData::Read(ON_BinaryArchive& archive)
{
if ( 0 != m_ngon_list )
{
delete m_ngon_list;
m_ngon_list = 0;
}
int major_version = 0;
int minor_version = 0;
bool rc = archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if (!rc)
return false;
for (;;)
{
rc = (1 == major_version);
if (!rc)
break;
int count = 0;
rc = archive.ReadInt(&count);
if (count <= 0 || !rc)
break;
m_ngon_list = new ON_MeshNgonList();
if ( 0 == m_ngon_list )
break;
m_ngon_list->ReserveNgonCapacity(count);
for ( int i = 0; i < count; i++ )
{
int N = 0;
rc = archive.ReadInt(&N);
if (!rc)
break;
if ( N <= 0 )
continue;
struct ON_MeshNgon* ngon = m_ngon_list->AddNgon(N);
if ( 0 == ngon )
break;
rc = archive.ReadInt(N,ngon->vi);
if (!rc)
break;
rc = archive.ReadInt(N,ngon->fi);
if (!rc)
break;
ngon->N = N;
}
if (!rc)
break;
break;
}
if ( !archive.EndRead3dmChunk() )
rc = false;
return rc;
}
示例9: Read
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;
}
示例10: Read
BOOL CSampleObjectUserData::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;
// Read class members like this
for(;;)
{
rc = ( 1 == major_version );
if( !rc ) break;
// version 1.0 fields
rc = binary_archive.ReadPoint( m_point );
if( !rc ) break;
rc = binary_archive.ReadString( m_string );
if( !rc ) break;
// The code in the comment below demonstrates how to
// correctly read information added in later releases
// of your product.
//if ( minor_version >= 1 )
//{
// // version 1.1 fields added DD MMM YYYY
// rc = binary_archive.ReadSomethingNew( ... );
// if (!rc) break;
// rc = binary_archive.ReadSomethingElseNew( ... );
// if (!rc) break;
//
// if ( minor_version >= 2 )
// {
// // version 1.2 fields added DD MMM YYYY
// rc = binary_archive.ReadAnotherSomethingNew( ... );
// if (!rc) break;
// rc = binary_archive.ReadAnotherSomethingElseNew( ... );
// if (!rc) break;
// }
//}
break;
}
// If BeginRead3dmChunk() returns true,
// then EndRead3dmChunk() must be called,
// even if a read operation failed.
if( !binary_archive.EndRead3dmChunk() )
rc = false;
return rc;
}
示例11: Read
bool ON_PlugInRef::Read( ON_BinaryArchive& file )
{
Default();
int major_version = 0;
int minor_version = 0;
bool rc = file.BeginRead3dmChunk(
TCODE_ANONYMOUS_CHUNK,
&major_version,
&minor_version);
if (rc)
{
if( 1 == major_version && minor_version >= 0 )
{
//version 1.0 fields
if (rc) rc = file.ReadUuid(m_plugin_id);
if (rc) rc = file.ReadInt(&m_plugin_type);
if (rc) rc = file.ReadString(m_plugin_name);
if (rc) rc = file.ReadString(m_plugin_version);
if (rc) rc = file.ReadString(m_plugin_filename);
if ( minor_version >= 1)
{
// version 1.1 fields
if (rc) rc = file.ReadString(m_developer_organization);
if (rc) rc = file.ReadString(m_developer_address);
if (rc) rc = file.ReadString(m_developer_country);
if (rc) rc = file.ReadString(m_developer_phone);
if (rc) rc = file.ReadString(m_developer_email);
if (rc) rc = file.ReadString(m_developer_website);
if (rc) rc = file.ReadString(m_developer_updateurl);
if (rc) rc = file.ReadString(m_developer_fax);
if ( minor_version >= 2 )
{
if (rc) rc = file.ReadInt(&m_plugin_platform);
if (rc) rc = file.ReadInt(&m_plugin_sdk_version);
if (rc) rc = file.ReadInt(&m_plugin_sdk_service_release);
}
}
}
else
{
rc = false;
}
if( !file.EndRead3dmChunk() )
rc = false;
}
return rc;
}
示例12: Read
ON_BOOL32 ON_PolyEdgeSegment::Read( ON_BinaryArchive& archive )
{
Init();
int major_version = 0;
int minor_version = 0;
bool rc = archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if (!rc)
return false;
for(;;)
{
rc = (1 == major_version);
if ( !rc )
break;
rc = archive.ReadUuid(m_object_id);
if (!rc) break;
rc = archive.ReadComponentIndex(m_component_index);
if (!rc) break;
rc = archive.ReadInterval(m_edge_domain);
if (!rc) break;
rc = archive.ReadInterval(m_trim_domain);
if (!rc) break;
// Read ON_ProxyCurve values we need
bool bReversed = false;
rc = archive.ReadBool(&bReversed);
if (!rc) break;
ON_Interval this_domain;
rc = archive.ReadInterval(this_domain);
if (!rc) break;
ON_Interval real_curve_domain;
rc = archive.ReadInterval(real_curve_domain);
if (!rc) break;
if ( bReversed)
ON_CurveProxy::Reverse();
ON_CurveProxy::SetDomain(this_domain);
ON_CurveProxy::SetProxyCurveDomain(real_curve_domain);
break;
}
if ( !archive.EndRead3dmChunk() )
rc = false;
return rc;
}
示例13: Read
ON_BOOL32 ON_HatchExtra::Read(ON_BinaryArchive& archive)
{
int major_version = 0;
int minor_version = 0;
bool rc = archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if(major_version != 1)
rc = false;
m_basepoint.Set(0.0,0.0);
if(rc) rc = archive.ReadUuid(m_parent_hatch);
if(rc) rc = archive.ReadPoint(m_basepoint);
if(!archive.EndRead3dmChunk())
rc = false;
return rc;
}
示例14: Read
bool ON_BezierCageMorph::Read(ON_BinaryArchive& archive)
{
int major_version = 0;
int minor_version = 0;
bool rc = archive.BeginRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version);
if ( rc )
{
if ( major_version != 1 )
rc = false;
if (rc)
rc = archive.ReadXform(m_xyz2rst);
if(rc)
rc = m_rst2xyz.Read(archive);
if ( !archive.EndRead3dmChunk() )
rc = false;
}
return rc;
}
示例15: Read
ON_BOOL32 ON_SurfaceArray::Read( ON_BinaryArchive& file )
{
int major_version = 0;
int minor_version = 0;
ON__UINT32 tcode = 0;
ON__INT64 big_value = 0;
int flag;
Destroy();
ON_BOOL32 rc = file.BeginRead3dmBigChunk( &tcode, &big_value );
if (rc)
{
rc = ( tcode == TCODE_ANONYMOUS_CHUNK );
if (rc) rc = file.Read3dmChunkVersion(&major_version,&minor_version);
if (rc && major_version == 1) {
ON_Object* p;
int count;
ON_BOOL32 rc = file.ReadInt( &count );
if (rc) {
SetCapacity(count);
SetCount(count);
Zero();
int i;
for ( i = 0; rc && i < count && rc; i++ ) {
flag = 0;
rc = file.ReadInt(&flag);
if (rc && flag==1) {
p = 0;
rc = file.ReadObject( &p ); // polymorphic surfaces
m_a[i] = ON_Surface::Cast(p);
if ( !m_a[i] )
delete p;
}
}
}
}
else {
rc = false;
}
if ( !file.EndRead3dmChunk() )
rc = false;
}
return rc;
}