Loading...
Searching...
No Matches
IO.h File Reference
`#include <nanovdb/NanoVDB.h>`
`#include "GridHandle.h"`
`#include "GridChecksum.h"`
`#include <fstream>`
`#include <iostream>`
`#include <string>`
`#include <sstream>`
`#include <cstring>`
`#include <memory>`
`#include <vector>`

Go to the source code of this file.

## Classes

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...

## Namespaces

namespace | nanovdb
namespace | nanovdb::io
namespace | nanovdb::io::Internal
| Internal functions for compressed read/write of a NanoVDB GridHandle into a stream.

## Typedefs

using | fileSize_t = uint64_t

## Functions

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)
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>
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.
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.
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)
template<typename BufferT>
static fileSize_t | write (std::ostream &os, const GridHandle< BufferT > &handle, Codec codec, uint32_t n)
template<typename BufferT>
static void | read (std::istream &is, BufferT &buffer, Codec codec)
static void | read (std::istream &is, char *data, fileSize_t size, Codec codec)
| read compressed grid from stream
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.
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< FileGridMetaData > | readGridMetaData (const std::string &fileName)
| Reads and returns a vector of meta data for all the grids found in the specified file.
std::vector< FileGridMetaData > | readGridMetaData (std::istream &is)
| Reads and returns a vector of meta data for all the grids found in the specified stream.
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.
template<typename BufferT = HostBuffer, template< typename... > class VecT = std::vector>
VecT< GridHandle< BufferT > > | readGrids (std::istream &is, const BufferT &pool=BufferT())
template<typename T>
std::ostream & | operator<< (std::ostream &os, const BBox< Vec3< T > > &b)
std::ostream & | operator<< (std::ostream &os, const CoordBBox &b)
std::ostream & | operator<< (std::ostream &os, const Coord &ijk)
template<typename T>
std::ostream & | operator<< (std::ostream &os, const Vec3< T > &v)
template<typename T>
std::ostream & | operator<< (std::ostream &os, const Vec4< T > &v)

## Variables

static constexpr fileSize_t | MAX_SIZE = 1UL << 30