4#ifndef OPENVDB_IO_ARCHIVE_HAS_BEEN_INCLUDED
5#define OPENVDB_IO_ARCHIVE_HAS_BEEN_INCLUDED
7#include <openvdb/version.h>
11#include <openvdb/version.h>
198 friend class ::TestFile;
201 uint32_t mFileVersion;
205 mutable std::string mUuid;
208 bool mInputHasGridOffsets;
211 bool mEnableInstancing;
213 uint32_t mCompression;
215 bool mEnableGridStats;
Abstract base class for typed grids.
Definition Grid.h:79
SharedPtr< const GridBase > ConstPtr
Definition Grid.h:82
SharedPtr< GridBase > Ptr
Definition Grid.h:81
void connectInstance(const GridDescriptor &, const NamedGridMap &) const
If the grid represented by the given grid descriptor is an instance, connect it with its instance par...
void setFormatVersion(std::istream &)
Tag the given input stream with the input file format version number.
bool isGridStatsMetadataEnabled() const
Return true if grid statistics (active voxel count and bounding box, etc.) are computed and written a...
Definition Archive.h:91
void setLibraryVersion(std::istream &)
Tag the given input stream with the version number of the library with which the input stream was cre...
Archive & operator=(const Archive &)=default
virtual void write(const GridCPtrVec &, const MetaMap &=MetaMap(), const io::WriteOptions &=io::WriteOptions{}) const
Write the grids in the given container to this archive's output stream.
Definition Archive.h:97
bool inputHasGridOffsets() const
Return true if the input stream contains grid offsets that allow for random access or partial reading...
Definition Archive.h:118
static bool hasBloscCompression()
static const uint32_t DEFAULT_COMPRESSION_FLAGS
Definition Archive.h:41
void setDataCompression(std::istream &)
Tag the given input stream with flags indicating whether the input stream contains compressed data an...
void writeGridInstance(GridDescriptor &, GridBase::ConstPtr, std::ostream &, bool seekable, const io::WriteOptions &writeOptions=io::WriteOptions{}) const
static GridBase::Ptr readGrid(const GridDescriptor &, std::istream &, const io::ReadOptions &readOptions, ReadDiagnostics &diagnostics)
Read in and create the grid represented by the given grid descriptor using the given input stream,...
void write(std::ostream &, const GridPtrVec &, bool seekable, const MetaMap &, const io::WriteOptions &writeOptions=io::WriteOptions{}) const
Write the given grids to an output stream.
uint32_t fileVersion() const
Return the file format version number of the input stream.
Definition Archive.h:58
void writeGrid(GridDescriptor &, GridBase::ConstPtr, std::ostream &, bool seekable, const io::WriteOptions &writeOptions=io::WriteOptions{}) const
const ReadDiagnostics & readDiagnostics() const
Return a const reference to the diagnostics collector.
std::string getUniqueTag() const
Return the UUID that was most recently written (or read, if no UUID has been written yet).
static bool isDelayedLoadingEnabled()
Return false (delayed loading has been removed).
Definition Archive.h:101
void setGridCompression(std::ostream &, const GridBase &) const
Tag an output stream with flags specifying only those compression options that are applicable to the ...
ReadDiagnostics mReadDiagnostics
Diagnostics collector for read operations (always valid; enabled/disabled via flag)
Definition Archive.h:195
void writeHeader(std::ostream &, bool seekable) const
Write the magic number, version numbers, UUID, etc. to the given output stream.
void enableReadDiagnostics()
Enable collection of read diagnostics (warnings, etc.) during I/O operations.
static io::Codec * findCodec(const std::string &gridType, const io::ReadOptions &options=io::ReadOptions{})
Find the codec for the given grid type and options.
void write(std::ostream &, const GridCPtrVec &, bool seekable, const MetaMap &, const io::WriteOptions &writeOptions=io::WriteOptions{}) const
static int32_t readGridCount(std::istream &)
Read in and return the number of grids on the input stream.
SharedPtr< const Archive > ConstPtr
Definition Archive.h:39
void clearReadDiagnostics()
Clear the diagnostics list while keeping collection active.
bool isInstancingEnabled() const
Return true if trees shared by multiple grids are written out only once, false if they are written ou...
Definition Archive.h:68
void setInstancingEnabled(bool b)
Specify whether trees shared by multiple grids should be written out only once (true) or once per gri...
Definition Archive.h:72
static void readGridCompression(std::istream &)
Read in the compression flags for a grid and tag the given input stream with those flags.
virtual Ptr copy() const
Return a copy of this archive.
static bool hasZLibCompression()
Return true if the OpenVDB library includes support for the ZLib compressor.
void setCompression(uint32_t c)
Specify whether and how the data stream should be compressed.
Definition Archive.h:87
uint32_t compression() const
Return a bit mask specifying compression options for the data stream.
Definition Archive.h:82
std::map< Name, GridBase::Ptr > NamedGridMap
Definition Archive.h:158
bool isIdentical(const std::string &uuidStr) const
Return true if the given UUID matches this archive's UUID.
void disableReadDiagnostics()
Disable collection of read diagnostics.
bool readHeader(std::istream &)
Read the magic number, version numbers, UUID, etc. from the given input stream.
SharedPtr< Archive > Ptr
Definition Archive.h:38
static GridBase::Ptr readGrid(const GridDescriptor &, std::istream &, const io::ReadOptions &readOptions=io::ReadOptions{})
Archive(const Archive &)=default
void setGridStatsMetadataEnabled(bool b)
Specify whether grid statistics (active voxel count and bounding box, etc.) should be computed and wr...
Definition Archive.h:94
VersionId libraryVersion() const
Return the (major, minor) version number of the library that was used to write the input stream.
Definition Archive.h:61
std::string version() const
Return a string of the form "<major>.<minor>/<format>", giving the library and file format version nu...
void setInputHasGridOffsets(bool b)
Definition Archive.h:119
Definition GridDescriptor.h:20
std::string Name
Definition Name.h:19
std::vector< GridBase::Ptr > GridPtrVec
Definition Grid.h:508
std::shared_ptr< T > SharedPtr
Definition Types.h:95
std::vector< GridBase::ConstPtr > GridCPtrVec
Definition Grid.h:513
Definition Exceptions.h:13
Definition version.h.in:357
Abstract base class for grid I/O codecs.
Definition Codec.h:395
Thread-safe collection of read diagnostics accumulated during a codec read.
Definition Codec.h:211
Global read configuration passed to every codec during deserialization.
Definition Codec.h:167
Global write configuration passed to every codec during serialization.
Definition Codec.h:188
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:291