Grid archive associated with a file on disk. More...
#include <openvdb/io/File.h>
 
  
| Classes | |
| class | NameIterator | 
| Public Types | |
| using | NameMap = std::multimap<Name, GridDescriptor> | 
| using | NameMapCIter = NameMap::const_iterator | 
| using | Ptr = SharedPtr<Archive> | 
| using | ConstPtr = SharedPtr<const Archive> | 
| Public Member Functions | |
| File (const std::string &filename) | |
| ~File () override | |
| File (const File &other) | |
| Copy constructor. | |
| File & | operator= (const File &other) | 
| Assignment. | |
| SharedPtr< Archive > | copy () const override | 
| Return a copy of this archive. | |
| const std::string & | filename () const | 
| Return the name of the file with which this archive is associated. | |
| bool | open (bool=false) | 
| bool | isOpen () const | 
| Return trueif the file has been opened for reading. | |
| void | close () | 
| Close the file once we are done reading from it. | |
| Index64 | getSize () const | 
| Return this file's current size on disk in bytes. | |
| bool | hasGrid (const Name &) const | 
| Return trueif a grid of the given name exists in this file. | |
| MetaMap::Ptr | getMetadata () const | 
| Return (in a newly created MetaMap) the file-level metadata. | |
| GridPtrVecPtr | getGrids () const | 
| Read the entire contents of the file and return a list of grid pointers. | |
| GridPtrVecPtr | readAllGridMetadata () | 
| Read just the grid metadata and transforms from the file and return a list of pointers to grids that are empty except for their metadata and transforms. | |
| GridBase::Ptr | readGridMetadata (const Name &) | 
| Read a grid's metadata and transform only. | |
| GridBase::Ptr | readGrid (const Name &) | 
| Read an entire grid, including all of its data blocks. | |
| GridBase::Ptr | readGrid (const Name &, const BBoxd &) | 
| Read a grid, including its data blocks, but only where it intersects the given world-space bounding box. | |
| void | write (const GridCPtrVec &, const MetaMap &=MetaMap()) const override | 
| Write the grids in the given container to the file whose name was given in the constructor. | |
| template<typename GridPtrContainerT> | |
| void | write (const GridPtrContainerT &, const MetaMap &=MetaMap()) const | 
| Write the grids in the given container to the file whose name was given in the constructor. | |
| NameIterator | beginName () const | 
| NameIterator | endName () const | 
| 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 trueif 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 trueif trees shared by multiple grids are written out only once,falseif 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 trueif 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. | |
| Static Public Member Functions | |
| static bool | hasBloscCompression () | 
| Return trueif the OpenVDB library includes support for the Blosc compressor. | |
| static bool | hasZLibCompression () | 
| Return trueif the OpenVDB library includes support for the ZLib compressor. | |
| static bool | isDelayedLoadingEnabled () | 
| Return trueif 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 | |
| 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 | 
| bool | inputHasGridOffsets () const | 
| Return trueif 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. | |
| 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 | 
| class | ::TestStream | 
Grid archive associated with a file on disk.
| 
 | protectedinherited | 
| using NameMap = std::multimap<Name, GridDescriptor> | 
| using NameMapCIter = NameMap::const_iterator | 
| 
 | explicit | 
| 
 | override | 
Copy constructor.
The copy will be closed and will not reference the same file descriptor as the original.
| NameIterator beginName | ( | ) | const | 
| void close | ( | ) | 
Close the file once we are done reading from it.
| 
 | inlineinherited | 
Return a bit mask specifying compression options for the data stream.
| 
 | protectedinherited | 
If the grid represented by the given grid descriptor is an instance, connect it with its instance parent.
Return a copy of this archive.
The copy will be closed and will not reference the same file descriptor as the original.
Reimplemented from Archive.
| NameIterator endName | ( | ) | const | 
| const std::string & filename | ( | ) | const | 
Return the name of the file with which this archive is associated.
The file does not necessarily exist on disk yet.
| 
 | inlineinherited | 
Return the file format version number of the input stream.
| GridPtrVecPtr getGrids | ( | ) | const | 
Read the entire contents of the file and return a list of grid pointers.
| MetaMap::Ptr getMetadata | ( | ) | const | 
Return (in a newly created MetaMap) the file-level metadata.
| Index64 getSize | ( | ) | const | 
Return this file's current size on disk in bytes.
| IoError | if the file size cannot be determined. | 
| 
 | inherited | 
Return the UUID that was most recently written (or read, if no UUID has been written yet).
| 
 | staticinherited | 
Return true if the OpenVDB library includes support for the Blosc compressor. 
| bool hasGrid | ( | const Name & | ) | const | 
Return true if a grid of the given name exists in this file. 
| 
 | staticinherited | 
Return true if the OpenVDB library includes support for the ZLib compressor. 
| 
 | inlineprotectedinherited | 
Return true if the input stream contains grid offsets that allow for random access or partial reading. 
| 
 | staticinherited | 
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. | 
 | inlineinherited | 
Return true if grid statistics (active voxel count and bounding box, etc.) are computed and written as grid metadata. 
| 
 | inherited | 
Return true if the given UUID matches this archive's UUID. 
| 
 | inlineinherited | 
Return true if trees shared by multiple grids are written out only once, false if they are written out once per grid. 
| bool isOpen | ( | ) | const | 
Return true if the file has been opened for reading. 
| 
 | inlineinherited | 
Return the (major, minor) version number of the library that was used to write the input stream.
| bool open | ( | bool | = false | ) | 
| GridPtrVecPtr readAllGridMetadata | ( | ) | 
Read just the grid metadata and transforms from the file and return a list of pointers to grids that are empty except for their metadata and transforms.
| IoError | if this file is not open for reading. | 
| 
 | staticprotectedinherited | 
Populate the given grid from the input stream.
| 
 | staticprotectedinherited | 
Populate the given grid from the input stream, but only where it intersects the given world-space bounding box.
| 
 | staticprotectedinherited | 
Populate the given grid from the input stream, but only where it intersects the given index-space bounding box.
| GridBase::Ptr readGrid | ( | const Name & | ) | 
Read an entire grid, including all of its data blocks.
| GridBase::Ptr readGrid | ( | const Name & | , | 
| const BBoxd & | ) | 
Read a grid, including its data blocks, but only where it intersects the given world-space bounding box.
| 
 | staticprotectedinherited | 
Read in the compression flags for a grid and tag the given input stream with those flags.
| 
 | staticprotectedinherited | 
Read in and return the number of grids on the input stream.
| GridBase::Ptr readGridMetadata | ( | const Name & | ) | 
| 
 | protectedinherited | 
Read the magic number, version numbers, UUID, etc. from the given input stream.
true if the input UUID differs from the previously-read UUID. | 
 | inlineinherited | 
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) | 
| 
 | protectedinherited | 
Tag the given input stream with flags indicating whether the input stream contains compressed data and how it is compressed.
| 
 | protectedinherited | 
Tag the given input stream with the input file format version number.
The tag can be retrieved with getFormatVersion().
| 
 | protectedinherited | 
Tag an output stream with flags specifying only those compression options that are applicable to the given grid.
| 
 | inlineinherited | 
Specify whether grid statistics (active voxel count and bounding box, etc.) should be computed and written as grid metadata.
| 
 | inlineprotectedinherited | 
| 
 | inlineinherited | 
Specify whether trees shared by multiple grids should be written out only once (true) or once per grid (false). 
| 
 | protectedinherited | 
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().
| 
 | inherited | 
Return a string of the form "<major>.<minor>/<format>", giving the library and file format version numbers associated with the input stream.
| 
 | protectedinherited | 
| 
 | protectedinherited | 
Write the given grids to an output stream.
| 
 | inlineoverridevirtual | 
Write the grids in the given container to the file whose name was given in the constructor.
Reimplemented from Archive.
| 
 | inline | 
Write the grids in the given container to the file whose name was given in the constructor.
| 
 | protectedinherited | 
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 | 
| 
 | protectedinherited | 
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 | 
| 
 | protectedinherited | 
Write the magic number, version numbers, UUID, etc. to the given output stream.
| seekable | if true, the output stream supports seek operations | 
| 
 | friend | 
| 
 | friend | 
| 
 | staticinherited |