|
HDK
|
Namespaces | |
| Internal | |
| Internal functions for compressed read/write of a NanoVDB GridHandle into a stream. | |
Classes | |
| struct | FileHeader |
| Data encoded at the head of each segment of a file or stream. More... | |
| struct | FileMetaData |
| struct | FileGridMetaData |
| This class defines the meta data stored for each grid in a segment. More... | |
| struct | Segment |
| This class defines all the data stored in segment of a file. More... | |
Typedefs | |
| using | fileSize_t = uint64_t |
Enumerations | |
| enum | Codec : uint16_t { Codec::NONE = 0, Codec::ZIP = 1, Codec::BLOSC = 2, Codec::END = 3 } |
| Define compression codecs. More... | |
Functions | |
| const char * | toStr (Codec codec) |
| 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! More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| template<typename BufferT > | |
| void | writeGrid (const std::string &fileName, const GridHandle< BufferT > &handle, io::Codec codec=io::Codec::NONE, int verbose=0) |
| Write a single grid to file (over-writing existing content of the file) 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> | |
| GridHandle< BufferT > | readGrid (const std::string &fileName, int n=0, int verbose=0, const BufferT &buffer=BufferT()) |
| Read and return one or all grids from a file into a single GridHandle. More... | |
| template<typename BufferT = HostBuffer> | |
| GridHandle< BufferT > | readGrid (const std::string &fileName, const std::string &gridName, int verbose=0, const BufferT &buffer=BufferT()) |
| Read and return the first grid with a specific name from a file. 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 and return them as a vector of multiple GridHandles, each containing all grids encoded in the same segment of the file (i.e. they where written together) More... | |
| 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... | |
| 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< FileGridMetaData > | 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< FileGridMetaData > | readGridMetaData (std::istream &is) |
| Reads and returns a vector of meta data for all the grids found in the specified stream. More... | |
| Version ()} | |
| gridName (grid.gridName()) | |
| template<typename BufferT > | |
| void | writeGrid (std::ostream &os, const GridHandle< BufferT > &handle, Codec codec) |
| template<typename BufferT = HostBuffer, template< typename...> class VecT = std::vector> | |
| void | writeGrids (std::ostream &os, const VecT< GridHandle< BufferT >> &handles, Codec codec=Codec::NONE) |
| template<typename BufferT > | |
| GridHandle< BufferT > | readGrid (std::istream &is, int n, const BufferT &pool) |
| template<typename BufferT > | |
| GridHandle< BufferT > | readGrid (std::istream &is, const std::string &gridName, const BufferT &pool) |
| Read a specific grid from an input stream given the name of the grid. More... | |
| template<typename BufferT = HostBuffer, template< typename...> class VecT = std::vector> | |
| VecT< GridHandle< BufferT > > | readGrids (std::istream &is, const BufferT &pool=BufferT()) |
Variables | |
| c | |
| using nanovdb::io::fileSize_t = typedef uint64_t |
|
strong |
|
inline |
|
inline |
| GridHandle< BufferT > nanovdb::io::readGrid | ( | const std::string & | fileName, |
| int | n = 0, |
||
| int | verbose = 0, |
||
| const BufferT & | buffer = BufferT() |
||
| ) |
Read and return one or all grids from a file into a single GridHandle.
Read the n'th grid.
| BufferT | Type of buffer used memory allocation |
| fileName | string name of file to be read from |
| n | zero-based signed index of the grid to be read. The default value of 0 means read only first grid. A negative value of n means read all grids in the file. |
| verbose | specify verbosity level. Default value of zero means quiet. |
| buffer | optional buffer used for memory allocation |
| will | throw a std::runtime_error if the file does not contain a grid with index n |
| GridHandle< BufferT > nanovdb::io::readGrid | ( | const std::string & | fileName, |
| const std::string & | gridName, | ||
| int | verbose = 0, |
||
| const BufferT & | buffer = BufferT() |
||
| ) |
Read and return the first grid with a specific name from a file.
Read the first grid with a specific name.
| BufferT | Type of buffer used memory allocation |
| fileName | string name of file to be read from |
| gridName | string name of the grid to be read |
| verbose | specify verbosity level. Default value of zero means quiet. |
| buffer | optional buffer used for memory allocation |
| will | throw a std::runtime_error if the file does not contain a grid with the specific name |
| GridHandle<BufferT> nanovdb::io::readGrid | ( | std::istream & | is, |
| int | n, | ||
| const BufferT & | pool | ||
| ) |
| GridHandle<BufferT> nanovdb::io::readGrid | ( | std::istream & | is, |
| const std::string & | gridName, | ||
| const BufferT & | pool | ||
| ) |
Read a specific grid from an input stream given the name of the grid.
| BufferT | Buffer type used for allocation |
| is | input stream from which to read the grid |
| gridName | string name of the (first) grid to be returned |
| pool | optional memory pool from which to allocate the grid buffer |
| std::runtime_error | with no grid exists with the specified name |
|
inline |
|
inline |
| VecT< GridHandle< BufferT > > nanovdb::io::readGrids | ( | const std::string & | fileName, |
| int | verbose = 0, |
||
| const BufferT & | buffer = BufferT() |
||
| ) |
Read all the grids in the file and return them as a vector of multiple GridHandles, each containing all grids encoded in the same segment of the file (i.e. they where written together)
Read all the grids.
| BufferT | Type of buffer used memory allocation |
| fileName | string name of file to be read from |
| verbose | specify verbosity level. Default value of zero means quiet. |
| buffer | optional buffer used for memory allocation |
| VecT<GridHandle<BufferT> > nanovdb::io::readGrids | ( | std::istream & | is, |
| const BufferT & | pool = BufferT() |
||
| ) |
| VecT<GridHandleT> nanovdb::io::readUncompressedGrids | ( | StreamT & | is, |
| const typename GridHandleT::BufferType & | pool = typename GridHandleT::BufferType() |
||
| ) |
| VecT<GridHandleT> nanovdb::io::readUncompressedGrids | ( | const char * | fileName, |
| const typename GridHandleT::BufferType & | buffer = typename GridHandleT::BufferType() |
||
| ) |
|
inline |
|
inline |
|
inline |
| nanovdb::io::Version | ( | ) |
| void nanovdb::io::writeGrid | ( | const std::string & | fileName, |
| const GridHandle< BufferT > & | handle, | ||
| io::Codec | codec = io::Codec::NONE, |
||
| int | verbose = 0 |
||
| ) |
| void nanovdb::io::writeGrid | ( | std::ostream & | os, |
| const GridHandle< BufferT > & | handle, | ||
| Codec | codec | ||
| ) |
| void nanovdb::io::writeGrids | ( | const std::string & | fileName, |
| const VecT< GridHandle< BufferT >> & | handles, | ||
| Codec | codec = Codec::NONE, |
||
| int | verbose = 0 |
||
| ) |
| void nanovdb::io::writeGrids | ( | std::ostream & | os, |
| const VecT< GridHandle< BufferT >> & | handles, | ||
| Codec | codec = Codec::NONE |
||
| ) |
| void nanovdb::io::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.
| std::invalid_argument | if buffer does not point to a valid NanoVDB grid. |
| void nanovdb::io::writeUncompressedGrids | ( | const char * | fileName, |
| const VecT< GridHandleT > & | handles, | ||
| bool | raw = false |
||
| ) |
write multiple NanoVDB grids to a single file, without compression.
| nanovdb::io::c |