4#ifndef OPENVDB_IO_IO_HAS_BEEN_INCLUDED
5#define OPENVDB_IO_IO_HAS_BEEN_INCLUDED
9#include <openvdb/version.h>
10#include <boost/any.hpp>
100 uint32_t __test()
const;
102 void __setTest(uint32_t);
109 std::unique_ptr<Impl> mImpl;
156 using Notifier = std::function<void(std::string )>;
165 friend class ::TestMappedFile;
167 explicit MappedFile(
const std::string& filename,
bool autoDelete =
false);
170 std::unique_ptr<Impl> mImpl;
Grid archive associated with a file on disk.
Definition: File.h:31
Handle to control the lifetime of a memory-mapped .vdb file.
Definition: io.h:134
SharedPtr< MappedFile > Ptr
Definition: io.h:136
SharedPtr< std::streambuf > createBuffer() const
Return a new stream buffer for the mapped file.
MappedFile(const MappedFile &)=delete
std::string filename() const
Return the filename of the mapped file.
std::function< void(std::string)> Notifier
Definition: io.h:156
MappedFile & operator=(const MappedFile &)=delete
void clearNotifier()
Deregister the notifier.
void setNotifier(const Notifier &)
Register a function that will be called with this file's name when the file is unmapped.
OPENVDB_API VersionId getLibraryVersion(std::ios_base &)
Return the (major, minor) library version number associated with the given input 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...
std::ostream & operator<<(std::ostream &, const StreamMetadata::AuxDataMap &)
OPENVDB_API void setDataCompression(std::ios_base &, uint32_t compressionFlags)
Associate with the given stream a bitwise OR of compression option flags (COMPRESS_ZIP,...
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 void setVersion(std::ios_base &, const VersionId &libraryVersion, uint32_t fileVersion)
Associate specific file format and library version numbers with the given stream.
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,...
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 bool getWriteGridStatsMetadata(std::ios_base &)
Return true if grid statistics (active voxel count and bounding box, etc.) should be computed and sto...
OPENVDB_API void setMappedFilePtr(std::ios_base &, SharedPtr< MappedFile > &)
Associate the given stream with (a shared pointer to) a memory-mapped file.
OPENVDB_API SharedPtr< MappedFile > getMappedFilePtr(std::ios_base &)
Return a shared pointer to the memory-mapped file with which the given stream is associated,...
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...
OPENVDB_API void setWriteGridStatsMetadata(std::ios_base &, bool writeGridStats)
Specify whether to compute grid statistics (active voxel count and bounding box, etc....
OPENVDB_API uint32_t getFormatVersion(std::ios_base &)
Return the file format version number associated with the given input stream.
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 uint32_t getDataCompression(std::ios_base &)
Return a bitwise OR of compression option flags (COMPRESS_ZIP, COMPRESS_ACTIVE_MASK,...
OPENVDB_API void setCurrentVersion(std::istream &)
Associate the current file format and library version numbers with the given input stream.
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 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 uint32_t getGridClass(std::ios_base &)
Return the class (GRID_LEVEL_SET, GRID_UNKNOWN, etc.) of the grid currently being read from or writte...
std::string getErrorString()
Return a string (possibly empty) describing the most recent system error.
OPENVDB_API SharedPtr< StreamMetadata > getStreamMetadataPtr(std::ios_base &)
Return a shared pointer to an object that stores metadata (file format, compression scheme,...
std::shared_ptr< T > SharedPtr
Definition: Types.h:114
Definition: Exceptions.h:13
Definition: version.h.in:261
Leaf nodes that require multi-pass I/O must inherit from this struct.
Definition: io.h:124
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:116
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:202