Grid serializer/unserializer. More...
#include <openvdb/io/Archive.h>
Public Types | |
| using | Ptr = SharedPtr<Archive> |
| using | ConstPtr = SharedPtr<const Archive> |
Public Member Functions | |
| Archive () | |
| Archive (const Archive &)=default | |
| Archive & | operator= (const Archive &)=default |
| virtual | ~Archive () |
| virtual Ptr | copy () const |
| Return a copy of this archive. | |
| std::string | getUniqueTag () const |
| Return the UUID that was most recently written (or read, if no UUID has been written yet). | |
| bool | isIdentical (const std::string &uuidStr) const |
Return true if the given UUID matches this archive's UUID. | |
| uint32_t | fileVersion () const |
| Return the file format version number of the input stream. | |
| VersionId | libraryVersion () const |
| Return the (major, minor) version number of the library that was used to write the input stream. | |
| std::string | version () const |
| Return a string of the form "<major>.<minor>/<format>", giving the library and file format version numbers associated with the input stream. | |
| bool | isInstancingEnabled () const |
Return true if trees shared by multiple grids are written out only once, false if they are written out once per grid. | |
| void | setInstancingEnabled (bool b) |
Specify whether trees shared by multiple grids should be written out only once (true) or once per grid (false). | |
| uint32_t | compression () const |
| Return a bit mask specifying compression options for the data stream. | |
| void | setCompression (uint32_t c) |
| Specify whether and how the data stream should be compressed. | |
| bool | isGridStatsMetadataEnabled () const |
Return true if grid statistics (active voxel count and bounding box, etc.) are computed and written as grid metadata. | |
| void | setGridStatsMetadataEnabled (bool b) |
| Specify whether grid statistics (active voxel count and bounding box, etc.) should be computed and written as grid metadata. | |
| virtual void | write (const GridCPtrVec &, const MetaMap &=MetaMap()) const |
| Write the grids in the given container to this archive's output stream. | |
Static Public Member Functions | |
| static bool | hasBloscCompression () |
Return true if the OpenVDB library includes support for the Blosc compressor. | |
| static bool | hasZLibCompression () |
Return true if the OpenVDB library includes support for the ZLib compressor. | |
| static bool | isDelayedLoadingEnabled () |
Return true if delayed loading is enabled. | |
Static Public Attributes | |
| static const uint32_t | DEFAULT_COMPRESSION_FLAGS |
Protected Types | |
| using | NamedGridMap = std::map<Name , GridBase::Ptr> |
Protected Member Functions | |
| bool | inputHasGridOffsets () const |
Return true if the input stream contains grid offsets that allow for random access or partial reading. | |
| void | setInputHasGridOffsets (bool b) |
| void | setFormatVersion (std::istream &) |
| Tag the given input stream with the input file format version number. | |
| void | setLibraryVersion (std::istream &) |
| Tag the given input stream with the version number of the library with which the input stream was created. | |
| void | setDataCompression (std::istream &) |
| Tag the given input stream with flags indicating whether the input stream contains compressed data and how it is compressed. | |
| void | setGridCompression (std::ostream &, const GridBase &) const |
| Tag an output stream with flags specifying only those compression options that are applicable to the given grid. | |
| void | connectInstance (const GridDescriptor &, const NamedGridMap &) const |
| If the grid represented by the given grid descriptor is an instance, connect it with its instance parent. | |
| void | writeGrid (GridDescriptor &, GridBase::ConstPtr, std::ostream &, bool seekable) const |
| void | writeGridInstance (GridDescriptor &, GridBase::ConstPtr, std::ostream &, bool seekable) const |
| bool | readHeader (std::istream &) |
| Read the magic number, version numbers, UUID, etc. from the given input stream. | |
| void | writeHeader (std::ostream &, bool seekable) const |
| Write the magic number, version numbers, UUID, etc. to the given output stream. | |
| void | write (std::ostream &, const GridPtrVec &, bool seekable, const MetaMap &=MetaMap()) const |
| Write the given grids to an output stream. | |
| void | write (std::ostream &, const GridCPtrVec &, bool seekable, const MetaMap &=MetaMap()) const |
Static Protected Member Functions | |
| static void | readGridCompression (std::istream &) |
| Read in the compression flags for a grid and tag the given input stream with those flags. | |
| static int32_t | readGridCount (std::istream &) |
| Read in and return the number of grids on the input stream. | |
| static void | readGrid (GridBase::Ptr, const GridDescriptor &, std::istream &) |
| Populate the given grid from the input stream. | |
| static void | readGrid (GridBase::Ptr, const GridDescriptor &, std::istream &, const BBoxd &) |
| Populate the given grid from the input stream, but only where it intersects the given world-space bounding box. | |
| static void | readGrid (GridBase::Ptr, const GridDescriptor &, std::istream &, const CoordBBox &) |
| Populate the given grid from the input stream, but only where it intersects the given index-space bounding box. | |
Friends | |
| class | ::TestFile |
Grid serializer/unserializer.
|
protected |
| Archive | ( | ) |
|
virtual |
|
inline |
Return a bit mask specifying compression options for the data stream.
|
protected |
If the grid represented by the given grid descriptor is an instance, connect it with its instance parent.
|
virtual |
|
inline |
Return the file format version number of the input stream.
| std::string getUniqueTag | ( | ) | const |
Return the UUID that was most recently written (or read, if no UUID has been written yet).
|
static |
Return true if the OpenVDB library includes support for the Blosc compressor.
|
static |
Return true if the OpenVDB library includes support for the ZLib compressor.
|
inlineprotected |
Return true if the input stream contains grid offsets that allow for random access or partial reading.
|
static |
Return true if delayed loading is enabled.
If enabled, delayed loading can be disabled for individual files, but not vice-versa.
OPENVDB_DISABLE_DELAYED_LOAD to disable delayed loading unconditionally.
|
inline |
Return true if grid statistics (active voxel count and bounding box, etc.) are computed and written as grid metadata.
| bool isIdentical | ( | const std::string & | uuidStr | ) | const |
Return true if the given UUID matches this archive's UUID.
|
inline |
Return true if trees shared by multiple grids are written out only once, false if they are written out once per grid.
|
inline |
Return the (major, minor) version number of the library that was used to write the input stream.
|
staticprotected |
Populate the given grid from the input stream.
|
staticprotected |
Populate the given grid from the input stream, but only where it intersects the given world-space bounding box.
|
staticprotected |
Populate the given grid from the input stream, but only where it intersects the given index-space bounding box.
|
staticprotected |
Read in the compression flags for a grid and tag the given input stream with those flags.
|
staticprotected |
Read in and return the number of grids on the input stream.
|
protected |
Read the magic number, version numbers, UUID, etc. from the given input stream.
true if the input UUID differs from the previously-read UUID.
|
inline |
Specify whether and how the data stream should be compressed.
| c | bitwise OR (e.g., COMPRESS_ZIP | COMPRESS_ACTIVE_MASK) of compression option flags (see Compression.h for the available flags) |
|
protected |
Tag the given input stream with flags indicating whether the input stream contains compressed data and how it is compressed.
|
protected |
Tag the given input stream with the input file format version number.
The tag can be retrieved with getFormatVersion().
|
protected |
Tag an output stream with flags specifying only those compression options that are applicable to the given grid.
|
inline |
Specify whether grid statistics (active voxel count and bounding box, etc.) should be computed and written as grid metadata.
|
inlineprotected |
|
inline |
Specify whether trees shared by multiple grids should be written out only once (true) or once per grid (false).
|
protected |
Tag the given input stream with the version number of the library with which the input stream was created.
The tag can be retrieved with getLibraryVersion().
| std::string version | ( | ) | const |
Return a string of the form "<major>.<minor>/<format>", giving the library and file format version numbers associated with the input stream.
|
inlinevirtual |
|
protected |
|
protected |
Write the given grids to an output stream.
|
protected |
Write the given grid descriptor and grid to an output stream and update the GridDescriptor offsets.
| seekable | if true, the output stream supports seek operations |
|
protected |
Write the given grid descriptor and grid metadata to an output stream and update the GridDescriptor offsets, but don't write the grid's tree, since it is shared with another grid.
| seekable | if true, the output stream supports seek operations |
|
protected |
Write the magic number, version numbers, UUID, etc. to the given output stream.
| seekable | if true, the output stream supports seek operations |
|
friend |
|
static |