Arrays
Types that describe data arrays within the OMF file.
OmfArrayType
Contains the type of an array.
typedef enum { ... } OmfArrayType;
Options
- OMF_ARRAY_TYPE_IMAGE
- An array that stores a single image.
- OMF_ARRAY_TYPE_SCALARS32
- Scalar data in 32-bit floating-point.
- OMF_ARRAY_TYPE_SCALARS64
- Scalar data in 64-bit floating-point.
- OMF_ARRAY_TYPE_VERTICES32
- Vertex positions in 32-bit floating-point.
- OMF_ARRAY_TYPE_VERTICES64
- Vertex positions in 64-bit floating-point.
- OMF_ARRAY_TYPE_SEGMENTS
- Segments as pairs of indices into a vertex array.
- OMF_ARRAY_TYPE_TRIANGLES
- Triangles as triples of indices into a vertex array. Winding is counter-clockwise around an outward-pointing normal.
- OMF_ARRAY_TYPE_NAMES
- Category names.
- OMF_ARRAY_TYPE_GRADIENT
- Category or colormap colors.
- OMF_ARRAY_TYPE_TEXCOORDS32
- UV texture coordinates in 32-bit floating-point.
- OMF_ARRAY_TYPE_TEXCOORDS64
- UV texture coordinates in 64-bit floating-point.
- OMF_ARRAY_TYPE_BOUNDARIES_FLOAT32
- Discrete colormap boundaries, storing a value and inclusive flag, in 32-bit floating-point.
- OMF_ARRAY_TYPE_BOUNDARIES_FLOAT64
- Discrete colormap boundaries, storing a value and inclusive flag, in 64-bit floating-point.
- OMF_ARRAY_TYPE_BOUNDARIES_INT64
- Discrete colormap boundaries, storing a value and inclusive flag, in 64-bit integer.
- OMF_ARRAY_TYPE_BOUNDARIES_DATE
- Discrete colormap boundaries, storing a value and inclusive flag, in days since the epoch.
- OMF_ARRAY_TYPE_BOUNDARIES_DATE_TIME
- Discrete colormap boundaries, storing a value and inclusive flag, in microseconds since the epoch.
- OMF_ARRAY_TYPE_REGULAR_SUBBLOCKS
- Regular sub-block parent indices and min/max corners.
- OMF_ARRAY_TYPE_FREEFORM_SUBBLOCKS32
- Free-form sub-block parent indices, and min/max corners in 32-bit floating-point.
- OMF_ARRAY_TYPE_FREEFORM_SUBBLOCKS64
- Free-form sub-block parent indices, and min/max corners in 64-bit floating-point.
- OMF_ARRAY_TYPE_NUMBERS_FLOAT32
- Nullable number attribute values, in 32-bit floating-point.
- OMF_ARRAY_TYPE_NUMBERS_FLOAT64
- Nullable number attribute values, in 64-bit floating-point.
- OMF_ARRAY_TYPE_NUMBERS_INT64
- Nullable number attribute values, in 64-bit integer.
- OMF_ARRAY_TYPE_NUMBERS_DATE
- Nullable number attribute values, in days since the epoch.
- OMF_ARRAY_TYPE_NUMBERS_DATE_TIME
- Nullable number attribute values, in microseconds since the epoch.
- OMF_ARRAY_TYPE_INDICES
- Nullable index values for category attributes.
- OMF_ARRAY_TYPE_VECTORS32X2
- Nullable 2D vectors in 32-bit floating-point.
- OMF_ARRAY_TYPE_VECTORS64X2
- Nullable 2D vectors in 64-bit floating-point.
- OMF_ARRAY_TYPE_VECTORS32X3
- Nullable 3D vectors in 32-bit floating-point.
- OMF_ARRAY_TYPE_VECTORS64X3
- Nullable 3D vectors in 64-bit floating-point.
- OMF_ARRAY_TYPE_TEXT
- Nullable text in UTF-8 encoding and nul-terminated. Applications may treat empty an null strings as the same thing.
- OMF_ARRAY_TYPE_BOOLEANS
- Nullable boolean values: true, false, or null. Applications that don't support three-valued logic may treat null as false.
- OMF_ARRAY_TYPE_COLORS
- Nullable RGBA colors, 8-bits per channel.
OmfArray
References an array in the OMF file.
A single type is used to store references to all the different array types.
See OmfReader
and OmfWriter
for the functions that create and consume arrays.
typedef struct { /* private fields */ } OmfArray;
OmfArrayInfo
typedef struct {
OmfArrayType array_type;
uint64_t item_count;
uint64_t compressed_size;
} OmfArrayInfo;
Fields
- array_type:
OmfArrayType
- The type of data that the array stores.
- item_count:
uint64_t
- The number of items in the array.
- compressed_size:
uint64_t
- The compressed size of the array inside the Zip archive.