ON_BOOL32 ON_PlaneSurface::Read( ON_BinaryArchive& file // open binary file ) { int major_version = 0; int minor_version = 0; ON_BOOL32 rc = file.Read3dmChunkVersion(&major_version,&minor_version); if (rc && major_version == 1) { // common to all 1.x formats if (rc) rc = file.ReadPlane( m_plane ); if (rc) rc = file.ReadInterval( m_domain[0] ); if (rc) rc = file.ReadInterval( m_domain[1] ); m_extents[0] = m_domain[0]; m_extents[1] = m_domain[1]; if ( minor_version >= 1 ) { if (rc) rc = file.ReadInterval( m_extents[0] ); if (rc) rc = file.ReadInterval( m_extents[1] ); } } return rc; }
bool ON_ClippingPlane::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; ON_UUID viewport_id; rc = file.ReadUuid(viewport_id); if(!rc) break; if( 0 == minor_version ) m_viewport_ids.AddUuid( viewport_id ); rc = file.ReadUuid(m_plane_id); if (!rc) break; rc = file.ReadPlane(m_plane); if (!rc) break; rc = file.ReadBool(&m_bEnabled); if (!rc) break; if( minor_version > 0 ) { rc = m_viewport_ids.Read(file); if (!rc) break; } break; } if ( !file.EndRead3dmChunk() ) rc = false; return rc; }
ON_BOOL32 ON_Annotation::Read( ON_BinaryArchive& file ) { Destroy(); int major_version = 0; int minor_version = 0; ON_BOOL32 rc = file.Read3dmChunkVersion(&major_version,&minor_version); if ( rc && major_version == 1 ) { int i; if (rc) { rc = file.ReadInt( &i ); if (rc) m_type = ON::AnnotationType(i); } if (rc) rc = file.ReadPlane( m_plane ); if (rc) rc = file.ReadArray( m_points ); if (rc) rc = file.ReadString( m_usertext ); if (rc) rc = file.ReadString( m_defaulttext ); if( rc ) { rc = file.ReadInt( &i ); if (rc) m_userpositionedtext = i ? true : false; } } if( fabs( m_plane.origin.x) > REALLY_BIG_NUMBER || fabs( m_plane.origin.y) > REALLY_BIG_NUMBER || fabs( m_plane.origin.z) > REALLY_BIG_NUMBER) return false; for( int i = 0; i < m_points.Count(); i++) { if( fabs( m_points[i].x) > REALLY_BIG_NUMBER || fabs( m_points[i].y) > REALLY_BIG_NUMBER) return false; } return rc; }
ON_BOOL32 ON_PointCloud::Read( ON_BinaryArchive& file ) { int major_version = 0; int minor_version = 0; bool rc = file.Read3dmChunkVersion(&major_version,&minor_version); if (rc && major_version == 1 ) { if (rc) rc = file.ReadArray( m_P ); if (rc) rc = file.ReadPlane( m_plane ); if (rc) rc = file.ReadBoundingBox( m_bbox ); if (rc) rc = file.ReadInt( &m_flags); if (rc && minor_version >= 1 ) { if (rc) rc = file.ReadArray( m_N ); if (rc) rc = file.ReadArray( m_C ); } } return rc; }
BOOL ON_Hatch::Read( ON_BinaryArchive& ar) { m_plane.CreateFromNormal( ON_origin, ON_zaxis); m_pattern_scale = 1.0; m_pattern_rotation = 0.0; m_pattern_index = -1; m_loops.Empty(); int major_version = 0; int minor_version = 0; BOOL rc = ar.Read3dmChunkVersion( &major_version, &minor_version); if ( major_version == 1 ) { if( rc) rc = ar.ReadPlane( m_plane); if( rc) rc = ar.ReadDouble( &m_pattern_scale); if( rc) rc = ar.ReadDouble( &m_pattern_rotation); if( rc) rc = ar.ReadInt( &m_pattern_index); if( rc) { m_loops.Empty(); int i, count = 0; rc = ar.ReadInt( &count); if( rc && count > 0) { m_loops.SetCapacity( count ); for( i = 0; rc && i < count; i++) { ON_HatchLoop*& pLoop = m_loops.AppendNew(); pLoop = new ON_HatchLoop; if( pLoop) rc = pLoop->Read( ar); else rc = false; } } } } return rc; }