Data in a .prc file is stored as a contiguous byte stream with a specified start and end offset relative to the beginning of the file. This data section can be compressed or uncompressed.
Data of various types in an uncompressed section occupy a specified number of bytes.
In the case of a compressed section, data is written in a bit-by-bit way without checking crossing byte boundaries. The last byte of the data section is padded with zero bits if it is necessary, then all the section data is compressed and written to the physical file.
Section data can be directly accessed because the section byte offset relative to the beginning of the file is stored in the .prc file.
Uncompressed and compressed PRC data types implemented in ODA PRC SDK are represented in the following table.
PRC Data Type | Description | ODA PRC SDK Class or Data Type |
---|---|---|
UncompressedUnsignedInteger | Unsigned integer represented with 4 bytes | Can be represented with the OdUInt32 data type |
UncompressedBlock | A block of binary data with specified size | Can be represented with an array of OdUInt8 data type |
UncompressedFiles | An array of UncompressedBlock | Can be represented with an array of OdUInt8 data type |
UncompressedUniqueId | An uncompressed unique identifier | Can be represented with the OdPrcUniqueId class |
PRC Data Type | Description | ODA PRC SDK Class or Data Type |
---|---|---|
Bits(n) | n bits (from left to right) value | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
Boolean | Single bit boolean value | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
Character | Single 8 bits character | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
Integer | Compressed integer value | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
IntegerWithVariableBitNumber | Compressed integer with non-constant bits quantity | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
UnsignedInteger | Compressed unsigned integer | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
UnsignedIntegerWithVariableBitNumber | Compressed unsigned integer with non-constant bits quantity | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
NumberOfBitsThenUnsignedInteger | Number of bits occupied with an unsigned integer value | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
Float | A float value which occupies 4 bytes | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
Double | Compressed double value | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
DoubleWithVariableBitNumber | Compressed double value with non-constant bits quantity | Operations with data type are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
PRC Data Type | Description | ODA PRC SDK Class or Data Type |
---|---|---|
CompressedEntityType | Surface or curve type for compressed boundary representation data | Operations with data types are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
CompressedUniqueId | Compressed unique identifier for PRC entities | Input/output operations are implemented in the OdPrcUniqueId class |
String | UTF8 string | Operations with data types are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
CharacterArray | Array of characters | Operations with data types are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
ShortArray | Array of short integers | Operations with data types are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
CompressedIntegerArray | Array of integers | Operations with data types are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
CompressedIndiceArray | Array of indices | Operations with data types are implemented in ODA PRC SDK classes inherited from OdPrcCompressedFiler |
UserData | User Defined data of various types | Operations with user data are implemented with the OdPrcUserData class. Working with UserDataStream can be implemented with the OdBitBinaryData class from ODA Kernel SDK Working with UserDataSubSection can be implemented with the OdBitBinaryData class from ODA Kernel SDK |
PRC Data Type | Description | ODA PRC SDK Class or Data Type |
---|---|---|
Infinite_param | Used for storing the infinitive parameter value | Implemented with kLowerInfinite, kUpperInfinite and kInfinite static members of the OdPrcDomain class |
Interval | Interval value | Implemented with the OdPrcInterval class |
Parameterization | Parameterization data used to reparameterize a curve | Implemented with the OdPrcParameterization class |
OdPrcDomain | Domain for defining a surface. | Implemented with the OdPrcDomain class |
UVParameterization | Surface reparameterization towards implicit parameterization | Implemented with the OdPrcUVParameterization class |
PRC Data Type | Description | ODA PRC SDK Class or Data Type |
---|---|---|
Vector2d | Two dimensional vector | Represented with the OdGeVector2d class from ODA Kernel SDK |
Vector3d | Three dimensional vector | Represented with the OdGeVector3d class from ODA Kernel SDK |
BoundingBox | Bounding box with sides parallel to the XYZ coordinate planes | Represented with the OdPrcBoundingBox class |
Copyright © 2002 – 2022. Open Design Alliance. All rights reserved.
|