NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IIndex_direct Class Referenceabstract

Simplified scene management for volumes with direct access to low-level data. More...

#include <iindex_direct.h>

Inherits mi::base::Interface_declare< 0x62216bae, ... >.

Public Member Functions

virtual bool initialize (const IIndex_direct_config *idx_direct_config)=0
 Initializes the direct access functionality. More...
 
virtual const IIndex_direct_config * get_config () const =0
 The current configuration settings. More...
 
virtual const char * get_product_name () const =0
 The NVIDIA IndeX Direct product name. More...
 
virtual const char * get_version () const =0
 The product version of the NVIDIA IndeX Direct interface. More...
 
virtual const char * get_revision () const =0
 The NVIDIA IndeX Direct revision number indicates the build. More...
 
virtual IVolume_direct_hostload_volume (nv::index::IDistributed_data_import_callback *volume_importer)=0
 Loads a volume using the given importer. More...
 
virtual bool free_volume (IVolume_direct_host *volume_direct_inst)=0
 Frees up all resources of a particular host volume instance. More...
 
virtual bool free_volume (IVolume_direct_cuda *volume_direct_inst)=0
 Frees up all resources of a particular device volume instance. More...
 
virtual IVolume_direct_cudaupload_volume_to_device (const IVolume_direct_host *volume_direct, mi::Uint32 cuda_device_id)=0
 Upload the volume data to a particular CUDA device. More...
 
virtual IVolume_direct_vulkan * upload_volume_to_vulkan (VkPhysicalDevice vk_phys_device, VkDevice vk_device, const IVolume_direct_host *volume_direct)=0
 Upload the volume data to a particular Vulkan device. More...
 
virtual mi::IString * get_memory_usage_info () const =0
 Get an information string containing information about internal memory usage. More...
 

Detailed Description

Simplified scene management for volumes with direct access to low-level data.

Member Function Documentation

 free_volume() [1/2]

virtual bool nv::index::IIndex_direct::free_volume ( IVolume_direct_cuda volume_direct_inst)
pure virtual

Frees up all resources of a particular device volume instance.

Parameters
[in]volume_direct_instInstance of volume_direct_inst to free.
Returns
True if resources were freed up successfully, false otherwise.

 free_volume() [2/2]

virtual bool nv::index::IIndex_direct::free_volume ( IVolume_direct_host volume_direct_inst)
pure virtual

Frees up all resources of a particular host volume instance.

Parameters
[in]volume_direct_instInstance of IVolume_direct to free.
Returns
True if resources were freed up successfully, false otherwise.

 get_config()

virtual const IIndex_direct_config * nv::index::IIndex_direct::get_config ( ) const
pure virtual

The current configuration settings.

Returns
Returns the configuration settings for the IndeX direct instance.

 get_memory_usage_info()

virtual mi::IString * nv::index::IIndex_direct::get_memory_usage_info ( ) const
pure virtual

Get an information string containing information about internal memory usage.

Returns
An information string containing information about internal memory usage

 get_product_name()

virtual const char * nv::index::IIndex_direct::get_product_name ( ) const
pure virtual

The NVIDIA IndeX Direct product name.

Returns
Returns the NVIDIA IndeX Direct product name as a null-terminated string.

 get_revision()

virtual const char * nv::index::IIndex_direct::get_revision ( ) const
pure virtual

The NVIDIA IndeX Direct revision number indicates the build.

Please also refer to the product version in support requests.

Returns
Returns NVIDIA IndeX Direct product revision number as a null-terminated string.

 get_version()

virtual const char * nv::index::IIndex_direct::get_version ( ) const
pure virtual

The product version of the NVIDIA IndeX Direct interface.

Please also refer to the product version in support requests.

Returns
Returns the NVIDIA IndeX Direct product version as a null-terminated string.

 initialize()

virtual bool nv::index::IIndex_direct::initialize ( const IIndex_direct_config *  idx_direct_config)
pure virtual

Initializes the direct access functionality.

Must be called before load_volume() but after IIndex::start().

Parameters
[in]idx_direct_configConfiguration settings for the IndeX direct instance.

 load_volume()

virtual IVolume_direct_host * nv::index::IIndex_direct::load_volume ( nv::index::IDistributed_data_import_callback volume_importer)
pure virtual

Loads a volume using the given importer.

Parameters
[in]volume_importerImporter that implements the data loading.
Returns
Volume representation that can be used to access the data, or 0 on error.

 upload_volume_to_device()

virtual IVolume_direct_cuda * nv::index::IIndex_direct::upload_volume_to_device ( const IVolume_direct_host volume_direct,
mi::Uint32  cuda_device_id 
)
pure virtual

Upload the volume data to a particular CUDA device.

Parameters
[in]cuda_device_idCUDA device where the data resides.
Returns
Handle to device data, or 0 when the data does not exist on the given device.

 upload_volume_to_vulkan()

virtual IVolume_direct_vulkan * nv::index::IIndex_direct::upload_volume_to_vulkan ( VkPhysicalDevice  vk_phys_device,
VkDevice  vk_device,
const IVolume_direct_host volume_direct 
)
pure virtual

Upload the volume data to a particular Vulkan device.

Parameters
[in]vk_phys_devicePhysical Vulkan device to match to internal CUDA device for the upload.
[in]vk_deviceLogical Vulkan device where the data should reside.
[in]volume_directInstance of IVolume_direct to upload.
Returns
Handle to device data, or 0 when the data does not exist on the given device.

The documentation for this class was generated from the following file: