HDK
|
NodeManagerHandle manages the memory of a NodeManager. More...
#include <NodeManager.h>
Public Member Functions | |
NodeManagerHandle (GridType gridType, BufferT &&buffer) | |
Move constructor from a buffer. More... | |
NodeManagerHandle ()=default | |
Empty ctor. More... | |
NodeManagerHandle (const NodeManagerHandle &)=delete | |
Disallow copy-construction. More... | |
NodeManagerHandle & | operator= (const NodeManagerHandle &)=delete |
Disallow copy assignment operation. More... | |
NodeManagerHandle & | operator= (NodeManagerHandle &&other) noexcept |
Move copy assignment operation. More... | |
NodeManagerHandle (NodeManagerHandle &&other) noexcept | |
Move copy-constructor. More... | |
~NodeManagerHandle () | |
Default destructor. More... | |
void | reset () |
clear the buffer More... | |
BufferT & | buffer () |
Return a reference to the buffer. More... | |
const BufferT & | buffer () const |
Return a const reference to the buffer. More... | |
uint8_t * | data () |
Returns a non-const pointer to the data. More... | |
const uint8_t * | data () const |
Returns a const pointer to the data. More... | |
uint64_t | size () const |
Returns the size in bytes of the raw memory buffer managed by this NodeManagerHandle's allocator. More... | |
template<typename BuildT > | |
const NodeManager< BuildT > * | mgr () const |
Returns a const pointer to the NodeManager encoded in this NodeManagerHandle. More... | |
template<typename BuildT > | |
NodeManager< BuildT > * | mgr () |
Returns a pointer to the NodeManager encoded in this NodeManagerHandle. More... | |
template<typename BuildT , typename U = BufferT> | |
enable_if< BufferTraits< U > ::hasDeviceDual, const NodeManager< BuildT > * >::type | deviceMgr () const |
Return a const pointer to the NodeManager encoded in this NodeManagerHandle on the device, e.g. GPU. More... | |
template<typename BuildT , typename U = BufferT> | |
enable_if< BufferTraits< U > ::hasDeviceDual, NodeManager < BuildT > * >::type | deviceMgr () |
Return a const pointer to the NodeManager encoded in this NodeManagerHandle on the device, e.g. GPU. More... | |
template<typename U = BufferT> | |
enable_if< BufferTraits< U > ::hasDeviceDual, void >::type | deviceUpload (void *deviceGrid, void *stream=nullptr, bool sync=true) |
Upload the NodeManager to the device, e.g. from CPU to GPU. More... | |
template<typename U = BufferT> | |
enable_if< BufferTraits< U > ::hasDeviceDual, void >::type | deviceDownload (void *stream=nullptr, bool sync=true) |
Download the NodeManager to from the device, e.g. from GPU to CPU. More... | |
NodeManagerHandle manages the memory of a NodeManager.
This class serves to manage a raw memory buffer of a NanoVDB NodeManager or LeafManager.
Definition at line 31 of file NodeManager.h.
|
inline |
Move constructor from a buffer.
Definition at line 75 of file NodeManager.h.
|
default |
Empty ctor.
|
delete |
Disallow copy-construction.
|
inlinenoexcept |
Move copy-constructor.
Definition at line 90 of file NodeManager.h.
|
inline |
Default destructor.
Definition at line 96 of file NodeManager.h.
|
inline |
Return a reference to the buffer.
Definition at line 101 of file NodeManager.h.
|
inline |
Return a const reference to the buffer.
Definition at line 104 of file NodeManager.h.
|
inline |
Returns a non-const pointer to the data.
Definition at line 109 of file NodeManager.h.
|
inline |
Returns a const pointer to the data.
Definition at line 114 of file NodeManager.h.
|
inline |
Download the NodeManager to from the device, e.g. from GPU to CPU.
Definition at line 165 of file NodeManager.h.
|
inline |
Return a const pointer to the NodeManager encoded in this NodeManagerHandle on the device, e.g. GPU.
Definition at line 136 of file NodeManager.h.
|
inline |
Return a const pointer to the NodeManager encoded in this NodeManagerHandle on the device, e.g. GPU.
Definition at line 143 of file NodeManager.h.
|
inline |
Upload the NodeManager to the device, e.g. from CPU to GPU.
Definition at line 150 of file NodeManager.h.
|
inline |
Returns a const pointer to the NodeManager encoded in this NodeManagerHandle.
Definition at line 123 of file NodeManager.h.
|
inline |
Returns a pointer to the NodeManager encoded in this NodeManagerHandle.
Definition at line 129 of file NodeManager.h.
|
delete |
Disallow copy assignment operation.
|
inlinenoexcept |
Move copy assignment operation.
Definition at line 83 of file NodeManager.h.
|
inline |
clear the buffer
Definition at line 98 of file NodeManager.h.
|
inline |
Returns the size in bytes of the raw memory buffer managed by this NodeManagerHandle's allocator.
Definition at line 117 of file NodeManager.h.