Close

Relief for ODA Team in Ukraine

Learn more
ODA PRC SDK
PRC Data Types Supported in ODA Platform

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.

Uncompressed Data Types

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

Compressed Simple Data Types

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

Compressed Complex Data Types

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

Compressed Range Data Types

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

Compressed Base Geometry Data Types

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

See also

Supported Functionality and Platforms

PRC Format Concepts

Copyright © 2002 – 2022. Open Design Alliance. All rights reserved.