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; }
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; }
bool ON_BrepRegionArray::Read( ON_BinaryArchive& file ) { Empty(); int count = 0; int i; int major_version = 0; int minor_version = 0; bool rc = file.BeginRead3dmChunk( TCODE_ANONYMOUS_CHUNK, &major_version, &minor_version ); if (rc) { for(;;) { rc = (1 == major_version); if (!rc) break; if (rc) rc = file.ReadInt(&count); SetCapacity(count); for ( i = 0; i < count && rc ; i++ ) { ON_BrepRegion& region = AppendNew(); rc = region.Read(file)?true:false; } break; } if ( !file.EndRead3dmChunk() ) rc = false; } return rc; }
bool ON_2dexMap::AddIndex( int i, int j ) { bool rc = (0 == Find2dex(i)); if ( rc ) { ON_2dex& d = AppendNew(); d.i = i; d.j = j; m_bSorted = ( m_count < 2 || (m_bSorted && m_a[m_count-2].i < i) ); } return rc; }
void ON_2dexMap::SetOrAddIndex( int i, int j ) { ON_2dex* e = const_cast<ON_2dex*>(Find2dex(i)); if ( e ) { e->j = j; } else { ON_2dex& d = AppendNew(); d.i = i; d.j = j; m_bSorted = ( m_count < 2 || (m_bSorted && m_a[m_count-2].i < i) ); } }
bool ON_UuidIndexList::AddUuidIndex(ON_UUID uuid, int index, bool bCheckForDupicates) { bool rc = bCheckForDupicates ? !FindUuid(uuid,NULL) : true; if (rc) { if ( ON_max_uuid == uuid ) rc = 0; else { ON_UuidIndex& ui = AppendNew(); ui.m_id = uuid; ui.m_i = index; } } return rc; }
ON_BOOL32 ON_BrepFaceArray::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_BrepFace& face = AppendNew(); rc = face.Read(file)?true:false; } if ( minor_version >= 1 ) { // chunk version 1.1 and later has face uuids for ( i = 0; i < count && rc; i++ ) { rc = file.ReadUuid( m_a[i].m_face_uuid ); } } } else { rc = 0; } } if ( !file.EndRead3dmChunk() ) rc = false; } return rc; }
bool ON_UuidPairList::AddPair(ON_UUID id1, ON_UUID id2, bool bCheckForDupicates) { bool rc = bCheckForDupicates ? !FindId1(id1,0) : true; if (rc) { if ( ON_max_uuid == id1 && ON_max_uuid == id2 ) { // The value pair (ON_max_uuid,ON_max_uuid) is used // to mark removed elements. rc = false; } else { ON_UuidPair& ui = AppendNew(); ui.m_uuid[0] = id1; ui.m_uuid[1] = id2; } } return rc; }