OpenVDB: Archive Class Reference

OpenVDB 12.1.1

Loading...
Searching...
No Matches
Archive Class Reference

Grid serializer/unserializer. More...

`#include <openvdb/io/Archive.h>`

Inheritance diagram for Archive:

## 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

## Detailed Description

Grid serializer/unserializer.

## Member Typedef Documentation

## ◆ ConstPtr

using ConstPtr = SharedPtr<const Archive>

## ◆ NamedGridMap

using NamedGridMap = std::map<Name , GridBase::Ptr>
| protected

## ◆ Ptr

using Ptr = SharedPtr<Archive>

## Constructor & Destructor Documentation

## ◆ Archive() [1/2]

Archive | ( |  | ) |

## ◆ Archive() [2/2]

Archive | ( | const Archive & |  | ) |
| default

## ◆ ~Archive()

virtual ~Archive | ( |  | ) |
| virtual

## Member Function Documentation

## ◆ compression()

uint32_t compression | ( |  | ) | const
| inline

Return a bit mask specifying compression options for the data stream.

## ◆ connectInstance()

void connectInstance | ( | const GridDescriptor & | ,
|  | const NamedGridMap & | ) const
| protected

If the grid represented by the given grid descriptor is an instance, connect it with its instance parent.

## ◆ copy()

virtual Ptr copy | ( |  | ) | const
| virtual

Return a copy of this archive.

Reimplemented in File, and Stream.

## ◆ fileVersion()

uint32_t fileVersion | ( |  | ) | const
| inline

Return the file format version number of the input stream.

## ◆ getUniqueTag()

std::string getUniqueTag | ( |  | ) | const

Return the UUID that was most recently written (or read, if no UUID has been written yet).

## ◆ hasBloscCompression()

bool hasBloscCompression | ( |  | ) |
| static

Return `true` if the OpenVDB library includes support for the Blosc compressor.

## ◆ hasZLibCompression()

bool hasZLibCompression | ( |  | ) |
| static

Return `true` if the OpenVDB library includes support for the ZLib compressor.

## ◆ inputHasGridOffsets()

bool inputHasGridOffsets | ( |  | ) | const
| inlineprotected

Return `true` if the input stream contains grid offsets that allow for random access or partial reading.

## ◆ isDelayedLoadingEnabled()

bool isDelayedLoadingEnabled | ( |  | ) |
| static

Return `true` if delayed loading is enabled.

If enabled, delayed loading can be disabled for individual files, but not vice-versa.

Note
  Define the environment variable `OPENVDB_DISABLE_DELAYED_LOAD` to disable delayed loading unconditionally.

## ◆ isGridStatsMetadataEnabled()

bool isGridStatsMetadataEnabled | ( |  | ) | const
| inline

Return `true` if grid statistics (active voxel count and bounding box, etc.) are computed and written as grid metadata.

## ◆ isIdentical()

bool isIdentical | ( | const std::string & | uuidStr | ) | const

Return `true` if the given UUID matches this archive's UUID.

## ◆ isInstancingEnabled()

bool isInstancingEnabled | ( |  | ) | const
| inline

Return `true` if trees shared by multiple grids are written out only once, `false` if they are written out once per grid.

## ◆ libraryVersion()

VersionId libraryVersion | ( |  | ) | const
| inline

Return the (major, minor) version number of the library that was used to write the input stream.

## ◆ operator=()

Archive & operator= | ( | const Archive & |  | ) |
| default

## ◆ readGrid() [1/3]

void readGrid | ( | GridBase::Ptr | ,
|  | const GridDescriptor & | ,
|  | std::istream & | )
| staticprotected

Populate the given grid from the input stream.

## ◆ readGrid() [2/3]

void readGrid | ( | GridBase::Ptr | ,
|  | const GridDescriptor & | ,
|  | std::istream & | ,
|  | const BBoxd & | )
| staticprotected

Populate the given grid from the input stream, but only where it intersects the given world-space bounding box.

## ◆ readGrid() [3/3]

void readGrid | ( | GridBase::Ptr | ,
|  | const GridDescriptor & | ,
|  | std::istream & | ,
|  | const CoordBBox & | )
| staticprotected

Populate the given grid from the input stream, but only where it intersects the given index-space bounding box.

## ◆ readGridCompression()

void readGridCompression | ( | std::istream & |  | ) |
| staticprotected

Read in the compression flags for a grid and tag the given input stream with those flags.

## ◆ readGridCount()

int32_t readGridCount | ( | std::istream & |  | ) |
| staticprotected

Read in and return the number of grids on the input stream.

## ◆ readHeader()

bool readHeader | ( | std::istream & |  | ) |
| protected

Read the magic number, version numbers, UUID, etc. from the given input stream.

Returns
  `true` if the input UUID differs from the previously-read UUID.

## ◆ setCompression()

void setCompression | ( | uint32_t | c | ) |
| inline

Specify whether and how the data stream should be compressed.

Parameters

  c | bitwise OR (e.g., COMPRESS_ZIP | COMPRESS_ACTIVE_MASK) of compression option flags (see Compression.h for the available flags)

Note
  Not all combinations of compression options are supported.

## ◆ setDataCompression()

void setDataCompression | ( | std::istream & |  | ) |
| protected

Tag the given input stream with flags indicating whether the input stream contains compressed data and how it is compressed.

## ◆ setFormatVersion()

void setFormatVersion | ( | std::istream & |  | ) |
| protected

Tag the given input stream with the input file format version number.

The tag can be retrieved with getFormatVersion().

See also
  getFormatVersion()

## ◆ setGridCompression()

void setGridCompression | ( | std::ostream & | ,
|  | const GridBase & | ) const
| protected

Tag an output stream with flags specifying only those compression options that are applicable to the given grid.

## ◆ setGridStatsMetadataEnabled()

void setGridStatsMetadataEnabled | ( | bool | b | ) |
| inline

Specify whether grid statistics (active voxel count and bounding box, etc.) should be computed and written as grid metadata.

## ◆ setInputHasGridOffsets()

void setInputHasGridOffsets | ( | bool | b | ) |
| inlineprotected

## ◆ setInstancingEnabled()

void setInstancingEnabled | ( | bool | b | ) |
| inline

Specify whether trees shared by multiple grids should be written out only once (`true`) or once per grid (`false`).

Note
  Instancing is enabled by default.

## ◆ setLibraryVersion()

void setLibraryVersion | ( | std::istream & |  | ) |
| 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().

See also
  getLibraryVersion()

## ◆ version()

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.

## ◆ write() [1/3]

virtual void write | ( | const GridCPtrVec & | ,
|  | const MetaMap & | = MetaMap() ) const
| inlinevirtual

Write the grids in the given container to this archive's output stream.

Reimplemented in File, and Stream.

## ◆ write() [2/3]

void write | ( | std::ostream & | ,
|  | const GridCPtrVec & | ,
|  | bool | seekable,
|  | const MetaMap & | = MetaMap() ) const
| protected

## ◆ write() [3/3]

void write | ( | std::ostream & | ,
|  | const GridPtrVec & | ,
|  | bool | seekable,
|  | const MetaMap & | = MetaMap() ) const
| protected

Write the given grids to an output stream.

## ◆ writeGrid()

void writeGrid | ( | GridDescriptor & | ,
|  | GridBase::ConstPtr | ,
|  | std::ostream & | ,
|  | bool | seekable ) const
| protected

Write the given grid descriptor and grid to an output stream and update the GridDescriptor offsets.

Parameters

  seekable | if true, the output stream supports seek operations

## ◆ writeGridInstance()

void writeGridInstance | ( | GridDescriptor & | ,
|  | GridBase::ConstPtr | ,
|  | std::ostream & | ,
|  | bool | seekable ) const
| 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.

Parameters

  seekable | if true, the output stream supports seek operations

## ◆ writeHeader()

void writeHeader | ( | std::ostream & | ,
|  | bool | seekable ) const
| protected

Write the magic number, version numbers, UUID, etc. to the given output stream.

Parameters

  seekable | if true, the output stream supports seek operations

## Friends And Related Symbol Documentation

## ◆ ::TestFile

friend class ::TestFile
| friend

## Member Data Documentation

## ◆ DEFAULT_COMPRESSION_FLAGS

const uint32_t DEFAULT_COMPRESSION_FLAGS
| static