#include <opennurbs_archive.h>
Public Types | |
enum | eStorageDeviceError : unsigned int { eStorageDeviceError::None = 0, eStorageDeviceError::WriteFailed = 0xFFFFFFF1, eStorageDeviceError::SeekFailedDuringWriting = 0xFFFFFFF2, eStorageDeviceError::ReadFailed = 0xFFFFFFF8, eStorageDeviceError::SeekFailedDuringReading = 0xFFFFFFF9, eStorageDeviceError::UnknownDeviceError = 0xFFFFFFFFU } |
Public Member Functions | |
ON_BinaryArchive (ON::archive_mode) | |
virtual | ~ON_BinaryArchive () |
ON_3dmArchiveTableType | Active3dmTable () const |
bool | AddManifestMapItem (const class ON_ManifestMapItem &map_item) |
const class ON_3dmProperties & | Archive3dmProperties () const |
const class ON_3dmSettings & | Archive3dmSettings () const |
const ON_String & | Archive3dmStartSectionComment () const |
const ON_3dmArchiveTableStatus | Archive3dmTableStatus (ON_3dmArchiveTableType table_type) |
int | Archive3dmVersion () const |
If a 3dm archive is being read or written, then this is the version of the 3dm archive format (1, 2, 3, 4, 5, 50, 60, ...). More... | |
bool | ArchiveContains3dmTable (ON_3dmArchiveTableType table) const |
As time passes, more tables have been added to 3dm archives. More... | |
const ON_DimStyle & | ArchiveCurrentDimStyle () const |
const ON_UUID | ArchiveCurrentDimStyleId () const |
const int | ArchiveCurrentDimStyleIndex () const |
const ON_wString & | ArchiveDirectoryName () const |
const wchar_t * | ArchiveDirectoryNameAsPointer () const |
bool | ArchiveFileMoved () const |
const ON_wString & | ArchiveFileName () const |
const wchar_t * | ArchiveFileNameAsPointer () const |
const ON_wString & | ArchiveFullPath () const |
const wchar_t * | ArchiveFullPathAsPointer () const |
unsigned int | ArchiveOpenNURBSVersion () const |
If a 3dm archive is being read, then this is the version of openNURBS that was used to write the archive. This value is only available after ON_BinaryArchive::Read3dmProperties is called. More... | |
ON::RuntimeEnvironment | ArchiveRuntimeEnvironment () const |
const ON_wString & | ArchiveSavedAsFullPath () const |
const wchar_t * | ArchiveSavedAsFullPathPointer () const |
size_t | ArchiveStartOffset () const |
When a 3dm archive is saved from an MFC application that supports Windows linking/embedding, the first 5kb to 1mb of the file contains information that is put there by MFC. ArchiveStartOffset() returns the offset into the file where the 3dm archive actually begins. The call to ON_BinaryArchive::Read3dmStartSection() calculates this offset and stores the value in m_3dm_start_section_offset. More... | |
const ON_TextStyle * | ArchiveTextStyleFromArchiveTextStyleIndex (int archive_text_style_index) const |
When reading version 5 and earlier files that contain a text style table, this function can be used to get the archive text style from the archive text style index. This function is used when reading V5 and pre August 2016 V6 ON_DimStyle information. More... | |
virtual bool | AtEnd () const =0 |
unsigned int | BadCRCCount () const |
bool | BeginRead3dmAnonymousChunk (int *version) |
Calls BeginWRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version), checks that 1 == major_version, minor_version >= 0 and returns the value of minor_version as version. More... | |
bool | BeginRead3dmBigChunk (unsigned int *, ON__INT64 *) |
bool | BeginRead3dmBitmapTable () |
bool | BeginRead3dmChunk (unsigned int expected_tcode, int *major_version, int *minor_version) |
Begins reading a chunk that must be in the archive at this location. More... | |
bool | BeginRead3dmDimStyleTable () |
bool | BeginRead3dmGroupTable () |
bool | BeginRead3dmHatchPatternTable () |
bool | BeginRead3dmHistoryRecordTable () |
bool | BeginRead3dmInstanceDefinitionTable () |
bool | BeginRead3dmLayerTable () |
bool | BeginRead3dmLightTable () |
bool | BeginRead3dmLinetypeTable () |
bool | BeginRead3dmMaterialTable () |
bool | BeginRead3dmObjectTable () |
bool | BeginRead3dmTextureMappingTable () |
bool | BeginRead3dmUserTable (ON_UUID &plugin_id, bool *bLastSavedAsGoo, int *archive_3dm_version, unsigned int *archive_opennurbs_version) |
bool | BeginReadDictionary (ON_UUID *dictionary_id, unsigned int *version, ON_wString &dictionary_name) |
int | BeginReadDictionaryEntry (int *de_type, ON_wString &entry_name) |
Begin reading a dictionary entry. More... | |
bool | BeginWrite3dmAnonymousChunk (int version) |
If version >= 0, calls BeginWrite3dmChunk(TCODE_ANONYMOUS_CHUNK,1,version). More... | |
bool | BeginWrite3dmBigChunk (ON__UINT32 typecode, ON__INT64 value) |
bool | BeginWrite3dmBitmapTable () |
bool | BeginWrite3dmChunk (unsigned int, int) |
Writes a chunk header containing 4 byte typecode and value. More... | |
bool | BeginWrite3dmChunk (unsigned int tcode, int major_version, int minor_version) |
Begins writing a chunk. More... | |
bool | BeginWrite3dmDimStyleTable () |
bool | BeginWrite3dmGroupTable () |
bool | BeginWrite3dmHatchPatternTable () |
bool | BeginWrite3dmHistoryRecordTable () |
bool | BeginWrite3dmInstanceDefinitionTable () |
bool | BeginWrite3dmLayerTable () |
bool | BeginWrite3dmLightTable () |
bool | BeginWrite3dmLinetypeTable () |
bool | BeginWrite3dmMaterialTable () |
bool | BeginWrite3dmObjectTable () |
bool | BeginWrite3dmTextureMappingTable () |
bool | BeginWrite3dmUserTable (ON_UUID plugin_id, bool bSavingGoo, int goo_3dm_version, unsigned int goo_opennurbs_version) |
Write the user table header information that must precede the user table information written by a plug-in. More... | |
bool | BeginWrite3dmUserTable (const ON_UUID &) |
bool | BeginWriteDictionary (ON_UUID dictionary_id, unsigned int version, const wchar_t *dictionary_name) |
Begins writing a dictionary. More... | |
bool | BeginWriteDictionaryEntry (int de_type, const wchar_t *entry_name) |
Begins writing a dictionary entry. More... | |
bool | ChunkBoundaryCheck () const |
void | ClearModelSerialNumber () |
Clear() information set by SetModelSerialNumber() do not modify ON_ModelComponent model serial number information when the classes are read. More... | |
unsigned int | CriticalErrorCount () const |
ON__UINT64 | CurrentPosition () const |
unsigned int | Dump3dmChunk (ON_TextLog &text_log, int recursion_depth=0) |
Expert user function for studying contents of a file. The primary use is as an aid to help dig through files that have been damaged (bad disks, transmission errors, etc.) If an error is found, a line that begins with the word "ERROR" is printed. More... | |
bool | EnableCRCCalculation (bool bEnable) |
Expert user function to control CRC calculation while reading and writing. Typically this is used when seeking around and reading/writing information in non-serial order. More... | |
void | EnableSave3dmAnalysisMeshes (unsigned int object_type_flags, bool bSave3dmAnalysisMeshes) |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save analysis meshes in the 3dm file. More... | |
void | EnableSave3dmRenderMeshes (unsigned int object_type_flags, bool bSave3dmRenderMeshes) |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save render meshes in the 3dm file. More... | |
ON::endian | Endian () const |
bool | EndRead3dmBitmapTable () |
bool | EndRead3dmChunk () |
Calling this will skip rest of stuff in chunk if it was only partially read. More... | |
bool | EndRead3dmChunk (bool bSupressPartiallyReadChunkWarning) |
bool | EndRead3dmDimStyleTable () |
bool | EndRead3dmGroupTable () |
bool | EndRead3dmHatchPatternTable () |
bool | EndRead3dmHistoryRecordTable () |
bool | EndRead3dmInstanceDefinitionTable () |
bool | EndRead3dmLayerTable () |
bool | EndRead3dmLightTable () |
bool | EndRead3dmLinetypeTable () |
bool | EndRead3dmMaterialTable () |
bool | EndRead3dmObjectTable () |
bool | EndRead3dmTextureMappingTable () |
bool | EndRead3dmUserTable () |
bool | EndReadDictionary () |
bool | EndReadDictionaryEntry () |
bool | EndWrite3dmBitmapTable () |
bool | EndWrite3dmChunk () |
updates length in chunk header More... | |
bool | EndWrite3dmDimStyleTable () |
bool | EndWrite3dmGroupTable () |
bool | EndWrite3dmHatchPatternTable () |
bool | EndWrite3dmHistoryRecordTable () |
bool | EndWrite3dmInstanceDefinitionTable () |
bool | EndWrite3dmLayerTable () |
bool | EndWrite3dmLightTable () |
bool | EndWrite3dmLinetypeTable () |
bool | EndWrite3dmMaterialTable () |
bool | EndWrite3dmObjectTable () |
bool | EndWrite3dmTextureMappingTable () |
bool | EndWrite3dmUserTable () |
bool | EndWriteDictionary () |
Begins writing a dictionary entry. More... | |
bool | EndWriteDictionaryEntry () |
bool | FindTableInDamagedArchive (unsigned int tcode_table, unsigned int tcode_record, ON_UUID class_uuid, int min_length_data) |
Expert user function for reading damaged files. The search starts at the beginning of the file. More... | |
ON_3dmArchiveTableType | FirstFailed3dmTable () const |
virtual bool | Flush ()=0 |
Force Write() to flush any buffered data to physical archive. More... | |
int | GetCurrentChunk (ON_3DM_CHUNK &chunk) const |
Expert user function for reading damaged files. More... | |
int | GetCurrentChunk (ON_3DM_BIG_CHUNK &big_chunk) const |
unsigned int | InstanceDefinitionModelSerialNumber () const |
bool | Internal_Read3dmDimStyleOverrides (class ON_Annotation &annotation, bool bFromDimStyleTable) |
bool | Internal_Write3dmDimStyleOverrides (const class ON_Annotation &annotation, const class ON_DimStyle *dim_style_overrides) |
virtual int | LoadUserDataApplication (ON_UUID application_id) |
When ON_BinaryArchive::ReadObject() encounters userdata and the user data class id is not present, LoadUserDataApplication is called to load the application that created user data. More... | |
const class ON_ComponentManifest & | Manifest () const |
const class ON_ManifestMap & | ManifestMap () const |
ON::archive_mode | Mode () const |
unsigned int | ModelSerialNumber () const |
bool | ObjectHasUserDataToWrite (const class ON_Object *object) const |
Determine if an object has user data that should be written. More... | |
ON_DEPRECATED_MSG ("Use either ReadStringUTF8ElementCount() or ReadStringUTF16ElementCount()") bool ReadStringSize(size_t *str_array_count) | |
bool | PeekAt3dmBigChunkType (ON__UINT32 *typecode, ON__INT64 *big_value) |
bool | PeekAt3dmChunkType (unsigned int *, int *) |
ON_3dmArchiveTableType | Previous3dmTable () const |
bool | Read3dmAnonymousUserTable (int archive_3dm_version, unsigned int archive_opennurbs_version, ON_3dmGoo &goo) |
If the plug-in that wrote the user table is not present and you need to read and resave the user table, then use Read3dmAnonymousUserTable() to load the information into "goo". If you do not need to resave the information, then simply call EndRead3dmUserTable() to skip over this table. More... | |
int | Read3dmBitmap (class ON_Bitmap **) |
bool | Read3dmChunkVersion (int *, int *) |
int | Read3dmDimStyle (class ON_DimStyle **ppDimStyle) |
Reads annotation dimension styles from dimension style table. If the dimension style definition is read, a dimension style is created by calling new ON_DimStyle(), initialized with values stored in the archive, and returned. More... | |
bool | Read3dmEndMark (size_t *) |
Checks for a TCODE_ENDOFFILE chunk at the current position. If it finds one, it reads it and returns the number of bytes in the archive. Comparing this number with the current file position can help detect files that have been damaged by loosing sections. More... | |
bool | Read3dmGoo (ON_3dmGoo &) |
int | Read3dmGroup (class ON_Group **) |
Reads groups from group table. If the group definition is read, a group is created by calling new ON_Group(), initialized with values stored in the archive, and returned. More... | |
int | Read3dmHatchPattern (class ON_HatchPattern **) |
int | Read3dmHistoryRecord (class ON_HistoryRecord *&) |
int | Read3dmInstanceDefinition (class ON_InstanceDefinition **) |
Reads instance definitions from instance defintion table. More... | |
int | Read3dmLayer (ON_Layer **) |
int | Read3dmLight (class ON_Light **light, class ON_3dmObjectAttributes *attributes) |
int | Read3dmLinetype (class ON_Linetype **) |
int | Read3dmMaterial (class ON_Material **) |
int | Read3dmModelGeometry (class ON_ModelGeometryComponent **model_geometry, unsigned int object_filter=0) |
int | Read3dmModelGeometryForExperts (bool bManageGeometry, bool bManageAttributes, class ON_ModelGeometryComponent **model_geometry, unsigned int object_filter) |
int | Read3dmModelLight (class ON_ModelGeometryComponent **model_light) |
int | Read3dmObject (ON_Object **model_object, ON_3dmObjectAttributes *attributes, unsigned int object_filter=0) |
bool | Read3dmProperties (class ON_3dmProperties &) |
bool | Read3dmReferencedComponentId (ON_ModelComponent::Type component_type, ON_UUID *component_id) |
When reading 3dm archives, the model component ID in the archive and in the destination model are often identical, but sometimes different. For example, the when the same template is used to create multiple models and files and the models from those files are merged into a single file, there will be ID collisions. For components that are identified by name, like layers and dimension styles, this is not a problem. For components like instance definitions that have a more complicated set of merging rules, it is critical that references to instance definition ids be updated from values in the arcive to values in the model. uses to adjust and write a model component Id. More... | |
bool | Read3dmReferencedComponentIndex (ON_ModelComponent::Type component_type, int *component_index) |
When reading 3dm archives, model component indexes in the archive and in the destination model are typically different. This function basically reads and reverses the steps that WriteArchiveComponentIndex() uses to adjust and write a model component index. More... | |
bool | Read3dmReferencedComponentIndexArray (ON_ModelComponent::Type component_type, ON_SimpleArray< int > &component_index_array) |
bool | Read3dmSettings (class ON_3dmSettings &) |
bool | Read3dmStartSection (int *version, ON_String &sStartSectionComment) |
int | Read3dmTextureMapping (class ON_TextureMapping **) |
bool | ReadArc (ON_Arc &) |
bool | ReadArray (ON_SimpleArray< bool > &) |
bool | ReadArray (ON_SimpleArray< char > &) |
bool | ReadArray (ON_SimpleArray< short > &) |
bool | ReadArray (ON_SimpleArray< int > &) |
bool | ReadArray (ON_SimpleArray< float > &) |
bool | ReadArray (ON_SimpleArray< double > &) |
bool | ReadArray (ON_SimpleArray< ON_Color > &) |
bool | ReadArray (ON_SimpleArray< ON_2dPoint > &) |
bool | ReadArray (ON_SimpleArray< ON_3dPoint > &) |
bool | ReadArray (ON_SimpleArray< ON_4dPoint > &) |
bool | ReadArray (ON_SimpleArray< ON_2dVector > &) |
bool | ReadArray (ON_SimpleArray< ON_3dVector > &) |
bool | ReadArray (ON_SimpleArray< ON_Xform > &) |
bool | ReadArray (ON_SimpleArray< ON_2fPoint > &) |
bool | ReadArray (ON_SimpleArray< ON_3fPoint > &) |
bool | ReadArray (ON_SimpleArray< ON_4fPoint > &) |
bool | ReadArray (ON_SimpleArray< ON_2fVector > &) |
bool | ReadArray (ON_SimpleArray< ON_3fVector > &) |
bool | ReadArray (ON_SimpleArray< ON_UUID > &) |
bool | ReadArray (ON_SimpleArray< ON_UuidIndex > &) |
bool | ReadArray (ON_SimpleArray< ON_UuidPtr > &) |
bool | ReadArray (ON_SimpleArray< ON_SurfaceCurvature > &) |
bool | ReadArray (ON_ClassArray< ON_String > &) |
bool | ReadArray (ON_ClassArray< ON_wString > &) |
bool | ReadArray (ON_SimpleArray< ON_DisplayMaterialRef > &) |
bool | ReadArray (ON_SimpleArray< ON_LinetypeSegment > &) |
bool | ReadArray (ON_SimpleArray< ON_MappingChannel > &) |
bool | ReadArray (ON_ClassArray< ON_MaterialRef > &) |
bool | ReadArray (ON_ClassArray< ON_MappingRef > &) |
bool | ReadArray (ON_ClassArray< class ON_ObjRef > &) |
bool | ReadArray (ON_SimpleArray< class ON_ObjRef_IRefID > &) |
bool | ReadArray (ON_SimpleArray< class ON_ClippingPlaneInfo > &) |
bool | ReadArray (ON_ObjectArray< class ON_Layer > &) |
bool | ReadArray (ON_SimpleArray< class ON_Layer *> &) |
bool | ReadBigInt (size_t, ON__INT64 *) |
bool | ReadBigInt (size_t, ON__UINT64 *) |
bool | ReadBigInt (ON__INT64 *) |
bool | ReadBigInt (ON__UINT64 *) |
bool | ReadBigSize (size_t *) |
bool | ReadBigTime (time_t *) |
bool | ReadBool (bool *) |
bool | ReadBoundingBox (ON_BoundingBox &) |
ON__UINT64 | ReadBuffer (ON__UINT64 sizeof_buffer, void *buffer) |
Expert user function that uses Read() to load a buffer. Paramters: sizeof_buffer - [in] number of bytes to attempt to read. buffer - [out] read bytes are stored in this buffer More... | |
bool | ReadByte (size_t, void *) |
bool | ReadChar (size_t, char *) |
bool | ReadChar (size_t, unsigned char *) |
bool | ReadChar (char *) |
bool | ReadChar (unsigned char *) |
bool | ReadCircle (ON_Circle &) |
bool | ReadColor (ON_Color &) |
bool | ReadComponentIndex (ON_COMPONENT_INDEX &) |
bool | ReadCompressedBuffer (size_t sizeof__outbuffer, void *outbuffer, bool *bFailedCRC) |
Read compressed information from an archive and uncompress it. More... | |
bool | ReadCompressedBufferSize (size_t *sizeof__outbuffer) |
Red the size of a compressed buffer. More... | |
bool | ReadDisplayMaterialRef (ON_DisplayMaterialRef &) |
bool | ReadDouble (size_t, double *) |
bool | ReadDouble (double *) |
bool | ReadFloat (size_t, float *) |
bool | ReadFloat (float *) |
bool | ReadInt (size_t, int *) |
bool | ReadInt (size_t, unsigned int *) |
bool | ReadInt (int *) |
bool | ReadInt (unsigned int *) |
bool | ReadInterval (ON_Interval &) |
bool | ReadLine (ON_Line &) |
bool | ReadLinetypeSegment (ON_LinetypeSegment &) |
bool | ReadLong (size_t, long *) |
bool | ReadLong (size_t, unsigned long *) |
bool | ReadLong (long *) |
bool | ReadLong (unsigned long *) |
bool | ReadMode () const |
bool | ReadModelComponentAttributes (ON_ModelComponent &model_component, unsigned int *attributes_filter) |
Reads the attributes the Write() function writes. More... | |
int | ReadObject (ON_Object **ppObject) |
Reads and object from a 3dm archive; More... | |
int | ReadObject (ON_Object &object) |
Reads and object from a 3dm archive. More... | |
bool | ReadObjectUserData (ON_Object &object) |
Low level tool to read user data and attach it to the object. This function should never be called directly. More... | |
bool | ReadPlane (ON_Plane &) |
bool | ReadPlaneEquation (ON_PlaneEquation &) |
bool | ReadPoint (ON_2dPoint &) |
bool | ReadPoint (ON_3dPoint &) |
bool | ReadPoint (ON_4dPoint &) |
bool | ReadShort (size_t, short *) |
bool | ReadShort (size_t, unsigned short *) |
bool | ReadShort (short *) |
bool | ReadShort (unsigned short *) |
bool | ReadSize (size_t *) |
bool | ReadString (size_t str_array_count, char *str_array) |
bool | ReadString (size_t str_array_count, unsigned char *str_array) |
bool | ReadString (size_t str_array_count, unsigned short *str_array) |
bool | ReadString (ON_String &sUTF8) |
bool | ReadString (ON_wString &s) |
bool | ReadStringUTF16ElementCount (size_t *string_utf16_element_count) |
bool | ReadStringUTF8ElementCount (size_t *string_utf8_element_count) |
bool | ReadTime (struct tm &) |
bool | ReadUuid (ON_UUID &) |
bool | ReadV1_TCODE_ANNOTATION (unsigned int, ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_LEGACY_CRV (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_LEGACY_FAC (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_LEGACY_SHL (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_MESH_OBJECT (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_RH_POINT (ON_Object **, ON_3dmObjectAttributes *) |
helpers for reading V1 objects More... | |
bool | ReadV1_TCODE_RHINOIO_OBJECT_BREP (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_RHINOIO_OBJECT_NURBS_CURVE (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadV1_TCODE_RHINOIO_OBJECT_NURBS_SURFACE (ON_Object **, ON_3dmObjectAttributes *) |
bool | ReadVector (ON_2dVector &) |
bool | ReadVector (ON_3dVector &) |
bool | ReadWideString (ON_wString &wide_string) |
Read a wide string written with the WriteWideString() function. More... | |
bool | ReadXform (ON_Xform &) |
bool | ReferencedComponentIdMapping () const |
bool | ReferencedComponentIndexMapping () const |
unsigned int | ReferenceModelSerialNumber () const |
bool | Save3dmAnalysisMesh (ON::object_type object_type) const |
unsigned int | Save3dmAnalysisMeshObjectTypeFlags () const |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save analysis meshes in the 3dm file. More... | |
bool | Save3dmPreviewImage () const |
bool | Save3dmRenderMesh (ON::object_type object_type) const |
unsigned int | Save3dmRenderMeshObjectTypeFlags () const |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save render meshes in the 3dm file. More... | |
bool | Seek3dmChunkFromCurrentPosition (unsigned int) |
bool | Seek3dmChunkFromStart (unsigned int) |
bool | SeekBackward (ON__UINT64 bytes_backward) |
Reduce the archive's current position by bytes_backward from the current position. More... | |
bool | SeekForward (ON__UINT64 bytes_forward) |
Increase the archive's current position to bytes_forward from the current position. More... | |
bool | SeekFromStart (ON__UINT64 bytes_from_start) |
Set current position to bytes_from_start many bytes from the start of the archive. More... | |
bool | SetArchive3dmVersion (int) |
void | SetArchiveFullPath (const wchar_t *archive_full_path) |
void | SetArchiveFullPath (const wchar_t *archive_directory_name, const wchar_t *archive_file_name) |
void | SetChunkBoundaryCheck (bool bChunkBoundaryCheck) |
void | SetModelSerialNumber (unsigned int model_serial_number, unsigned int reference_model_serial_number, unsigned int instance_definition_model_serial_number) |
Specify model serial number attributes to assign to ON_ModelComponent classes when they are read. More... | |
void | SetReferencedComponentIdMapping (bool bEnableReferenceComponentIdMapping) |
Set the archive's ReferencedComponentIdMapping() state. More... | |
void | SetReferencedComponentIndexMapping (bool bEnableReferenceComponentIndexMapping) |
Set the archive's ReferencedComponentIndexMapping() state. More... | |
void | SetSave3dmPreviewImage (bool bSave3dmPreviewImage) |
bool | SetShouldSerializeUserDataDefault (bool bSerialize) |
Specify the serialization option for object user data and user tables that are not explicity set by SetShouldSerializeUserDataItem(). More... | |
bool | SetShouldSerializeUserDataItem (ON_UUID application_id, ON_UUID item_id, bool bSerializeUserDataItem) |
Specify if an application's (plug-in's) object user data or user table should be read or written. More... | |
void | SetStorageDeviceError (ON_BinaryArchive::eStorageDeviceError storage_device_error) |
A non-zero storage device error terminates reading or writing. See the ON_BinaryArchive::eStorageDeviceError for values. Parameter: storage_device_error - [in] A non-zero code that identifies an error the terminates reading or writing. See ON_BinaryArchive::CriticalErrorCodes for values More... | |
void | SetStorageDeviceError (unsigned int storage_device_error) |
void | SetUseBufferCompression (bool bUseBufferCompression) |
Control when some information, like preview images and mesh information, is compressed when writing 3dm archives. The default is true. In special situations when the storage media is extremely fast and large file size is not a concern, disabling buffer compression can reduce file write time. More... | |
bool | ShouldSerializeAllUserData () const |
bool | ShouldSerializeNoUserData () const |
bool | ShouldSerializeSomeUserData () const |
bool | ShouldSerializeUserDataDefault () const |
bool | ShouldSerializeUserDataItem (ON_UUID application_id, ON_UUID item_id) const |
Determine if an application's (plug-in's) object user data or user table should be read or written. More... | |
bool | ShouldWriteUserDataItem (const class ON_Object *object, const class ON_UserData *object_user_data) const |
size_t | SizeofChunkLength () const |
unsigned int | StorageDeviceError () const |
An error terminated reading or writing More... | |
bool | UnsetMode () const |
bool | UpdateManifestMapItemDestination (const class ON_ManifestMapItem &map_item) |
When an application is reading an archive and changes the index or id of a model component as it is added to the model, then it needs to update the manifest map item destination settings. More... | |
bool | UseBufferCompression () const |
bool | Write3dmAnonymousUserTable (const class ON_3dmGoo &) |
bool | Write3dmAnonymousUserTableRecord (ON_UUID plugin_id, int goo_3dm_version, unsigned int goo_opennurbs_version, const class ON_3dmGoo &goo) |
If Read3dmAnaonymousUserTable() was used to read ON_3dmGoo because a plug-in was not present, then use Write3dmAnonymousUserTableRecord() to put than information back into the archive. Write3dmAnonymousUserTableRecord() writes the entire record. Do NOT call BeginWrite3dmUserTable() / EndWrite3dmUserTable() when using Write3dmAnonymousUserTableRecord(). More... | |
bool | Write3dmBitmap (const class ON_Bitmap &) |
bool | Write3dmChunkVersion (int, int) |
bool | Write3dmDimStyle (const class ON_DimStyle &) |
bool | Write3dmDimStyleComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmDimStyleComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmEndMark () |
Writes a TCODE_ENDOFFILE chunk that contains the number of bytes in the archive. More... | |
bool | Write3dmGoo (const ON_3dmGoo &) |
bool | Write3dmGroup (const class ON_Group &) |
bool | Write3dmGroupComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmGroupComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmHatchPattern (const class ON_HatchPattern &) |
bool | Write3dmHatchPatternComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmHatchPatternComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmHistoryRecord (const class ON_HistoryRecord &) |
bool | Write3dmHistoryRecordComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmHistoryRecordComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmImageComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmImageComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmInstanceDefinition (const class ON_InstanceDefinition &) |
bool | Write3dmInstanceDefinitionComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmInstanceDefinitionComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmLayer (const ON_Layer &) |
bool | Write3dmLayerComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmLayerComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmLight (const class ON_Light &, const class ON_3dmObjectAttributes *) |
bool | Write3dmLinePatternComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmLinePatternComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmLinetype (const class ON_Linetype &line_pattern) |
bool | Write3dmMaterial (const class ON_Material &) |
bool | Write3dmMaterialComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmMaterialComponent (const class ON_ModelComponent *model_component) |
bool | Write3dmModelGeometryComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmModelGeometryComponent (const class ON_ModelGeometryComponent *model_geometry) |
bool | Write3dmModelLightComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmModelLightComponent (const class ON_ModelGeometryComponent *model_light) |
bool | Write3dmObject (const ON_Object &, const ON_3dmObjectAttributes *) |
bool | Write3dmProperties (const class ON_3dmProperties &) |
bool | Write3dmReferencedComponentId (ON_ModelComponent::Type component_type, ON_UUID model_component_id) |
WriteComponentId converts the model ID into an archive ID and writes the archive Id value. Generally, the ID of the component in the model is identical to the ID of the component in the archive. In rare situations this is not the case. More... | |
bool | Write3dmReferencedComponentId (const ON_ModelComponent &model_component) |
bool | Write3dmReferencedComponentIndex (ON_ModelComponent::Type component_type, int model_component_index) |
When writing archives, the index of the component in the model is often different than the index of the component in the archive. WriteComponentIndex converts the model id or index into an archive index and writes the archive index value. More... | |
bool | Write3dmReferencedComponentIndex (ON_ModelComponent::Type component_type, ON_UUID model_component_id) |
When writing archives, the index of the component in the model is often different than the index of the component in the archive. WriteComponentIndex converts the model id or index into an archive index and writes the archive index value. More... | |
bool | Write3dmReferencedComponentIndex (const ON_ModelComponent &model_component) |
When writing archives, the index of the component in the model is often different than the index of the component in the archive. WriteComponentIndex converts the model id or index into an archive index and writes the archive index value. More... | |
bool | Write3dmSettings (const class ON_3dmSettings &) |
bool | Write3dmStartSection (int version, const char *sStartSectionComment) |
bool | Write3dmTextureMapping (const class ON_TextureMapping &) |
bool | Write3dmTextureMappingComponent (const class ON_ModelComponentReference &model_component_reference) |
bool | Write3dmTextureMappingComponent (const class ON_ModelComponent *model_component) |
bool | WriteArc (const ON_Arc &) |
bool | WriteArray (const ON_SimpleArray< bool > &) |
bool | WriteArray (const ON_SimpleArray< char > &) |
bool | WriteArray (const ON_SimpleArray< short > &) |
bool | WriteArray (const ON_SimpleArray< int > &) |
bool | WriteArray (const ON_SimpleArray< float > &) |
bool | WriteArray (const ON_SimpleArray< double > &) |
bool | WriteArray (const ON_SimpleArray< ON_Color > &) |
bool | WriteArray (const ON_SimpleArray< ON_2dPoint > &) |
bool | WriteArray (const ON_SimpleArray< ON_3dPoint > &) |
bool | WriteArray (const ON_SimpleArray< ON_4dPoint > &) |
bool | WriteArray (const ON_SimpleArray< ON_2dVector > &) |
bool | WriteArray (const ON_SimpleArray< ON_3dVector > &) |
bool | WriteArray (const ON_SimpleArray< ON_2fPoint > &) |
bool | WriteArray (const ON_SimpleArray< ON_3fPoint > &) |
bool | WriteArray (const ON_SimpleArray< ON_4fPoint > &) |
bool | WriteArray (const ON_SimpleArray< ON_2fVector > &) |
bool | WriteArray (const ON_SimpleArray< ON_3fVector > &) |
bool | WriteArray (const ON_SimpleArray< ON_Xform > &) |
bool | WriteArray (const ON_SimpleArray< ON_UUID > &) |
bool | WriteArray (const ON_SimpleArray< ON_UuidIndex > &) |
bool | WriteArray (const ON_SimpleArray< ON_UuidPtr > &) |
bool | WriteArray (const ON_SimpleArray< ON_SurfaceCurvature > &) |
bool | WriteArray (const ON_ClassArray< ON_String > &) |
bool | WriteArray (const ON_ClassArray< ON_wString > &) |
bool | WriteArray (const ON_SimpleArray< ON_DisplayMaterialRef > &) |
bool | WriteArray (const ON_SimpleArray< ON_LinetypeSegment > &) |
bool | WriteArray (const ON_SimpleArray< ON_MappingChannel > &) |
bool | WriteArray (const ON_ClassArray< ON_MaterialRef > &) |
bool | WriteArray (const ON_ClassArray< ON_MappingRef > &) |
bool | WriteArray (const ON_ClassArray< class ON_ObjRef > &) |
bool | WriteArray (const ON_SimpleArray< class ON_ObjRef_IRefID > &) |
bool | WriteArray (const ON_SimpleArray< class ON_ClippingPlaneInfo > &) |
bool | WriteArray (int count, const class ON_Layer *) |
bool | WriteArray (int count, const class ON_Layer *const *) |
bool | WriteBigInt (size_t, const ON__INT64 *) |
bool | WriteBigInt (size_t, const ON__UINT64 *) |
bool | WriteBigInt (ON__INT64) |
bool | WriteBigInt (ON__UINT64) |
bool | WriteBigSize (size_t) |
bool | WriteBigTime (time_t) |
bool | WriteBool (bool) |
bool | WriteBoolFalse () |
bool | WriteBoolTrue () |
bool | WriteBoundingBox (const ON_BoundingBox &) |
bool | WriteByte (size_t, const void *) |
bool | WriteChar (size_t, const char *) |
bool | WriteChar (size_t, const unsigned char *) |
bool | WriteChar (char) |
bool | WriteChar (unsigned char) |
bool | WriteCircle (const ON_Circle &) |
bool | WriteColor (const ON_Color &) |
bool | WriteComponentIndex (const ON_COMPONENT_INDEX &) |
bool | WriteCompressedBuffer (size_t sizeof__inbuffer, const void *inbuffer) |
Compress buffer and write the compressed information to the archive. More... | |
bool | WriteDisplayMaterialRef (const ON_DisplayMaterialRef &) |
bool | WriteDouble (size_t, const double *) |
bool | WriteDouble (double) |
bool | WriteFloat (size_t, const float *) |
bool | WriteFloat (float) |
bool | WriteInt (size_t, const int *) |
bool | WriteInt (size_t, const unsigned int *) |
bool | WriteInt (int) |
bool | WriteInt (unsigned int) |
bool | WriteInterval (const ON_Interval &) |
bool | WriteLine (const ON_Line &) |
bool | WriteLinetypeSegment (const ON_LinetypeSegment &) |
bool | WriteLong (size_t, const long *) |
bool | WriteLong (size_t, const unsigned long *) |
bool | WriteLong (long) |
bool | WriteLong (unsigned long) |
bool | WriteMode () const |
bool | WriteModelComponentAttributes (const class ON_ModelComponent &model_component, unsigned int attributes_filter) |
Writes the attributes identified by the component_filter parameter. More... | |
bool | WriteModelComponentName (const ON_ModelComponent &model_component) |
bool | WriteObject (const ON_Object *) |
bool | WriteObject (const ON_Object &) |
bool | WriteObjectUserData (const ON_Object &object) |
Low level tool to writes user data attached to the object. This function should never be called directly. More... | |
bool | WritePlane (const ON_Plane &) |
bool | WritePlaneEquation (const ON_PlaneEquation &) |
bool | WritePoint (const ON_2dPoint &) |
bool | WritePoint (const ON_3dPoint &) |
bool | WritePoint (const ON_4dPoint &) |
bool | WriteShort (size_t, const short *) |
bool | WriteShort (size_t, const unsigned short *) |
bool | WriteShort (short) |
bool | WriteShort (unsigned short) |
bool | WriteSize (size_t) |
bool | WriteString (const char *sUTF8) |
bool | WriteString (const unsigned char *sUTF8) |
bool | WriteString (const ON_String &sUTF8) |
bool | WriteString (const ON_wString &s) |
bool | WriteTime (const struct tm &) |
bool | WriteUTF16String (const unsigned short *sUTF16) |
bool | WriteUuid (const ON_UUID &) |
bool | WriteVector (const ON_2dVector &) |
bool | WriteVector (const ON_3dVector &) |
bool | WriteWideString (const wchar_t *sWideChar, int sWideChar_count) |
Write a wide string as a UTF-8 encoded string. More... | |
bool | WriteWideString (const ON_wString &wide_string) |
Write a wide string as a UTF-8 encoded string. More... | |
bool | WriteXform (const ON_Xform &) |
Static Public Member Functions | |
static bool | ArchiveContains3dmTable (ON_3dmArchiveTableType table, unsigned int archive_3dm_version, unsigned int opennurbs_library_version) |
static unsigned int | ArchiveOpenNURBSVersionToWrite (unsigned int archive_3dm_version, unsigned int opennurbs_version) |
If a 3dm archive is being written to a version 2,3,4 or 50 format, then new format opennurbs version numbers need to be saved in the old YYYYMMDDN format. This function returns the value that should be written in the file. More... | |
static int | CurrentArchiveVersion () |
static char * | ON_TypecodeParse (unsigned int tcode, char *typecode_name, size_t max_length) |
static ON_BinaryArchive::eStorageDeviceError | StorageDeviceErrorFromUnsigned (unsigned int storage_device_error_as_unsigned) |
static ON_ModelComponent::Type | TableComponentType (ON_3dmArchiveTableType table_type) |
static bool | ToggleByteOrder (size_t, size_t, const void *, void *) |
Tool for swapping bytes when doing I/O on using big endian CPUs. More... | |
static const char * | TypecodeName (unsigned int tcode) |
Protected Member Functions | |
unsigned int | ErrorMessageMask () const |
virtual ON__UINT64 | Internal_CurrentPositionOverride () const =0 |
virtual size_t | Internal_ReadOverride (size_t, void *)=0 |
virtual bool | Internal_SeekFromCurrentPositionOverride (int)=0 |
virtual bool | Internal_SeekToStartOverride ()=0 |
virtual size_t | Internal_WriteOverride (size_t, const void *)=0 |
bool | MaskReadError (ON__UINT64 sizeof_request, ON__UINT64 sizeof_read) const |
Friends | |
void | ON_SetBinaryArchiveOpenNURBSVersion (ON_BinaryArchive &, unsigned int) |
|
strong |
ON_BinaryArchive::ON_BinaryArchive | ( | ON::archive_mode | ) |
|
virtual |
ON_3dmArchiveTableType ON_BinaryArchive::Active3dmTable | ( | ) | const |
Use ON_BinaryArchive::Mode() to determine if a binary archive is being read or written. Use ON_BinaryArchive::Previous3dmTable() to determine the most recent table that was successfully read and finished.
bool ON_BinaryArchive::AddManifestMapItem | ( | const class ON_ManifestMapItem & | map_item | ) |
const class ON_3dmProperties& ON_BinaryArchive::Archive3dmProperties | ( | ) | const |
const class ON_3dmSettings& ON_BinaryArchive::Archive3dmSettings | ( | ) | const |
const ON_String& ON_BinaryArchive::Archive3dmStartSectionComment | ( | ) | const |
const ON_3dmArchiveTableStatus ON_BinaryArchive::Archive3dmTableStatus | ( | ON_3dmArchiveTableType | table_type | ) |
int ON_BinaryArchive::Archive3dmVersion | ( | ) | const |
If a 3dm archive is being read or written, then this is the version of the 3dm archive format (1, 2, 3, 4, 5, 50, 60, ...).
bool ON_BinaryArchive::ArchiveContains3dmTable | ( | ON_3dmArchiveTableType | table | ) | const |
As time passes, more tables have been added to 3dm archives.
table | [in] |
|
static |
archive_3dm_version | [in] 1,2,3,4,5,50,60,... |
opennurbs_library_version | [in] a number > 100000000 |
const ON_DimStyle& ON_BinaryArchive::ArchiveCurrentDimStyle | ( | ) | const |
const ON_UUID ON_BinaryArchive::ArchiveCurrentDimStyleId | ( | ) | const |
const int ON_BinaryArchive::ArchiveCurrentDimStyleIndex | ( | ) | const |
const ON_wString& ON_BinaryArchive::ArchiveDirectoryName | ( | ) | const |
const wchar_t* ON_BinaryArchive::ArchiveDirectoryNameAsPointer | ( | ) | const |
bool ON_BinaryArchive::ArchiveFileMoved | ( | ) | const |
const ON_wString& ON_BinaryArchive::ArchiveFileName | ( | ) | const |
const wchar_t* ON_BinaryArchive::ArchiveFileNameAsPointer | ( | ) | const |
const ON_wString& ON_BinaryArchive::ArchiveFullPath | ( | ) | const |
const wchar_t* ON_BinaryArchive::ArchiveFullPathAsPointer | ( | ) | const |
unsigned int ON_BinaryArchive::ArchiveOpenNURBSVersion | ( | ) | const |
If a 3dm archive is being read, then this is the version of openNURBS that was used to write the archive. This value is only available after ON_BinaryArchive::Read3dmProperties is called.
This value is rarely needed. You probably want to use ON_BinaryArchive::Archive3dmVersion.
|
static |
If a 3dm archive is being written to a version 2,3,4 or 50 format, then new format opennurbs version numbers need to be saved in the old YYYYMMDDN format. This function returns the value that should be written in the file.
archive_3dm_version | [in] Version of the file that is being written (2, 3, 4, 50, 60, ...) |
opennurbs_version | [in] opennurbs version number |
ON::RuntimeEnvironment ON_BinaryArchive::ArchiveRuntimeEnvironment | ( | ) | const |
When reading an archive, compare the values of ON_BinaryArchive::ArchiveRuntimeEnvironment() and ON::CurrentRuntimeEnvironment() to determine if adjustments need to be made to resources provided by runtime enviroments, like fonts.
const ON_wString& ON_BinaryArchive::ArchiveSavedAsFullPath | ( | ) | const |
const wchar_t* ON_BinaryArchive::ArchiveSavedAsFullPathPointer | ( | ) | const |
size_t ON_BinaryArchive::ArchiveStartOffset | ( | ) | const |
When a 3dm archive is saved from an MFC application that supports Windows linking/embedding, the first 5kb to 1mb of the file contains information that is put there by MFC. ArchiveStartOffset() returns the offset into the file where the 3dm archive actually begins. The call to ON_BinaryArchive::Read3dmStartSection() calculates this offset and stores the value in m_3dm_start_section_offset.
Generally, this value can be ignored. This function is a diagnostice tool that is used to analyzed damaged files.
const ON_TextStyle* ON_BinaryArchive::ArchiveTextStyleFromArchiveTextStyleIndex | ( | int | archive_text_style_index | ) | const |
When reading version 5 and earlier files that contain a text style table, this function can be used to get the archive text style from the archive text style index. This function is used when reading V5 and pre August 2016 V6 ON_DimStyle information.
|
pure virtual |
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
unsigned int ON_BinaryArchive::BadCRCCount | ( | ) | const |
bool ON_BinaryArchive::BeginRead3dmAnonymousChunk | ( | int * | version | ) |
Calls BeginWRead3dmChunk(TCODE_ANONYMOUS_CHUNK,&major_version,&minor_version), checks that 1 == major_version, minor_version >= 0 and returns the value of minor_version as version.
version | [out] |
bool ON_BinaryArchive::BeginRead3dmBigChunk | ( | unsigned int * | , |
ON__INT64 * | |||
) |
bool ON_BinaryArchive::BeginRead3dmBitmapTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmChunk | ( | unsigned int | expected_tcode, |
int * | major_version, | ||
int * | minor_version | ||
) |
Begins reading a chunk that must be in the archive at this location.
expected_tcode | [in] chunk's typecode from opennurbs_3dm.h |
major_version | [out] |
minor_version | [out] |
bool ON_BinaryArchive::BeginRead3dmDimStyleTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmGroupTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmHatchPatternTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmHistoryRecordTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmInstanceDefinitionTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmLayerTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmLightTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmLinetypeTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmMaterialTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmObjectTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmTextureMappingTable | ( | ) |
bool ON_BinaryArchive::BeginRead3dmUserTable | ( | ON_UUID & | plugin_id, |
bool * | bLastSavedAsGoo, | ||
int * | archive_3dm_version, | ||
unsigned int * | archive_opennurbs_version | ||
) |
plugin_id | [out] id of plug-in that wrote the user table |
bLastSavedAsGoo | [out] True if this table was saved into this archive as goo because the plug-in was not present at the time of the save. |
archive_3dm_version | [out] Version of the archive the plug-in wrote to. When bLastSavedAsGoo is true, this number can be different from Archive3dmVersion(). |
archive_opennurbs_version | [out] Version of opennurbs the plug-in used to write the archive. When bLastSavedAsGoo is true, this number can be different from ArchiveOpenNURBSVersion(). |
bool ON_BinaryArchive::BeginReadDictionary | ( | ON_UUID * | dictionary_id, |
unsigned int * | version, | ||
ON_wString & | dictionary_name | ||
) |
int ON_BinaryArchive::BeginReadDictionaryEntry | ( | int * | de_type, |
ON_wString & | entry_name | ||
) |
Begin reading a dictionary entry.
de_type | [out] |
entry_name | [out] |
bool ON_BinaryArchive::BeginWrite3dmAnonymousChunk | ( | int | version | ) |
If version >= 0, calls BeginWrite3dmChunk(TCODE_ANONYMOUS_CHUNK,1,version).
bool ON_BinaryArchive::BeginWrite3dmBigChunk | ( | ON__UINT32 | typecode, |
ON__INT64 | value | ||
) |
bool ON_BinaryArchive::BeginWrite3dmBitmapTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmChunk | ( | unsigned | int, |
int | |||
) |
Writes a chunk header containing 4 byte typecode and value.
typecode | [in] a TCODE_* number from opennurbs_3dm.h |
value | [in] if (typecode&TCODE_SHORT) is nonzero, then this is the value to be saved. Othewise, pass a zero and the EndWrite3dmChunk() call will store the length of the chunk. |
bool ON_BinaryArchive::BeginWrite3dmChunk | ( | unsigned int | tcode, |
int | major_version, | ||
int | minor_version | ||
) |
Begins writing a chunk.
tcode | [in] chunk's typecode from opennurbs_3dm.h. This cannot be a short tcode. |
major_version | [in] ( >= 1) |
minor_version | [in] ( >= 0 ) |
bool ON_BinaryArchive::BeginWrite3dmDimStyleTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmGroupTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmHatchPatternTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmHistoryRecordTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmInstanceDefinitionTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmLayerTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmLightTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmLinetypeTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmMaterialTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmObjectTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmTextureMappingTable | ( | ) |
bool ON_BinaryArchive::BeginWrite3dmUserTable | ( | ON_UUID | plugin_id, |
bool | bSavingGoo, | ||
int | goo_3dm_version, | ||
unsigned int | goo_opennurbs_version | ||
) |
Write the user table header information that must precede the user table information written by a plug-in.
plugin_id | [in] |
bSavingGoo | [in] Set to false if a plug-in will be used to write the user table. Set to true if a user table written by a missing plug-in is being resaved. In this case, goo_3dm_version and goo_opennurbs_version must also be set. In practice, you should use Write3dmAnonymousUserTableRecord() to handle writing "goo" and use this function only when the plug-in in present. |
goo_3dm_version | [in] If bSavingGoo is false, this parameter must be zero and ON_BinaryArchive::Archive3dmVersion() will be used. If bSavingGoo is true, this parameter must be the version of the 3dm archive (1,2,3,4,5,50,...) the plug-in code used to write the user table. |
goo_opennurbs_version | [in] If bSavingGoo is false, this parameter must be zero and ON_BinaryArchive::ArchiveOpenNURBSVersion() will be used. If bSavingGoo is true, this parameter must be the version of the opennurbs the plug-in code used to write the user table. |
bool ON_BinaryArchive::BeginWrite3dmUserTable | ( | const ON_UUID & | ) |
bool ON_BinaryArchive::BeginWriteDictionary | ( | ON_UUID | dictionary_id, |
unsigned int | version, | ||
const wchar_t * | dictionary_name | ||
) |
Begins writing a dictionary.
dictionary_id | [in] |
version | [in] It is suggested that you use ON_VersionNumberConstruct() to create a version number. |
dictionary_name | [in] You may pass nullptr. |
Begins a new chunk with tcode TCODE_DICTIONARY and then writes a TCODE_DICTIONARY_ID chunk containing the id, version and name. After calling this function, you may either write entries by calling BeginWriteDictionaryEntry(); write entry definition... EndWriteDictionaryEntry(); or you may finish writing the dictionay by calling EndWriteDictionary();
bool ON_BinaryArchive::BeginWriteDictionaryEntry | ( | int | de_type, |
const wchar_t * | entry_name | ||
) |
Begins writing a dictionary entry.
de_type | [in] |
entry_name | [in] |
Begins a new chunk with tcode TCODE_DICTIONARY_ENTRY, then writes the int, and then writes the string.
bool ON_BinaryArchive::ChunkBoundaryCheck | ( | ) | const |
void ON_BinaryArchive::ClearModelSerialNumber | ( | ) |
Clear() information set by SetModelSerialNumber() do not modify ON_ModelComponent model serial number information when the classes are read.
unsigned int ON_BinaryArchive::CriticalErrorCount | ( | ) | const |
|
static |
ON__UINT64 ON_BinaryArchive::CurrentPosition | ( | ) | const |
unsigned int ON_BinaryArchive::Dump3dmChunk | ( | ON_TextLog & | text_log, |
int | recursion_depth = 0 |
||
) |
Expert user function for studying contents of a file. The primary use is as an aid to help dig through files that have been damaged (bad disks, transmission errors, etc.) If an error is found, a line that begins with the word "ERROR" is printed.
text_log | [in] place to print informtion |
recursion_depth | [in] simply a counter to aid in debugging. |
bool ON_BinaryArchive::EnableCRCCalculation | ( | bool | bEnable | ) |
Expert user function to control CRC calculation while reading and writing. Typically this is used when seeking around and reading/writing information in non-serial order.
bEnable | [in] |
void ON_BinaryArchive::EnableSave3dmAnalysisMeshes | ( | unsigned int | object_type_flags, |
bool | bSave3dmAnalysisMeshes | ||
) |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save analysis meshes in the 3dm file.
object_type_flags | [in] The bits in object_type_flags correspond to ON::object_type values and identify the object types the setting will be applied to. |
Saving analysis meshes increases file size, sometimes dramatically.
Creating ON_Brep analysis meshes is often slow. Disable saving ON_Brep analysis meshes when IO speed or file size is a critical issue, the time expense of recreating the ON_Brep meshes when the file is read is acceptable, and the file will be read by Rhino. Enable when the file size is not an issue or the file will be used by other applications that may not be able to create meshes.
Creating ON_Extrusion meshes is fast. Disable when IO speed or file size is an issue and the file will be read by Rhino. Enable when the file will be used by other applications that may not be able to create meshes.
Creating ON_SubD meshes is fast. Disable when IO speed or file size is an issue and the file will be read by Rhino. Enable when the file will be used by other applications that may not be able to create meshes.
void ON_BinaryArchive::EnableSave3dmRenderMeshes | ( | unsigned int | object_type_flags, |
bool | bSave3dmRenderMeshes | ||
) |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save render meshes in the 3dm file.
object_type_flags | [in] The bits in object_type_flags correspond to ON::object_type values and identify the object types the setting will be applied to. |
Saving render meshes increases file size, sometimes dramatically.
Creating ON_Brep analysis meshes is often slow. Disable saving ON_Brep analysis meshes when IO speed or file size is a critical issue, the time expense of recreating the ON_Brep meshes when the file is read is acceptable, and the file will be read by Rhino. Enable when the file size is not an issue or the file will be used by other applications that may not be able to create meshes.
Creating ON_Extrusion meshes is fast. Disable when IO speed or file size is an issue and the file will be read by Rhino. Enable when the file will be used by other applications that may not be able to create meshes.
Creating ON_SubD meshes is fast. Disable when IO speed or file size is an issue and the file will be read by Rhino. Enable when the file will be used by other applications that may not be able to create meshes.
ON::endian ON_BinaryArchive::Endian | ( | ) | const |
3dm files are alwasy saved with little endian byte order.
bool ON_BinaryArchive::EndRead3dmBitmapTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmChunk | ( | ) |
Calling this will skip rest of stuff in chunk if it was only partially read.
bSupressPartiallyReadChunkWarning | [in] Generally, a call to ON_WARNING is made when a chunk is partially read. If bSupressPartiallyReadChunkWarning is true, then no warning is issued for partially read chunks. |
bool ON_BinaryArchive::EndRead3dmChunk | ( | bool | bSupressPartiallyReadChunkWarning | ) |
bool ON_BinaryArchive::EndRead3dmDimStyleTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmGroupTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmHatchPatternTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmHistoryRecordTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmInstanceDefinitionTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmLayerTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmLightTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmLinetypeTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmMaterialTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmObjectTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmTextureMappingTable | ( | ) |
bool ON_BinaryArchive::EndRead3dmUserTable | ( | ) |
bool ON_BinaryArchive::EndReadDictionary | ( | ) |
bool ON_BinaryArchive::EndReadDictionaryEntry | ( | ) |
bool ON_BinaryArchive::EndWrite3dmBitmapTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmChunk | ( | ) |
updates length in chunk header
bool ON_BinaryArchive::EndWrite3dmDimStyleTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmGroupTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmHatchPatternTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmHistoryRecordTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmInstanceDefinitionTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmLayerTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmLightTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmLinetypeTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmMaterialTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmObjectTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmTextureMappingTable | ( | ) |
bool ON_BinaryArchive::EndWrite3dmUserTable | ( | ) |
bool ON_BinaryArchive::EndWriteDictionary | ( | ) |
Begins writing a dictionary entry.
de_type | [in] |
entry_name | [in] |
Begins a new chunk with tcode TCODE_DICTIONARY_ENTRY, then writes the int, and then writes the string.
bool ON_BinaryArchive::EndWriteDictionaryEntry | ( | ) |
|
protected |
bool ON_BinaryArchive::FindTableInDamagedArchive | ( | unsigned int | tcode_table, |
unsigned int | tcode_record, | ||
ON_UUID | class_uuid, | ||
int | min_length_data | ||
) |
Expert user function for reading damaged files. The search starts at the beginning of the file.
tcode_table | [in] typecode of the table |
tcode_record | [in] typecode of the record |
class_uuid | [in] id of the opennurbs class in the record |
min_length_data | [in] minimum size of the opennurbs class data |
ON_3dmArchiveTableType ON_BinaryArchive::FirstFailed3dmTable | ( | ) | const |
|
pure virtual |
Force Write() to flush any buffered data to physical archive.
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
int ON_BinaryArchive::GetCurrentChunk | ( | ON_3DM_CHUNK & | chunk | ) | const |
Expert user function for reading damaged files.
chunk | [out] current chunk. |
int ON_BinaryArchive::GetCurrentChunk | ( | ON_3DM_BIG_CHUNK & | big_chunk | ) | const |
unsigned int ON_BinaryArchive::InstanceDefinitionModelSerialNumber | ( | ) | const |
|
protectedpure virtual |
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
bool ON_BinaryArchive::Internal_Read3dmDimStyleOverrides | ( | class ON_Annotation & | annotation, |
bool | bFromDimStyleTable | ||
) |
|
protectedpure virtual |
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
|
protectedpure virtual |
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
|
protectedpure virtual |
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
bool ON_BinaryArchive::Internal_Write3dmDimStyleOverrides | ( | const class ON_Annotation & | annotation, |
const class ON_DimStyle * | dim_style_overrides | ||
) |
|
protectedpure virtual |
Implemented in ON_Write3dmBufferArchive, ON_Read3dmBufferArchive, ON_BinaryArchiveBuffer, and ON_BinaryFile.
|
virtual |
When ON_BinaryArchive::ReadObject() encounters userdata and the user data class id is not present, LoadUserDataApplication is called to load the application that created user data.
const class ON_ComponentManifest& ON_BinaryArchive::Manifest | ( | ) | const |
const class ON_ManifestMap& ON_BinaryArchive::ManifestMap | ( | ) | const |
|
protected |
ON::archive_mode ON_BinaryArchive::Mode | ( | ) | const |
unsigned int ON_BinaryArchive::ModelSerialNumber | ( | ) | const |
bool ON_BinaryArchive::ObjectHasUserDataToWrite | ( | const class ON_Object * | object | ) | const |
Determine if an object has user data that should be written.
object | [in] |
ON_BinaryArchive::ON_DEPRECATED_MSG | ( | "Use either ReadStringUTF8ElementCount() or ReadStringUTF16ElementCount()" | ) |
str_array_count | [out] Number of elements in the string array. All ON_BinaryArchive string WriteString() functions write a null terminator to the file and the null terminator is included in the count. This means that if a string has a non-zero element, then str_array_count >= 2. |
Modify your code to use ReadStringUTF8ElementCount() when reading UTF-8 encoded strings and ReadStringUTF16ElementCount() when reading UTF-16 encoded strings.
|
static |
bool ON_BinaryArchive::PeekAt3dmBigChunkType | ( | ON__UINT32 * | typecode, |
ON__INT64 * | big_value | ||
) |
bool ON_BinaryArchive::PeekAt3dmChunkType | ( | unsigned int * | , |
int * | |||
) |
ON_3dmArchiveTableType ON_BinaryArchive::Previous3dmTable | ( | ) | const |
Use ON_BinaryArchive::Mode() to determine if a binary archive is being read or written.
bool ON_BinaryArchive::Read3dmAnonymousUserTable | ( | int | archive_3dm_version, |
unsigned int | archive_opennurbs_version, | ||
ON_3dmGoo & | goo | ||
) |
If the plug-in that wrote the user table is not present and you need to read and resave the user table, then use Read3dmAnonymousUserTable() to load the information into "goo". If you do not need to resave the information, then simply call EndRead3dmUserTable() to skip over this table.
int ON_BinaryArchive::Read3dmBitmap | ( | class ON_Bitmap ** | ) |
bool ON_BinaryArchive::Read3dmChunkVersion | ( | int * | , |
int * | |||
) |
int ON_BinaryArchive::Read3dmDimStyle | ( | class ON_DimStyle ** | ppDimStyle | ) |
Reads annotation dimension styles from dimension style table. If the dimension style definition is read, a dimension style is created by calling new ON_DimStyle(), initialized with values stored in the archive, and returned.
ppDimStyle | If the dimstyle definition is read, a dimstyle is created by calling new ON_DimStyle(), initialized with values stored in the archive, and a pointer to the new dimstyle is returned in *ppDimStyle. |
table 0 at the end of the dimension style table 1 dimension style definition was successfully read -1 archive is corrupt at this point
bool ON_BinaryArchive::Read3dmEndMark | ( | size_t * | ) |
Checks for a TCODE_ENDOFFILE chunk at the current position. If it finds one, it reads it and returns the number of bytes in the archive. Comparing this number with the current file position can help detect files that have been damaged by loosing sections.
sizeof_archive | [out] number of bytes written to archive |
bool ON_BinaryArchive::Read3dmGoo | ( | ON_3dmGoo & | ) |
int ON_BinaryArchive::Read3dmGroup | ( | class ON_Group ** | ) |
Reads groups from group table. If the group definition is read, a group is created by calling new ON_Group(), initialized with values stored in the archive, and returned.
ppGroup | If the group definition is read, a group is created by calling new ON_Group(), initialized with values stored in the archive, and a pointer to the new group is returned in *ppGroup. |
table 0 at the end of the group table 1 group definition was successfully read -1 archive is corrupt at this point
int ON_BinaryArchive::Read3dmHatchPattern | ( | class ON_HatchPattern ** | ) |
int ON_BinaryArchive::Read3dmHistoryRecord | ( | class ON_HistoryRecord *& | ) |
int ON_BinaryArchive::Read3dmInstanceDefinition | ( | class ON_InstanceDefinition ** | ) |
Reads instance definitions from instance defintion table.
ppInstanceDefinition | If an instance defintion is read, an instance defintion is created by calling new ON_InstanceDefinition(), initialized with values stored in the archive, and a pointer to the new instance defintion is returned in *ppInstanceDefinition. |
table 0 at the end of the instance defintion table 1 instance defintion was successfully read -1 archive is corrupt at this point
int ON_BinaryArchive::Read3dmLayer | ( | ON_Layer ** | ) |
int ON_BinaryArchive::Read3dmLight | ( | class ON_Light ** | light, |
class ON_3dmObjectAttributes * | attributes | ||
) |
int ON_BinaryArchive::Read3dmLinetype | ( | class ON_Linetype ** | ) |
int ON_BinaryArchive::Read3dmMaterial | ( | class ON_Material ** | ) |
int ON_BinaryArchive::Read3dmModelGeometry | ( | class ON_ModelGeometryComponent ** | model_geometry, |
unsigned int | object_filter = 0 |
||
) |
Call either Read3dmModelGeometry or Read3dmObject
model_geometry | [out] ON_ModelGeometryComponent returned here. nullptr returned at end of the table. |
object_filter | [in] optional filter made by setting ON::object_type bits |
int ON_BinaryArchive::Read3dmModelGeometryForExperts | ( | bool | bManageGeometry, |
bool | bManageAttributes, | ||
class ON_ModelGeometryComponent ** | model_geometry, | ||
unsigned int | object_filter | ||
) |
bManageGeometry | [in] true: model_geometry will reference count and delete the ON_Geometry pointer. false: The caller must delete the ON_Geometry pointer. |
bManageAttributes | [in] true: model_geometry will reference count and delete the ON_3dmObjectAttributes pointer. false: The caller must delete the ON_3dmObjectAttributes pointer. |
model_geometry | [out] ON_ModelGeometryComponent returned here. nullptr returned at end of the table. |
object_filter | [in] optional filter made by setting ON::object_type bits 0 = no filter. |
int ON_BinaryArchive::Read3dmModelLight | ( | class ON_ModelGeometryComponent ** | model_light | ) |
Call either Read3dmModelLight or Read3dmLight
model_light | [out] ON_ModelGeometryComponent returned here. nullptr returned at end of the table. |
object_filter | [in] optional filter made by setting ON::object_type bits |
int ON_BinaryArchive::Read3dmObject | ( | ON_Object ** | model_object, |
ON_3dmObjectAttributes * | attributes, | ||
unsigned int | object_filter = 0 |
||
) |
model_object | [out] nullptr returned at end of the table. |
attributes | [out] If not nullptr, then attributes are returned here |
object_filter | [in] optional filter made by setting ON::object_type bits |
bool ON_BinaryArchive::Read3dmProperties | ( | class ON_3dmProperties & | ) |
bool ON_BinaryArchive::Read3dmReferencedComponentId | ( | ON_ModelComponent::Type | component_type, |
ON_UUID * | component_id | ||
) |
When reading 3dm archives, the model component ID in the archive and in the destination model are often identical, but sometimes different. For example, the when the same template is used to create multiple models and files and the models from those files are merged into a single file, there will be ID collisions. For components that are identified by name, like layers and dimension styles, this is not a problem. For components like instance definitions that have a more complicated set of merging rules, it is critical that references to instance definition ids be updated from values in the arcive to values in the model. uses to adjust and write a model component Id.
component_type | [in] Type of the referenced component. |
component_id | [out] component reference ID |
bool ON_BinaryArchive::Read3dmReferencedComponentIndex | ( | ON_ModelComponent::Type | component_type, |
int * | component_index | ||
) |
When reading 3dm archives, model component indexes in the archive and in the destination model are typically different. This function basically reads and reverses the steps that WriteArchiveComponentIndex() uses to adjust and write a model component index.
component_type | [in] Type of the referenced component. |
component_index | [out] component reference index |
bool ON_BinaryArchive::Read3dmReferencedComponentIndexArray | ( | ON_ModelComponent::Type | component_type, |
ON_SimpleArray< int > & | component_index_array | ||
) |
bool ON_BinaryArchive::Read3dmSettings | ( | class ON_3dmSettings & | ) |
bool ON_BinaryArchive::Read3dmStartSection | ( | int * | version, |
ON_String & | sStartSectionComment | ||
) |
version | [out] .3dm file version (2, 3, 4, 5, 50, 60) |
sStartSectionComment | [out] |
UTF | 8 encoded string passed to Write3dmStartSection() |
destination_manifest | [in] manifest of the destination model |
int ON_BinaryArchive::Read3dmTextureMapping | ( | class ON_TextureMapping ** | ) |
bool ON_BinaryArchive::ReadArc | ( | ON_Arc & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< bool > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< char > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< short > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< int > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< float > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< double > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_Color > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_2dPoint > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_3dPoint > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_4dPoint > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_2dVector > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_3dVector > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_Xform > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_2fPoint > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_3fPoint > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_4fPoint > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_2fVector > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_3fVector > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_UUID > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_UuidIndex > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_UuidPtr > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_SurfaceCurvature > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_ClassArray< ON_String > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_ClassArray< ON_wString > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_DisplayMaterialRef > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_LinetypeSegment > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< ON_MappingChannel > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_ClassArray< ON_MaterialRef > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_ClassArray< ON_MappingRef > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_ClassArray< class ON_ObjRef > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< class ON_ObjRef_IRefID > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< class ON_ClippingPlaneInfo > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_ObjectArray< class ON_Layer > & | ) |
bool ON_BinaryArchive::ReadArray | ( | ON_SimpleArray< class ON_Layer *> & | ) |
bool ON_BinaryArchive::ReadBigInt | ( | size_t | , |
ON__INT64 * | |||
) |
bool ON_BinaryArchive::ReadBigInt | ( | size_t | , |
ON__UINT64 * | |||
) |
bool ON_BinaryArchive::ReadBigInt | ( | ON__INT64 * | ) |
bool ON_BinaryArchive::ReadBigInt | ( | ON__UINT64 * | ) |
bool ON_BinaryArchive::ReadBigSize | ( | size_t * | ) |
bool ON_BinaryArchive::ReadBigTime | ( | time_t * | ) |
bool ON_BinaryArchive::ReadBool | ( | bool * | ) |
bool ON_BinaryArchive::ReadBoundingBox | ( | ON_BoundingBox & | ) |
ON__UINT64 ON_BinaryArchive::ReadBuffer | ( | ON__UINT64 | sizeof_buffer, |
void * | buffer | ||
) |
Expert user function that uses Read() to load a buffer. Paramters: sizeof_buffer - [in] number of bytes to attempt to read. buffer - [out] read bytes are stored in this buffer
bool ON_BinaryArchive::ReadByte | ( | size_t | , |
void * | |||
) |
bool ON_BinaryArchive::ReadChar | ( | size_t | , |
char * | |||
) |
bool ON_BinaryArchive::ReadChar | ( | size_t | , |
unsigned char * | |||
) |
bool ON_BinaryArchive::ReadChar | ( | char * | ) |
bool ON_BinaryArchive::ReadChar | ( | unsigned char * | ) |
bool ON_BinaryArchive::ReadCircle | ( | ON_Circle & | ) |
bool ON_BinaryArchive::ReadColor | ( | ON_Color & | ) |
bool ON_BinaryArchive::ReadComponentIndex | ( | ON_COMPONENT_INDEX & | ) |
bool ON_BinaryArchive::ReadCompressedBuffer | ( | size_t | sizeof__outbuffer, |
void * | outbuffer, | ||
bool * | bFailedCRC | ||
) |
Read compressed information from an archive and uncompress it.
sizeof__outbuffer | [in] size of the uncompressed buffer in bytes |
outbuffer | [out] uncompressed buffer returned here |
bFailedCRC | [out] true if cyclic redundancy check fails on uncompressed buffer |
Write your archive write/read code as if compression is always enabled. Do not vary what get written or read based on the value of UseBufferCompression().
bool ON_BinaryArchive::ReadCompressedBufferSize | ( | size_t * | sizeof__outbuffer | ) |
Red the size of a compressed buffer.
sizeof__outbuffer | [out] size of the uncompressed buffer in bytes |
bool ON_BinaryArchive::ReadDisplayMaterialRef | ( | ON_DisplayMaterialRef & | ) |
bool ON_BinaryArchive::ReadDouble | ( | size_t | , |
double * | |||
) |
bool ON_BinaryArchive::ReadDouble | ( | double * | ) |
bool ON_BinaryArchive::ReadFloat | ( | size_t | , |
float * | |||
) |
bool ON_BinaryArchive::ReadFloat | ( | float * | ) |
bool ON_BinaryArchive::ReadInt | ( | size_t | , |
int * | |||
) |
bool ON_BinaryArchive::ReadInt | ( | size_t | , |
unsigned int * | |||
) |
bool ON_BinaryArchive::ReadInt | ( | int * | ) |
bool ON_BinaryArchive::ReadInt | ( | unsigned int * | ) |
bool ON_BinaryArchive::ReadInterval | ( | ON_Interval & | ) |
bool ON_BinaryArchive::ReadLine | ( | ON_Line & | ) |
bool ON_BinaryArchive::ReadLinetypeSegment | ( | ON_LinetypeSegment & | ) |
bool ON_BinaryArchive::ReadLong | ( | size_t | , |
long * | |||
) |
bool ON_BinaryArchive::ReadLong | ( | size_t | , |
unsigned long * | |||
) |
bool ON_BinaryArchive::ReadLong | ( | long * | ) |
bool ON_BinaryArchive::ReadLong | ( | unsigned long * | ) |
bool ON_BinaryArchive::ReadMode | ( | ) | const |
bool ON_BinaryArchive::ReadModelComponentAttributes | ( | ON_ModelComponent & | model_component, |
unsigned int * | attributes_filter | ||
) |
Reads the attributes the Write() function writes.
model_component | [in/out] |
component_filter | [out] A bitfield that reports which attributes were read. If the corresponding component on model_component is locked, the read value is discared. |
If locked attributes are read, thire values are ignored.
int ON_BinaryArchive::ReadObject | ( | ON_Object ** | ppObject | ) |
Reads and object from a 3dm archive;
ppObject | [out] object is allocated and a pointer to the allocated object is returned as *ppObject; |
int ON_BinaryArchive::ReadObject | ( | ON_Object & | object | ) |
Reads and object from a 3dm archive.
object | [in] The value of object.ON_ClassId()->Uuid() must exactly match the class uuid in of the next object in the archive. |
bool ON_BinaryArchive::ReadObjectUserData | ( | ON_Object & | object | ) |
Low level tool to read user data and attach it to the object. This function should never be called directly.
object | [in/out] |
bool ON_BinaryArchive::ReadPlane | ( | ON_Plane & | ) |
bool ON_BinaryArchive::ReadPlaneEquation | ( | ON_PlaneEquation & | ) |
bool ON_BinaryArchive::ReadPoint | ( | ON_2dPoint & | ) |
bool ON_BinaryArchive::ReadPoint | ( | ON_3dPoint & | ) |
bool ON_BinaryArchive::ReadPoint | ( | ON_4dPoint & | ) |
bool ON_BinaryArchive::ReadShort | ( | size_t | , |
short * | |||
) |
bool ON_BinaryArchive::ReadShort | ( | size_t | , |
unsigned short * | |||
) |
bool ON_BinaryArchive::ReadShort | ( | short * | ) |
bool ON_BinaryArchive::ReadShort | ( | unsigned short * | ) |
bool ON_BinaryArchive::ReadSize | ( | size_t * | ) |
bool ON_BinaryArchive::ReadString | ( | size_t | str_array_count, |
char * | str_array | ||
) |
str_array_count | [in] Number of char elements in str_array[], including the null terminator. The value of str_array_count is returned by ReadCharStringElementCount(). |
str_array | [in/out] Pass in an array with at least str_array_count elements. If true is returned and str_array_count > 0, then str_array[str_array_count-1] = 0. All strings with char elements written by Rhino are UTF-8 encoded unicode strings. |
bool ON_BinaryArchive::ReadString | ( | size_t | str_array_count, |
unsigned char * | str_array | ||
) |
str_array_count | [in] Number of unsignd char elements in str_array[], including the null terminator. The value of str_array_count is returned by ReadCharStringElementCount(). |
str_array | [in/out] Pass in an array with at least str_array_count elements. If true is returned and str_array_count > 0, then str_array[str_array_count-1] = 0. All strings with unsigned char elements written by Rhino are UTF-8 encoded unicode strings. |
bool ON_BinaryArchive::ReadString | ( | size_t | str_array_count, |
unsigned short * | str_array | ||
) |
str_array_count | [in] Number of unsigned short elements in str_array[], including the null terminator. The value of str_array_count is returned by ReadWideCharStringElementCount(). |
str_array | [in/out] Pass in an array with at least str_array_count elements. If true is returned and str_array_count > 0, then str_array[str_array_count-1] = 0. All strings with unsigned short elements written by Rhino are UTF-16 encoded unicode strings. |
bool ON_BinaryArchive::ReadString | ( | ON_String & | sUTF8 | ) |
bool ON_BinaryArchive::ReadString | ( | ON_wString & | s | ) |
bool ON_BinaryArchive::ReadStringUTF16ElementCount | ( | size_t * | string_utf16_element_count | ) |
string_utf16_element_count | [out] Number of elements in the string array. All ON_BinaryArchive string WriteString() functions write a null terminator to the file and the null terminator is included in string_element_count. This means that if opennurbs wrote the string, either string_element_count = 0 or string_element_count >= 2. |
bool ON_BinaryArchive::ReadStringUTF8ElementCount | ( | size_t * | string_utf8_element_count | ) |
string_utf8_element_count | [out] Number of bytes in the string array. All ON_BinaryArchive string WriteString() functions write a null terminator to the file and the null terminator is included in string_element_count. This means that if opennurbs wrote the string, either string_element_count = 0 or string_element_count >= 2. |
bool ON_BinaryArchive::ReadTime | ( | struct tm & | ) |
bool ON_BinaryArchive::ReadUuid | ( | ON_UUID & | ) |
bool ON_BinaryArchive::ReadV1_TCODE_ANNOTATION | ( | unsigned | int, |
ON_Object ** | , | ||
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_LEGACY_CRV | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_LEGACY_FAC | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_LEGACY_SHL | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_MESH_OBJECT | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_RH_POINT | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
helpers for reading V1 objects
bool ON_BinaryArchive::ReadV1_TCODE_RHINOIO_OBJECT_BREP | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_RHINOIO_OBJECT_NURBS_CURVE | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadV1_TCODE_RHINOIO_OBJECT_NURBS_SURFACE | ( | ON_Object ** | , |
ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::ReadVector | ( | ON_2dVector & | ) |
bool ON_BinaryArchive::ReadVector | ( | ON_3dVector & | ) |
bool ON_BinaryArchive::ReadWideString | ( | ON_wString & | wide_string | ) |
Read a wide string written with the WriteWideString() function.
bool ON_BinaryArchive::ReadXform | ( | ON_Xform & | ) |
bool ON_BinaryArchive::ReferencedComponentIdMapping | ( | ) | const |
bool ON_BinaryArchive::ReferencedComponentIndexMapping | ( | ) | const |
unsigned int ON_BinaryArchive::ReferenceModelSerialNumber | ( | ) | const |
bool ON_BinaryArchive::Save3dmAnalysisMesh | ( | ON::object_type | object_type | ) | const |
object_type | [in] |
unsigned int ON_BinaryArchive::Save3dmAnalysisMeshObjectTypeFlags | ( | ) | const |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save analysis meshes in the 3dm file.
bool ON_BinaryArchive::Save3dmPreviewImage | ( | ) | const |
bool ON_BinaryArchive::Save3dmRenderMesh | ( | ON::object_type | object_type | ) | const |
object_type | [in] |
unsigned int ON_BinaryArchive::Save3dmRenderMeshObjectTypeFlags | ( | ) | const |
Specify which types of objects (ON_Brep, ON_Extrusion, ON_SubD, ...) save render meshes in the 3dm file.
bool ON_BinaryArchive::Seek3dmChunkFromCurrentPosition | ( | unsigned | int | ) |
bool ON_BinaryArchive::Seek3dmChunkFromStart | ( | unsigned | int | ) |
bool ON_BinaryArchive::SeekBackward | ( | ON__UINT64 | bytes_backward | ) |
Reduce the archive's current position by bytes_backward from the current position.
bytes_backward | [in] |
bool ON_BinaryArchive::SeekForward | ( | ON__UINT64 | bytes_forward | ) |
Increase the archive's current position to bytes_forward from the current position.
bytes_forward | [in] |
bool ON_BinaryArchive::SeekFromStart | ( | ON__UINT64 | bytes_from_start | ) |
Set current position to bytes_from_start many bytes from the start of the archive.
bytes_from_start | [in] |
Similar to fseek( ,SEEK_SET)
bool ON_BinaryArchive::SetArchive3dmVersion | ( | int | ) |
void ON_BinaryArchive::SetArchiveFullPath | ( | const wchar_t * | archive_full_path | ) |
archive_full_path | [in] full path to file being read or written |
void ON_BinaryArchive::SetArchiveFullPath | ( | const wchar_t * | archive_directory_name, |
const wchar_t * | archive_file_name | ||
) |
archive_directory_name | [in] full path file being written |
archive_file_name | [in] name of file being written |
void ON_BinaryArchive::SetChunkBoundaryCheck | ( | bool | bChunkBoundaryCheck | ) |
bChunkBoundaryCheck | [in] true: All read, write, and seek operations check to make sure they stay within the current chunk boundary. |
void ON_BinaryArchive::SetModelSerialNumber | ( | unsigned int | model_serial_number, |
unsigned int | reference_model_serial_number, | ||
unsigned int | instance_definition_model_serial_number | ||
) |
Specify model serial number attributes to assign to ON_ModelComponent classes when they are read.
void ON_BinaryArchive::SetReferencedComponentIdMapping | ( | bool | bEnableReferenceComponentIdMapping | ) |
Set the archive's ReferencedComponentIdMapping() state.
bEnableReferenceComponentIdMapping | [in] True: (default state) Read3dmReferencedComponentId() and Write3dmReferencedComponentId() will automatically adjust compoents Id references so they are valid. False: (uncommon) Read3dmReferencedComponentId() and Write3dmReferencedComponentId() will not adjust compoents Id references so they are valid. This is only used with the component being read or written is not the model but is a copy of one in a different model (linked instance definitions being the common situation). |
void ON_BinaryArchive::SetReferencedComponentIndexMapping | ( | bool | bEnableReferenceComponentIndexMapping | ) |
Set the archive's ReferencedComponentIndexMapping() state.
bEnableReferenceComponentIndexMapping | [in] True: (default state) Read3dmReferencedComponentIndex() and Write3dmReferencedComponentIndex() will automatically adjust compoents index references so they are valid. False: (uncommon) Read3dmReferencedComponentIndex() and Write3dmReferencedComponentIndex() will not adjust compoents index references so they are valid. This is only used with the component being read or written is not the model but is a copy of one in a different model (linked instance definitions being the common situation). |
void ON_BinaryArchive::SetSave3dmPreviewImage | ( | bool | bSave3dmPreviewImage | ) |
bool ON_BinaryArchive::SetShouldSerializeUserDataDefault | ( | bool | bSerialize | ) |
Specify the serialization option for object user data and user tables that are not explicity set by SetShouldSerializeUserDataItem().
bSerialize | [in] |
If no setting is specified, all user data is read and written.
bool ON_BinaryArchive::SetShouldSerializeUserDataItem | ( | ON_UUID | application_id, |
ON_UUID | item_id, | ||
bool | bSerializeUserDataItem | ||
) |
Specify if an application's (plug-in's) object user data or user table should be read or written.
application_id | [in] The application id (often a plug-in id) for the object user data or user table. |
item_id | [in] item_id identifies which user data items should be read or written.
|
bSerializeUserDataItem | [in] True to enable reading and writing of the specified item. False to disable reading and writing of the specified item. |
void ON_BinaryArchive::SetStorageDeviceError | ( | ON_BinaryArchive::eStorageDeviceError | storage_device_error | ) |
A non-zero storage device error terminates reading or writing. See the ON_BinaryArchive::eStorageDeviceError for values. Parameter: storage_device_error - [in] A non-zero code that identifies an error the terminates reading or writing. See ON_BinaryArchive::CriticalErrorCodes for values
Once set, the storage_device_error value cannot be changed.
void ON_BinaryArchive::SetStorageDeviceError | ( | unsigned int | storage_device_error | ) |
void ON_BinaryArchive::SetUseBufferCompression | ( | bool | bUseBufferCompression | ) |
Control when some information, like preview images and mesh information, is compressed when writing 3dm archives. The default is true. In special situations when the storage media is extremely fast and large file size is not a concern, disabling buffer compression can reduce file write time.
bUseBufferCompression | [in] |
The default is true.
bool ON_BinaryArchive::ShouldSerializeAllUserData | ( | ) | const |
AllUserDataSerializationIsEnabled() = (false == ShouldSerializeNoUserData() && false == ShouldSerializeSomeUserData())
bool ON_BinaryArchive::ShouldSerializeNoUserData | ( | ) | const |
SerializeNoUserData() = (false == ShouldSerializeAllUserData() && false == ShouldSerializeSomeUserData())
bool ON_BinaryArchive::ShouldSerializeSomeUserData | ( | ) | const |
SerializeSomeUserData() = (false == ShouldSerializeAllUserData() && false == ShouldSerializeNoUserData())
Use ShouldSerializeUserDataItem(application_id,item_id) to determine if a specific object user data or user table should be read or written.
bool ON_BinaryArchive::ShouldSerializeUserDataDefault | ( | ) | const |
bool ON_BinaryArchive::ShouldSerializeUserDataItem | ( | ON_UUID | application_id, |
ON_UUID | item_id | ||
) | const |
Determine if an application's (plug-in's) object user data or user table should be read or written.
application_id | [in] The application id (often a plug-in id) for the object user data or user table. |
item_id | [in] item_id identifies which user data items should be read or written.
|
bool ON_BinaryArchive::ShouldWriteUserDataItem | ( | const class ON_Object * | object, |
const class ON_UserData * | object_user_data | ||
) | const |
size_t ON_BinaryArchive::SizeofChunkLength | ( | ) | const |
unsigned int ON_BinaryArchive::StorageDeviceError | ( | ) | const |
An error terminated reading or writing
|
static |
|
static |
|
static |
Tool for swapping bytes when doing I/O on using big endian CPUs.
3dm files are always saved with little endian byte order.
|
static |
bool ON_BinaryArchive::UnsetMode | ( | ) | const |
bool ON_BinaryArchive::UpdateManifestMapItemDestination | ( | const class ON_ManifestMapItem & | map_item | ) |
When an application is reading an archive and changes the index or id of a model component as it is added to the model, then it needs to update the manifest map item destination settings.
map_item | [in] The source type, index and id match what was read from the 3dm archive. The destination index and id are the values assigned by the application reading the 3dm archive. |
bool ON_BinaryArchive::UseBufferCompression | ( | ) | const |
bool ON_BinaryArchive::Write3dmAnonymousUserTable | ( | const class ON_3dmGoo & | ) |
bool ON_BinaryArchive::Write3dmAnonymousUserTableRecord | ( | ON_UUID | plugin_id, |
int | goo_3dm_version, | ||
unsigned int | goo_opennurbs_version, | ||
const class ON_3dmGoo & | goo | ||
) |
If Read3dmAnaonymousUserTable() was used to read ON_3dmGoo because a plug-in was not present, then use Write3dmAnonymousUserTableRecord() to put than information back into the archive. Write3dmAnonymousUserTableRecord() writes the entire record. Do NOT call BeginWrite3dmUserTable() / EndWrite3dmUserTable() when using Write3dmAnonymousUserTableRecord().
plugin_id | [in] |
goo_version | [in] The version of the archive (1,2,3,4,5,50,...) that was used when the plug-in wrote the user table. |
goo_opennurbs_version | [in] The version of opennurbs ( YYYMMDDN ) that was used when the |
plug | in wrote the user table. |
goo | [in] |
bool ON_BinaryArchive::Write3dmBitmap | ( | const class ON_Bitmap & | ) |
bool ON_BinaryArchive::Write3dmChunkVersion | ( | int | , |
int | |||
) |
bool ON_BinaryArchive::Write3dmDimStyle | ( | const class ON_DimStyle & | ) |
bool ON_BinaryArchive::Write3dmDimStyleComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmDimStyleComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmEndMark | ( | ) |
Writes a TCODE_ENDOFFILE chunk that contains the number of bytes in the archive.
bool ON_BinaryArchive::Write3dmGoo | ( | const ON_3dmGoo & | ) |
bool ON_BinaryArchive::Write3dmGroup | ( | const class ON_Group & | ) |
bool ON_BinaryArchive::Write3dmGroupComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmGroupComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmHatchPattern | ( | const class ON_HatchPattern & | ) |
bool ON_BinaryArchive::Write3dmHatchPatternComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmHatchPatternComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmHistoryRecord | ( | const class ON_HistoryRecord & | ) |
bool ON_BinaryArchive::Write3dmHistoryRecordComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmHistoryRecordComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmImageComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmImageComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmInstanceDefinition | ( | const class ON_InstanceDefinition & | ) |
bool ON_BinaryArchive::Write3dmInstanceDefinitionComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmInstanceDefinitionComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmLayer | ( | const ON_Layer & | ) |
bool ON_BinaryArchive::Write3dmLayerComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmLayerComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmLight | ( | const class ON_Light & | , |
const class ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::Write3dmLinePatternComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmLinePatternComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmLinetype | ( | const class ON_Linetype & | line_pattern | ) |
bool ON_BinaryArchive::Write3dmMaterial | ( | const class ON_Material & | ) |
bool ON_BinaryArchive::Write3dmMaterialComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmMaterialComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::Write3dmModelGeometryComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmModelGeometryComponent | ( | const class ON_ModelGeometryComponent * | model_geometry | ) |
bool ON_BinaryArchive::Write3dmModelLightComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmModelLightComponent | ( | const class ON_ModelGeometryComponent * | model_light | ) |
bool ON_BinaryArchive::Write3dmObject | ( | const ON_Object & | , |
const ON_3dmObjectAttributes * | |||
) |
bool ON_BinaryArchive::Write3dmProperties | ( | const class ON_3dmProperties & | ) |
bool ON_BinaryArchive::Write3dmReferencedComponentId | ( | ON_ModelComponent::Type | component_type, |
ON_UUID | model_component_id | ||
) |
WriteComponentId converts the model ID into an archive ID and writes the archive Id value. Generally, the ID of the component in the model is identical to the ID of the component in the archive. In rare situations this is not the case.
During writing, the m_manifest member stores the model ID as the "Component" value and the 3dm archive ID as the "Manifest" value.
bool ON_BinaryArchive::Write3dmReferencedComponentId | ( | const ON_ModelComponent & | model_component | ) |
bool ON_BinaryArchive::Write3dmReferencedComponentIndex | ( | ON_ModelComponent::Type | component_type, |
int | model_component_index | ||
) |
When writing archives, the index of the component in the model is often different than the index of the component in the archive. WriteComponentIndex converts the model id or index into an archive index and writes the archive index value.
During writing, the m_manifest member stores the model id and index as the "Component" value and the 3dm archive id index as the "Manifest" value.
bool ON_BinaryArchive::Write3dmReferencedComponentIndex | ( | ON_ModelComponent::Type | component_type, |
ON_UUID | model_component_id | ||
) |
When writing archives, the index of the component in the model is often different than the index of the component in the archive. WriteComponentIndex converts the model id or index into an archive index and writes the archive index value.
During writing, the m_manifest member stores the model id and index as the "Component" value and the 3dm archive id index as the "Manifest" value.
bool ON_BinaryArchive::Write3dmReferencedComponentIndex | ( | const ON_ModelComponent & | model_component | ) |
When writing archives, the index of the component in the model is often different than the index of the component in the archive. WriteComponentIndex converts the model id or index into an archive index and writes the archive index value.
During writing, the m_manifest member stores the model id and index as the "Component" value and the 3dm archive id index as the "Manifest" value.
bool ON_BinaryArchive::Write3dmSettings | ( | const class ON_3dmSettings & | ) |
bool ON_BinaryArchive::Write3dmStartSection | ( | int | version, |
const char * | sStartSectionComment | ||
) |
version | [in] 0, 2, 3, 4, 5, 50 or 60 (5 is treated as 50) |
If version is 0, then the value of ON_BinaryArchive::CurrentArchiveVersion() is used.
Use either 0 or the value of ON_BinaryArchive::CurrentArchiveVersion() for the version parameter when you want your code to write the most up to date file version.
sStartSectionComment | [in] nullptr or a UTF-8 encoded string with application name, et cetera. This information is primarily used when debugging files that contain problems. McNeel and Associates stores application name, application version, compile date, and the OS in use when file was written. |
bool ON_BinaryArchive::Write3dmTextureMapping | ( | const class ON_TextureMapping & | ) |
bool ON_BinaryArchive::Write3dmTextureMappingComponent | ( | const class ON_ModelComponentReference & | model_component_reference | ) |
bool ON_BinaryArchive::Write3dmTextureMappingComponent | ( | const class ON_ModelComponent * | model_component | ) |
bool ON_BinaryArchive::WriteArc | ( | const ON_Arc & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< bool > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< char > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< short > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< int > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< float > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< double > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_Color > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_2dPoint > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_3dPoint > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_4dPoint > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_2dVector > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_3dVector > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_2fPoint > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_3fPoint > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_4fPoint > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_2fVector > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_3fVector > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_Xform > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_UUID > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_UuidIndex > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_UuidPtr > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_SurfaceCurvature > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_ClassArray< ON_String > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_ClassArray< ON_wString > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_DisplayMaterialRef > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_LinetypeSegment > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< ON_MappingChannel > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_ClassArray< ON_MaterialRef > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_ClassArray< ON_MappingRef > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_ClassArray< class ON_ObjRef > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< class ON_ObjRef_IRefID > & | ) |
bool ON_BinaryArchive::WriteArray | ( | const ON_SimpleArray< class ON_ClippingPlaneInfo > & | ) |
bool ON_BinaryArchive::WriteArray | ( | int | count, |
const class ON_Layer * | |||
) |
bool ON_BinaryArchive::WriteArray | ( | int | count, |
const class ON_Layer *const * | |||
) |
bool ON_BinaryArchive::WriteBigInt | ( | size_t | , |
const ON__INT64 * | |||
) |
bool ON_BinaryArchive::WriteBigInt | ( | size_t | , |
const ON__UINT64 * | |||
) |
bool ON_BinaryArchive::WriteBigInt | ( | ON__INT64 | ) |
bool ON_BinaryArchive::WriteBigInt | ( | ON__UINT64 | ) |
bool ON_BinaryArchive::WriteBigSize | ( | size_t | ) |
bool ON_BinaryArchive::WriteBigTime | ( | time_t | ) |
bool ON_BinaryArchive::WriteBool | ( | bool | ) |
bool ON_BinaryArchive::WriteBoolFalse | ( | ) |
bool ON_BinaryArchive::WriteBoolTrue | ( | ) |
bool ON_BinaryArchive::WriteBoundingBox | ( | const ON_BoundingBox & | ) |
bool ON_BinaryArchive::WriteByte | ( | size_t | , |
const void * | |||
) |
bool ON_BinaryArchive::WriteChar | ( | size_t | , |
const char * | |||
) |
bool ON_BinaryArchive::WriteChar | ( | size_t | , |
const unsigned char * | |||
) |
bool ON_BinaryArchive::WriteChar | ( | char | ) |
bool ON_BinaryArchive::WriteChar | ( | unsigned | char | ) |
bool ON_BinaryArchive::WriteCircle | ( | const ON_Circle & | ) |
bool ON_BinaryArchive::WriteColor | ( | const ON_Color & | ) |
bool ON_BinaryArchive::WriteComponentIndex | ( | const ON_COMPONENT_INDEX & | ) |
bool ON_BinaryArchive::WriteCompressedBuffer | ( | size_t | sizeof__inbuffer, |
const void * | inbuffer | ||
) |
Compress buffer and write the compressed information to the archive.
sizeof__inbuffer | [in] size of the uncompressed buffer in bytes |
inbuffer | [in] uncompressed buffer |
Write your archive write/read code as if compression is always enabled. Do not vary what get written or read based on the value of UseBufferCompression().
bool ON_BinaryArchive::WriteDisplayMaterialRef | ( | const ON_DisplayMaterialRef & | ) |
bool ON_BinaryArchive::WriteDouble | ( | size_t | , |
const double * | |||
) |
bool ON_BinaryArchive::WriteDouble | ( | double | ) |
bool ON_BinaryArchive::WriteFloat | ( | size_t | , |
const float * | |||
) |
bool ON_BinaryArchive::WriteFloat | ( | float | ) |
bool ON_BinaryArchive::WriteInt | ( | size_t | , |
const int * | |||
) |
bool ON_BinaryArchive::WriteInt | ( | size_t | , |
const unsigned int * | |||
) |
bool ON_BinaryArchive::WriteInt | ( | int | ) |
bool ON_BinaryArchive::WriteInt | ( | unsigned | int | ) |
bool ON_BinaryArchive::WriteInterval | ( | const ON_Interval & | ) |
bool ON_BinaryArchive::WriteLine | ( | const ON_Line & | ) |
bool ON_BinaryArchive::WriteLinetypeSegment | ( | const ON_LinetypeSegment & | ) |
bool ON_BinaryArchive::WriteLong | ( | size_t | , |
const long * | |||
) |
bool ON_BinaryArchive::WriteLong | ( | size_t | , |
const unsigned long * | |||
) |
bool ON_BinaryArchive::WriteLong | ( | long | ) |
bool ON_BinaryArchive::WriteLong | ( | unsigned | long | ) |
bool ON_BinaryArchive::WriteMode | ( | ) | const |
bool ON_BinaryArchive::WriteModelComponentAttributes | ( | const class ON_ModelComponent & | model_component, |
unsigned int | attributes_filter | ||
) |
Writes the attributes identified by the component_filter parameter.
model_component | [in] |
attributes_filter | [in] A bitfield that determines which attributes will be written. |
bool ON_BinaryArchive::WriteModelComponentName | ( | const ON_ModelComponent & | model_component | ) |
bool ON_BinaryArchive::WriteObject | ( | const ON_Object * | ) |
bool ON_BinaryArchive::WriteObject | ( | const ON_Object & | ) |
bool ON_BinaryArchive::WriteObjectUserData | ( | const ON_Object & | object | ) |
Low level tool to writes user data attached to the object. This function should never be called directly.
object | [in] |
bool ON_BinaryArchive::WritePlane | ( | const ON_Plane & | ) |
bool ON_BinaryArchive::WritePlaneEquation | ( | const ON_PlaneEquation & | ) |
bool ON_BinaryArchive::WritePoint | ( | const ON_2dPoint & | ) |
bool ON_BinaryArchive::WritePoint | ( | const ON_3dPoint & | ) |
bool ON_BinaryArchive::WritePoint | ( | const ON_4dPoint & | ) |
bool ON_BinaryArchive::WriteShort | ( | size_t | , |
const short * | |||
) |
bool ON_BinaryArchive::WriteShort | ( | size_t | , |
const unsigned short * | |||
) |
bool ON_BinaryArchive::WriteShort | ( | short | ) |
bool ON_BinaryArchive::WriteShort | ( | unsigned | short | ) |
bool ON_BinaryArchive::WriteSize | ( | size_t | ) |
bool ON_BinaryArchive::WriteString | ( | const char * | sUTF8 | ) |
sUTF8 | [in] A null terminated UTF-8 encoded unicode string. |
To read a string written with WriteString(const char*), call ReadStringUTF8ElementCount(&string_utf8_element_count) to get the number of char elements written in the file, obtain a buffer with at least string_utf8_element_count char elements and then call ReadString(string_utf8_element_count,buffer) to read the char elements.
If 0 == sUTF8 or 0 == SUTF8[0], a 4 byte int with value = 0 is written, otherwise a 4 byte int with value = strlen + 1 is written, followed by the string, followed by the null terminator.
bool ON_BinaryArchive::WriteString | ( | const unsigned char * | sUTF8 | ) |
sUTF8 | [in] A null terminated UTF-8 encoded unicode string. |
To read a string written with WriteString(const unsigned char*), call ReadStringUTF8ElementCount(&string_utf8_element_count) to get the number of unsigned char elements written in the file, obtain a buffer with at least string_utf8_element_count unsigned char elements and then call ReadString(string_utf8_element_count,buffer) to read the unsigned charelements.
If 0 == sUTF8 or 0 == SUTF8[0], a 4 byte int with value = 0 is written, otherwise a 4 byte int with value = strlen + 1 is written, followed by the string, followed by the null terminator.
bool ON_BinaryArchive::WriteString | ( | const ON_String & | sUTF8 | ) |
bool ON_BinaryArchive::WriteString | ( | const ON_wString & | s | ) |
bool ON_BinaryArchive::WriteTime | ( | const struct tm & | ) |
bool ON_BinaryArchive::WriteUTF16String | ( | const unsigned short * | sUTF16 | ) |
sUTF16 | [in] A null terminated UTF-16 encoded unicode string. |
To read a string written with WriteString(const unsigned short*), call ReadStringUTF16ElementCount(&string_utf16_element_count) to get the number of unsigned short elements written in the file, obtain a buffer with at least string_utf16_element_count unsigned short elements and then call ReadString(string_utf16_element_count,buffer) to read the unsigned short elements.
If 0 == sUTF8 or 0 == SUTF8[0], a 4 byte int with value = 0 is written, otherwise a 4 byte int with value = strlen + 1 is written, followed by the string, followed by the null terminator.
bool ON_BinaryArchive::WriteUuid | ( | const ON_UUID & | ) |
bool ON_BinaryArchive::WriteVector | ( | const ON_2dVector & | ) |
bool ON_BinaryArchive::WriteVector | ( | const ON_3dVector & | ) |
bool ON_BinaryArchive::WriteWideString | ( | const wchar_t * | sWideChar, |
int | sWideChar_count | ||
) |
Write a wide string as a UTF-8 encoded string.
bool ON_BinaryArchive::WriteWideString | ( | const ON_wString & | wide_string | ) |
Write a wide string as a UTF-8 encoded string.
bool ON_BinaryArchive::WriteXform | ( | const ON_Xform & | ) |
|
friend |