![]() |
OpenVDB 13.0.1
|
Classes | |
| class | Archive |
| Grid serializer/unserializer. More... | |
| class | DelayedLoadMetadata |
| Store a buffer of data that can be optionally used during reading for faster delayed-load I/O performance. More... | |
| class | File |
| Grid archive associated with a file on disk. More... | |
| class | GridDescriptor |
| struct | HalfReader |
| struct | HalfReader< false, T > |
| Partial specialization for non-floating-point types (no half to float promotion) More... | |
| struct | HalfReader< true, T > |
| Partial specialization for floating-point types. More... | |
| struct | HalfWriter |
| struct | HalfWriter< false, T > |
| Partial specialization for non-floating-point types (no float to half quantization) More... | |
| struct | HalfWriter< true, T > |
| Partial specialization for floating-point types. More... | |
| struct | MaskCompress |
| struct | MultiPass |
| Leaf nodes that require multi-pass I/O must inherit from this struct. More... | |
| class | Queue |
| Queue for asynchronous output of grids to files or streams. More... | |
| struct | RealToHalf |
| RealToHalf and its specializations define a mapping from floating-point data types to analogous half float types. More... | |
| struct | RealToHalf< double > |
| struct | RealToHalf< float > |
| struct | RealToHalf< Vec2d > |
| struct | RealToHalf< Vec2s > |
| struct | RealToHalf< Vec3d > |
| struct | RealToHalf< Vec3s > |
| class | Stream |
| Grid archive associated with arbitrary input and output streams (not necessarily files) More... | |
| class | StreamMetadata |
| Container for metadata describing how to unserialize grids from and/or serialize grids to a stream (which file format, compression scheme, etc. to use) More... | |
Enumerations | |
| enum | { COMPRESS_NONE = 0 , COMPRESS_ZIP = 0x1 , COMPRESS_ACTIVE_MASK = 0x2 , COMPRESS_BLOSC = 0x4 } |
| OR-able bit flags for compression options on input and output streams. More... | |
| enum | { NO_MASK_OR_INACTIVE_VALS , NO_MASK_AND_MINUS_BG , NO_MASK_AND_ONE_INACTIVE_VAL , MASK_AND_NO_INACTIVE_VALS , MASK_AND_ONE_INACTIVE_VAL , MASK_AND_TWO_INACTIVE_VALS , NO_MASK_AND_ALL_VALS } |
Functions | |
| std::string | compressionToString (uint32_t flags) |
| Return a string describing the given compression flags. | |
| template<typename T> | |
| T | truncateRealToHalf (const T &val) |
| Return the given value truncated to 16-bit float precision. | |
| size_t | zipToStreamSize (const char *data, size_t numBytes) |
| void | zipToStream (std::ostream &, const char *data, size_t numBytes) |
| void | unzipFromStream (std::istream &, char *data, size_t numBytes) |
| size_t | bloscToStreamSize (const char *data, size_t valSize, size_t numVals) |
| void | bloscToStream (std::ostream &, const char *data, size_t valSize, size_t numVals) |
| void | bloscFromStream (std::istream &, char *data, size_t numBytes) |
| template<typename T> | |
| void | readData (std::istream &is, T *data, Index count, uint32_t compression, DelayedLoadMetadata *metadata=nullptr, size_t metadataOffset=size_t(0)) |
| Read data from a stream. | |
| template<> | |
| void | readData< std::string > (std::istream &is, std::string *data, Index count, uint32_t, DelayedLoadMetadata *, size_t) |
| Specialization for std::string input. | |
| template<typename T> | |
| size_t | writeDataSize (const T *data, Index count, uint32_t compression) |
| template<> | |
| size_t | writeDataSize< std::string > (const std::string *data, Index count, uint32_t) |
| Specialization for std::string output. | |
| template<typename T> | |
| void | writeData (std::ostream &os, const T *data, Index count, uint32_t compression) |
| template<> | |
| void | writeData< std::string > (std::ostream &os, const std::string *data, Index count, uint32_t) |
| Specialization for std::string output. | |
| template<typename ValueT, typename MaskT> | |
| void | readCompressedValues (std::istream &is, ValueT *destBuf, Index destCount, const MaskT &valueMask, bool fromHalf) |
| template<typename ValueT, typename MaskT> | |
| size_t | writeCompressedValuesSize (ValueT *srcBuf, Index srcCount, const MaskT &valueMask, uint8_t maskMetadata, bool toHalf, uint32_t compress) |
| template<typename ValueT, typename MaskT> | |
| void | writeCompressedValues (std::ostream &os, const ValueT *srcBuf, Index srcCount, const MaskT &valueMask, const MaskT &childMask, bool toHalf) |
| std::ostream & | operator<< (std::ostream &, const StreamMetadata &) |
| Write a description of the given metadata to an output stream. | |
| std::ostream & | operator<< (std::ostream &, const StreamMetadata::AuxDataMap &) |
| std::string | getErrorString (int errorNum) |
| Return a string (possibly empty) describing the given system error code. | |
| std::string | getErrorString () |
| Return a string (possibly empty) describing the most recent system error. | |
| uint32_t | getFormatVersion (std::ios_base &) |
| Return the file format version number associated with the given input stream. | |
| void | checkFormatVersion (std::ios_base &) |
| Throws an IoError if the file format version number is not supported. | |
| VersionId | getLibraryVersion (std::ios_base &) |
| Return the (major, minor) library version number associated with the given input stream. | |
| std::string | getVersion (std::ios_base &) |
| Return a string of the form "<major>.<minor>/<format>", giving the library and file format version numbers associated with the given input stream. | |
| void | setCurrentVersion (std::istream &) |
| Associate the current file format and library version numbers with the given input stream. | |
| void | setVersion (std::ios_base &, const VersionId &libraryVersion, uint32_t fileVersion) |
| Associate specific file format and library version numbers with the given stream. | |
| uint32_t | getDataCompression (std::ios_base &) |
| Return a bitwise OR of compression option flags (COMPRESS_ZIP, COMPRESS_ACTIVE_MASK, etc.) specifying whether and how input data is compressed or output data should be compressed. | |
| void | setDataCompression (std::ios_base &, uint32_t compressionFlags) |
| Associate with the given stream a bitwise OR of compression option flags (COMPRESS_ZIP, COMPRESS_ACTIVE_MASK, etc.) specifying whether and how input data is compressed or output data should be compressed. | |
| uint32_t | getGridClass (std::ios_base &) |
| Return the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently being read from or written to the given stream. | |
| void | setGridClass (std::ios_base &, uint32_t) |
| Associate with the given stream the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently being read or written. | |
| bool | getHalfFloat (std::ios_base &) |
| Return true if floating-point values should be quantized to 16 bits when writing to the given stream or promoted back from 16-bit to full precision when reading from it. | |
| void | setHalfFloat (std::ios_base &, bool) |
| Specify whether floating-point values should be quantized to 16 bits when writing to the given stream or promoted back from 16-bit to full precision when reading from it. | |
| const void * | getGridBackgroundValuePtr (std::ios_base &) |
| Return a pointer to the background value of the grid currently being read from or written to the given stream. | |
| void | setGridBackgroundValuePtr (std::ios_base &, const void *background) |
| Specify (a pointer to) the background value of the grid currently being read from or written to the given stream. | |
| bool | getWriteGridStatsMetadata (std::ios_base &) |
Return true if grid statistics (active voxel count and bounding box, etc.) should be computed and stored as grid metadata when writing to the given stream. | |
| void | setWriteGridStatsMetadata (std::ios_base &, bool writeGridStats) |
| Specify whether to compute grid statistics (active voxel count and bounding box, etc.) and store them as grid metadata when writing to the given stream. | |
| SharedPtr< StreamMetadata > | getStreamMetadataPtr (std::ios_base &) |
| Return a shared pointer to an object that stores metadata (file format, compression scheme, etc.) for use when reading from or writing to the given stream. | |
| void | setStreamMetadataPtr (std::ios_base &, SharedPtr< StreamMetadata > &, bool transfer=true) |
| Associate the given stream with (a shared pointer to) an object that stores metadata (file format, compression scheme, etc.) for use when reading from or writing to the stream. | |
| SharedPtr< StreamMetadata > | clearStreamMetadataPtr (std::ios_base &) |
| Dissociate the given stream from its metadata object (if it has one) and return a shared pointer to the object. | |
| template<> | |
| void | readCompressedValues (std::istream &is, PointDataIndex32 *destBuf, Index destCount, const util::NodeMask< 3 > &, bool) |
| openvdb::io::readCompressedValues specialized on PointDataIndex32 arrays to ignore the value mask, use a larger block size and use 16-bit size instead of 64-bit | |
| template<> | |
| void | writeCompressedValues (std::ostream &os, const PointDataIndex32 *srcBuf, Index srcCount, const util::NodeMask< 3 > &, const util::NodeMask< 3 > &, bool) |
| openvdb::io::writeCompressedValues specialized on PointDataIndex32 arrays to ignore the value mask, use a larger block size and use 16-bit size instead of 64-bit | |
| template<typename T> | |
| void | writeCompressedValuesSize (std::ostream &os, const T *srcBuf, Index srcCount) |
| anonymous enum |
| anonymous enum |
OR-able bit flags for compression options on input and output streams.
On write, don't compress data.
On read, the input stream contains uncompressed data.
When writing grids other than level sets or fog volumes, apply ZLIB compression to internal and leaf node value buffers.
When reading grids other than level sets or fog volumes, indicate that the value buffers of internal and leaf nodes are ZLIB-compressed.
ZLIB compresses well but is slow.
When writing a grid of any class, don't output a node's inactive values if it has two or fewer distinct values. Instead, output minimal information to permit the lossless reconstruction of inactive values.
On read, nodes might have been stored without inactive values. Where necessary, reconstruct inactive values from available information.
| Enumerator | |
|---|---|
| COMPRESS_NONE | |
| COMPRESS_ZIP | |
| COMPRESS_ACTIVE_MASK | |
| COMPRESS_BLOSC | |
| void bloscFromStream | ( | std::istream & | , |
| char * | data, | ||
| size_t | numBytes ) |
| void bloscToStream | ( | std::ostream & | , |
| const char * | data, | ||
| size_t | valSize, | ||
| size_t | numVals ) |
| size_t bloscToStreamSize | ( | const char * | data, |
| size_t | valSize, | ||
| size_t | numVals ) |
| void checkFormatVersion | ( | std::ios_base & | ) |
Throws an IoError if the file format version number is not supported.
| SharedPtr< StreamMetadata > clearStreamMetadataPtr | ( | std::ios_base & | ) |
Dissociate the given stream from its metadata object (if it has one) and return a shared pointer to the object.
| std::string compressionToString | ( | uint32_t | flags | ) |
Return a string describing the given compression flags.
| uint32_t getDataCompression | ( | std::ios_base & | ) |
Return a bitwise OR of compression option flags (COMPRESS_ZIP, COMPRESS_ACTIVE_MASK, etc.) specifying whether and how input data is compressed or output data should be compressed.
| std::string getErrorString | ( | ) |
Return a string (possibly empty) describing the most recent system error.
| std::string getErrorString | ( | int | errorNum | ) |
Return a string (possibly empty) describing the given system error code.
| uint32_t getFormatVersion | ( | std::ios_base & | ) |
Return the file format version number associated with the given input stream.
| const void * getGridBackgroundValuePtr | ( | std::ios_base & | ) |
Return a pointer to the background value of the grid currently being read from or written to the given stream.
| uint32_t getGridClass | ( | std::ios_base & | ) |
Return the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently being read from or written to the given stream.
| bool getHalfFloat | ( | std::ios_base & | ) |
Return true if floating-point values should be quantized to 16 bits when writing to the given stream or promoted back from 16-bit to full precision when reading from it.
| VersionId getLibraryVersion | ( | std::ios_base & | ) |
Return the (major, minor) library version number associated with the given input stream.
| SharedPtr< StreamMetadata > getStreamMetadataPtr | ( | std::ios_base & | ) |
Return a shared pointer to an object that stores metadata (file format, compression scheme, etc.) for use when reading from or writing to the given stream.
| std::string getVersion | ( | std::ios_base & | ) |
Return a string of the form "<major>.<minor>/<format>", giving the library and file format version numbers associated with the given input stream.
| bool getWriteGridStatsMetadata | ( | std::ios_base & | ) |
Return true if grid statistics (active voxel count and bounding box, etc.) should be computed and stored as grid metadata when writing to the given stream.
| std::ostream & operator<< | ( | std::ostream & | , |
| const StreamMetadata & | ) |
Write a description of the given metadata to an output stream.
| std::ostream & operator<< | ( | std::ostream & | , |
| const StreamMetadata::AuxDataMap & | ) |
|
inline |
openvdb::io::readCompressedValues specialized on PointDataIndex32 arrays to ignore the value mask, use a larger block size and use 16-bit size instead of 64-bit
|
inline |
Populate the given buffer with destCount values of type ValueT read from the given stream, taking into account that the stream might have been compressed via one of several supported schemes. [Mainly for internal use]
| is | a stream from which to read data (possibly compressed, depending on the stream's compression settings) |
| destBuf | a buffer into which to read values of type ValueT |
| destCount | the number of values to be stored in the buffer |
| valueMask | a bitmask (typically, a node's value mask) indicating which positions in the buffer correspond to active values |
| fromHalf | if true, read 16-bit half floats from the input stream and convert them to full floats |
|
inline |
Read data from a stream.
| is | the input stream |
| data | the contiguous array of data to read in |
| count | the number of elements to read in |
| compression | whether and how the data is compressed (either COMPRESS_NONE, COMPRESS_ZIP, COMPRESS_ACTIVE_MASK or COMPRESS_BLOSC) |
| metadata | optional pointer to a DelayedLoadMetadata object that stores the size of the compressed buffer |
| metadataOffset | offset into DelayedLoadMetadata, ignored if pointer is null |
| IoError | if compression is COMPRESS_BLOSC but OpenVDB was compiled without Blosc support. |
This default implementation is instantiated only for types whose size can be determined by the sizeof() operator.
|
inline |
Specialization for std::string input.
| void setCurrentVersion | ( | std::istream & | ) |
Associate the current file format and library version numbers with the given input stream.
| void setDataCompression | ( | std::ios_base & | , |
| uint32_t | compressionFlags ) |
Associate with the given stream a bitwise OR of compression option flags (COMPRESS_ZIP, COMPRESS_ACTIVE_MASK, etc.) specifying whether and how input data is compressed or output data should be compressed.
| void setGridBackgroundValuePtr | ( | std::ios_base & | , |
| const void * | background ) |
Specify (a pointer to) the background value of the grid currently being read from or written to the given stream.
| void setGridClass | ( | std::ios_base & | , |
| uint32_t | ) |
Associate with the given stream the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently being read or written.
| void setHalfFloat | ( | std::ios_base & | , |
| bool | ) |
Specify whether floating-point values should be quantized to 16 bits when writing to the given stream or promoted back from 16-bit to full precision when reading from it.
| void setStreamMetadataPtr | ( | std::ios_base & | , |
| SharedPtr< StreamMetadata > & | , | ||
| bool | transfer = true ) |
Associate the given stream with (a shared pointer to) an object that stores metadata (file format, compression scheme, etc.) for use when reading from or writing to the stream.
If transfer is true, copy metadata from the object directly to the stream (for backward compatibility with older versions of the library).
| void setVersion | ( | std::ios_base & | , |
| const VersionId & | libraryVersion, | ||
| uint32_t | fileVersion ) |
Associate specific file format and library version numbers with the given stream.
This is typically called immediately after reading a header that contains the version numbers. Data read subsequently can then be interpreted appropriately.
| void setWriteGridStatsMetadata | ( | std::ios_base & | , |
| bool | writeGridStats ) |
Specify whether to compute grid statistics (active voxel count and bounding box, etc.) and store them as grid metadata when writing to the given stream.
|
inline |
Return the given value truncated to 16-bit float precision.
| void unzipFromStream | ( | std::istream & | , |
| char * | data, | ||
| size_t | numBytes ) |
|
inline |
openvdb::io::writeCompressedValues specialized on PointDataIndex32 arrays to ignore the value mask, use a larger block size and use 16-bit size instead of 64-bit
|
inline |
Write srcCount values of type ValueT to the given stream, optionally after compressing the values via one of several supported schemes. [Mainly for internal use]
| os | a stream to which to write data (possibly compressed, depending on the stream's compression settings) |
| srcBuf | a buffer containing values of type ValueT to be written |
| srcCount | the number of values stored in the buffer |
| valueMask | a bitmask (typically, a node's value mask) indicating which positions in the buffer correspond to active values |
| childMask | a bitmask (typically, a node's child mask) indicating which positions in the buffer correspond to child node pointers |
| toHalf | if true, convert floating-point values to 16-bit half floats |
|
inline |
|
inline |
|
inline |
Write data to a stream.
| os | the output stream |
| data | the contiguous array of data to write |
| count | the number of elements to write out |
| compression | whether and how to compress the data (either COMPRESS_NONE, COMPRESS_ZIP, COMPRESS_ACTIVE_MASK or COMPRESS_BLOSC) |
| IoError | if compression is COMPRESS_BLOSC but OpenVDB was compiled without Blosc support. |
This default implementation is instantiated only for types whose size can be determined by the sizeof() operator.
|
inline |
Specialization for std::string output.
|
inline |
|
inline |
Specialization for std::string output.
| void zipToStream | ( | std::ostream & | , |
| const char * | data, | ||
| size_t | numBytes ) |
| size_t zipToStreamSize | ( | const char * | data, |
| size_t | numBytes ) |