Implements I/O for NanoVDB grids. Features optional BLOSC and ZIP file compression, support for multiple grids per file as well as multiple grid types.
More...
|
| const char * | toStr (Codec codec) |
| |
| template<typename BufferT > |
| static fileSize_t | write (std::ostream &os, const GridHandle< BufferT > &handle, Codec codec) |
| |
| template<typename BufferT > |
| static void | read (std::istream &is, GridHandle< BufferT > &handle, Codec codec) |
| |
| uint64_t | stringHash (const char *cstr) |
| | Standard hash function to use on strings; std::hash may vary by platform/implementation and is know to produce frequent collisions.
|
| |
| uint64_t | stringHash (const std::string &str) |
| | Return a uint64_t hash key of a std::string.
|
| |
| uint64_t | reverseEndianness (uint64_t val) |
| | Return a uint64_t with its bytes reversed so we can check for endianness.
|
| |
| template<typename BufferT > |
| void | writeGrid (const std::string &fileName, const GridHandle< BufferT > &handle, Codec codec=Codec::NONE, int verbose=0) |
| | Write a single grid to file (over-writing existing content of the file)
|
| |
| template<typename BufferT > |
| void | writeGrid (std::ostream &os, const GridHandle< BufferT > &handle, Codec codec=Codec::NONE) |
| | Write a single grid to stream (starting at the current position)
|
| |
| template<typename BufferT = HostBuffer, template< typename... > class VecT = std::vector> |
| void | writeGrids (const std::string &fileName, const VecT< GridHandle< BufferT > > &handles, Codec codec=Codec::NONE, int verbose=0) |
| | Write multiple grids to file (over-writing existing content of the file)
|
| |
| template<typename BufferT = HostBuffer, template< typename... > class VecT = std::vector> |
| void | writeGrids (std::ostream &os, const VecT< GridHandle< BufferT > > &handles, Codec codec=Codec::NONE) |
| | Writes multiple grids to stream (starting at its current position)
|
| |
| template<typename BufferT = HostBuffer> |
| GridHandle< BufferT > | readGrid (const std::string &fileName, uint64_t n=0, int verbose=0, const BufferT &buffer=BufferT()) |
| | Read the n'th grid from file (defaults to first grid)
|
| |
| template<typename BufferT = HostBuffer> |
| GridHandle< BufferT > | readGrid (std::istream &is, uint64_t n=0, const BufferT &buffer=BufferT()) |
| | Read the n'th grid from stream (defaults to first grid)
|
| |
| template<typename BufferT = HostBuffer> |
| GridHandle< BufferT > | readGrid (const std::string &fileName, const std::string &gridName, int verbose=0, const BufferT &buffer=BufferT()) |
| | Read the first grid with a specific name.
|
| |
| template<typename BufferT = HostBuffer> |
| GridHandle< BufferT > | readGrid (std::istream &is, const std::string &gridName, const BufferT &buffer=BufferT()) |
| | Read the first grid with a specific name.
|
| |
| template<typename BufferT = HostBuffer, template< typename... > class VecT = std::vector> |
| VecT< GridHandle< BufferT > > | readGrids (const std::string &fileName, int verbose=0, const BufferT &buffer=BufferT()) |
| | Read all the grids in the file.
|
| |
| template<typename BufferT = HostBuffer, template< typename... > class VecT = std::vector> |
| VecT< GridHandle< BufferT > > | readGrids (std::istream &is, const BufferT &buffer=BufferT()) |
| | Real all grids at the current position of the input stream.
|
| |
| bool | hasGrid (const std::string &fileName, const std::string &gridName) |
| | Return true if the file contains a grid with the specified name.
|
| |
| bool | hasGrid (std::istream &is, const std::string &gridName) |
| | Return true if the stream contains a grid with the specified name.
|
| |
| std::vector< GridMetaData > | readGridMetaData (const std::string &fileName) |
| | Reads and returns a vector of meta data for all the grids found in the specified file.
|
| |
| std::vector< GridMetaData > | readGridMetaData (std::istream &is) |
| | Reads and returns a vector of meta data for all the grids found in the specified stream.
|
| |
Implements I/O for NanoVDB grids. Features optional BLOSC and ZIP file compression, support for multiple grids per file as well as multiple grid types.
- Author
- Ken Museth
- Date
- May 1, 2020
- Note
- This file does NOT depend on OpenVDB, but optionally on ZIP and BLOSC