31 #ifndef OPENVDB_IO_IO_HAS_BEEN_INCLUDED 32 #define OPENVDB_IO_IO_HAS_BEEN_INCLUDED 37 #include <boost/any.hpp> 72 void transferTo(std::ios_base&)
const;
74 uint32_t fileVersion()
const;
75 void setFileVersion(uint32_t);
80 uint32_t compression()
const;
81 void setCompression(uint32_t);
83 uint32_t gridClass()
const;
86 const void* backgroundPtr()
const;
87 void setBackgroundPtr(
const void*);
89 bool halfFloat()
const;
92 bool writeGridStats()
const;
93 void setWriteGridStats(
bool);
95 bool seekable()
const;
96 void setSeekable(
bool);
98 bool delayedLoadMeta()
const;
100 bool countingPasses()
const;
101 void setCountingPasses(
bool);
103 uint32_t pass()
const;
104 void setPass(uint32_t);
106 uint64_t leaf()
const;
107 void setLeaf(uint64_t);
116 const MetaMap& gridMetadata()
const;
127 uint32_t __test()
const;
129 void __setTest(uint32_t);
132 std::string str()
const;
136 std::unique_ptr<Impl> mImpl;
170 std::string filename()
const;
183 using Notifier = std::function<void(std::string )>;
188 void clearNotifier();
192 friend class ::TestMappedFile;
194 explicit MappedFile(
const std::string& filename,
bool autoDelete =
false);
197 std::unique_ptr<Impl> mImpl;
301 #endif // OPENVDB_IO_IO_HAS_BEEN_INCLUDED OPENVDB_API void setGridClass(std::ios_base &, uint32_t)
Associate with the given stream the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently ...
OPENVDB_API 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.
OPENVDB_API void setCurrentVersion(std::istream &)
Associate the current file format and library version numbers with the given input stream...
OPENVDB_API VersionId getLibraryVersion(std::ios_base &)
Return the (major, minor) library version number associated with the given input stream.
OPENVDB_API bool getWriteGridStatsMetadata(std::ios_base &)
Return true if grid statistics (active voxel count and bounding box, etc.) should be computed and sto...
OPENVDB_API uint32_t getGridClass(std::ios_base &)
Return the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently being read from or writte...
OPENVDB_API SharedPtr< StreamMetadata > getStreamMetadataPtr(std::ios_base &)
Return a shared pointer to an object that stores metadata (file format, compression scheme...
OPENVDB_API 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 g...
OPENVDB_API SharedPtr< MappedFile > getMappedFilePtr(std::ios_base &)
Return a shared pointer to the memory-mapped file with which the given stream is associated, or a null pointer if the stream is not associated with a memory-mapped file.
std::shared_ptr< T > SharedPtr
Definition: Types.h:139
Grid archive associated with a file on disk.
Definition: File.h:57
OPENVDB_API const void * getGridBackgroundValuePtr(std::ios_base &)
Return a pointer to the background value of the grid currently being read from or written to the give...
OPENVDB_API void setHalfFloat(std::ios_base &, bool)
Specify whether floating-point values should be quantized to 16 bits when writing to the given stream...
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h:128
OPENVDB_API uint32_t getFormatVersion(std::ios_base &)
Return the file format version number associated with the given input stream.
OPENVDB_API SharedPtr< StreamMetadata > clearStreamMetadataPtr(std::ios_base &)
Dissociate the given stream from its metadata object (if it has one) and return a shared pointer to t...
OPENVDB_API 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.
Definition: Exceptions.h:40
std::ostream & operator<<(std::ostream &, const StreamMetadata::AuxDataMap &)
OPENVDB_API void setMappedFilePtr(std::ios_base &, SharedPtr< MappedFile > &)
Associate the given stream with (a shared pointer to) a memory-mapped file.
Leaf nodes that require multi-pass I/O must inherit from this struct.
Definition: io.h:151
OPENVDB_API 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...
Library and file format version numbers.
OPENVDB_API 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.
Handle to control the lifetime of a memory-mapped .vdb file.
Definition: io.h:160
std::function< void(std::string)> Notifier
Definition: io.h:183
std::string getErrorString()
Return a string (possibly empty) describing the most recent system error.
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:180
OPENVDB_API void setVersion(std::ios_base &, const VersionId &libraryVersion, uint32_t fileVersion)
Associate specific file format and library version numbers with the given stream. ...
SharedPtr< MappedFile > Ptr
Definition: io.h:163
OPENVDB_API bool getHalfFloat(std::ios_base &)
Return true if floating-point values should be quantized to 16 bits when writing to the given stream ...
OPENVDB_API std::string getVersion(std::ios_base &)
Return a string of the form "<major>.<minor>/<format>", giving the library and file format version nu...
Definition: version.h:236