|
__hostdev__ const char * | toStr (char *dst, Codec codec) |
|
__hostdev__ Codec | toCodec (const char *str) |
|
template<typename StreamT> |
void | writeUncompressedGrid (StreamT &os, const GridData *gridData, bool raw=false) |
| This is a standalone alternative to io::writeGrid(...,Codec::NONE) defined in util/IO.h Unlike the latter this function has no dependencies at all, not even NanoVDB.h, so it also works if client code only includes PNanoVDB.h!
|
|
template<typename GridHandleT, template< typename... > class VecT> |
void | writeUncompressedGrids (const char *fileName, const VecT< GridHandleT > &handles, bool raw=false) |
| write multiple NanoVDB grids to a single file, without compression.
|
|
template<typename GridHandleT, typename StreamT, template< typename... > class VecT> |
VecT< GridHandleT > | readUncompressedGrids (StreamT &is, const typename GridHandleT::BufferType &pool=typename GridHandleT::BufferType()) |
| read all uncompressed grids from a stream and return their handles.
|
|
template<typename GridHandleT, template< typename... > class VecT> |
VecT< GridHandleT > | readUncompressedGrids (const char *fileName, const typename GridHandleT::BufferType &buffer=typename GridHandleT::BufferType()) |
| Read a multiple un-compressed NanoVDB grids from a file and return them as a vector.
|
|
template<typename GridHandleT, typename StreamT, template< typename... > class VecT>
VecT< GridHandleT > readUncompressedGrids |
( |
StreamT & | is, |
|
|
const typename GridHandleT::BufferType & | pool = typename GridHandleT::BufferType() ) |
read all uncompressed grids from a stream and return their handles.
- Exceptions
-
std::invalid_argument | if stream does not contain a single uncompressed valid NanoVDB grid |
StreamT class must support: "bool read(char*, size_t)" and "void skip(uint32_t)"
template<typename StreamT>
void writeUncompressedGrid |
( |
StreamT & | os, |
|
|
const GridData * | gridData, |
|
|
bool | raw = false ) |
This is a standalone alternative to io::writeGrid(...,Codec::NONE) defined in util/IO.h Unlike the latter this function has no dependencies at all, not even NanoVDB.h, so it also works if client code only includes PNanoVDB.h!
Writes a raw NanoVDB buffer, possibly with multiple grids, to a stream WITHOUT compression. It follows all the conventions in util/IO.h so the stream can be read by all existing client code of NanoVDB.
- Note
- This method will always write uncompressed grids to the stream, i.e. Blosc or ZIP compression is never applied! This is a fundamental limitation and feature of this standalone function.
- Exceptions
-
std::invalid_argument | if buffer does not point to a valid NanoVDB grid. |
- Warning
- This is pretty ugly code that involves lots of pointer and bit manipulations - not for the faint of heart :)