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. More...
|
|
uint64_t | stringHash (const std::string &str) |
| Return a uint64_t hash key of a std::string. More...
|
|
uint64_t | reverseEndianness (uint64_t val) |
| Return a uint64_t with its bytes reversed so we can check for endianness. More...
|
|
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) More...
|
|
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) More...
|
|
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) More...
|
|
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) More...
|
|
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) More...
|
|
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) More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
bool | hasGrid (const std::string &fileName, const std::string &gridName) |
| Return true if the file contains a grid with the specified name. More...
|
|
bool | hasGrid (std::istream &is, const std::string &gridName) |
| Return true if the stream contains a grid with the specified name. More...
|
|
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. More...
|
|
std::vector< GridMetaData > | readGridMetaData (std::istream &is) |
| Reads and returns a vector of meta data for all the grids found in the specified stream. More...
|
|
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