7#ifndef NVIDIA_INDEX_IVDB_SUBSET_H
8#define NVIDIA_INDEX_IVDB_SUBSET_H
11#include <mi/base/interface_declare.h>
12#include <mi/math/vector.h>
21class IVDB_subset_device;
32 public mi::base::Interface_declare<0xe0555782,0x2353,0x4d3b,0xaf,0x9d,0xa4,0xbb,0xbc,0x10,0xa9,0xec,
33 IDistributed_data_subset>
46 struct NVDB_grid_storage {
61 mi::Uint32 attribute_index,
62 mi::Size grid_memory_size,
72 mi::Uint32 attribute_index)
const = 0;
91 public mi::base::Interface_declare<0xee4883a1,0xf5d3,0x4a42,0xaa,0x81,0x37,0xdd,0xe3,0x6c,0x8e,0xc8,
92 IDistributed_data_subset_device>
100 virtual void* grid_buffer(
101 mi::Uint32 attribute_index) = 0;
103 virtual mi::Size grid_buffer_size(
104 mi::Uint32 attribute_index)
const = 0;
105 virtual bool grid_buffer_resize(
106 mi::Uint32 attribute_index,
107 const mi::Size new_size) = 0;
111 virtual bool adopt_grid_buffer(
112 mi::Uint32 attribute_index,
114 mi::Size grid_data_size) = 0;
Distributed data storage class for VDB subsets hosted on a GPU device.
Definition: ivdb_subset.h:93
Distributed data storage class for VDB subsets.
Definition: ivdb_subset.h:34
virtual IVDB_subset_device * get_device_subset() const =0
Accessing the device VDB subset for direct access to the VDB device resources.
virtual bool generate_grid_storage(mi::Uint32 attribute_index, mi::Size grid_memory_size, NVDB_version nvdb_version)=0
Generating a grid storage.
virtual NVDB_grid_storage get_grid_storage(mi::Uint32 attribute_index) const =0
Accessing the internal grid storage.
Distributed subset interaces for a large-scale distributed datasets.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349
experimental API - subject to change! ///////////////////////////////////////////////////////////////...
Definition: ivdb_subset.h:40
mi::Uint64 magic
! Magic number.
Definition: ivdb_subset.h:41
mi::Uint32 minor
! Minor of NanoVDB version.
Definition: ivdb_subset.h:43
mi::Uint32 major
! Major of NanoVDB version.
Definition: ivdb_subset.h:42