Interface to represent the entry point to the NVIDIA IndeX library and its functionality.
More...
#include <iindex.h>
Inherits mi::base::Interface_declare< 0x3beb46c0, ... >.
Interface to represent the entry point to the NVIDIA IndeX library and its functionality.
Only one instance of this class may exist at the same time. It enables the configuration, start-up and shutdown of the NVIDIA IndeX library and exposes the library's API functionality through API components.
◆ authenticate()
virtual mi::Sint32 nv::index::IIndex::authenticate |
( |
const char * |
vendor_key, |
|
|
mi::Sint32 |
vendor_key_length, |
|
|
const char * |
secret_key, |
|
|
mi::Sint32 |
secret_key_length, |
|
|
const char * |
flexnet_license_path = 0 , |
|
|
mi::Sint32 |
flexnet_license_path_length = 0 |
|
) |
| |
|
pure virtual |
Authenticates the NVIDIA IndeX library.
Note: This call checks the argument validity only. The actual license validation will be done in the nv::index::IIndex::start() call.
- Parameters
-
[in] | vendor_key | Vendor key string. |
[in] | vendor_key_length | Length of the vendor key. |
[in] | secret_key | Secret key string. |
[in] | secret_key_length | Length of the secret key. |
[in] | flexnet_license_path | Deprecated, will be ignored. |
[in] | flexnet_license_path_length | Deprecated, will be ignored. |
- Returns
- Result of the NVIDIA IndeX library authentication attempt, 0 means success.
◆ create_rendering_interface()
virtual IIndex_rendering * nv::index::IIndex::create_rendering_interface |
( |
| ) |
const |
|
pure virtual |
An instance of the rendering interface IIndex_rendering
allows rendering a scene to a user-defined canvas.
Multiple rendering interfaces may exists. The rendering interface instances enabled, for instance, rendering to different multiple views.
- Returns
- Creates and returns a new instance of the rendering interface
IIndex_rendering
. If the library hasn't been initialized yet, then 0 will be returned.
◆ get_api_component() [1/2]
template<class T>
T * nv::index::IIndex::get_api_component |
( |
| ) |
const |
|
inline |
Retrieve an instance of an API component from the IndeX library.
This templated method is a wrapper around get_api_component(const mi::base::Uuid&) for the user's convenience. It eliminates the need to call mi::IInterface::get_interface(const
Uuid&) on the returned pointer, since the return type already is a pointer to the type specified as template parameter.
- Template Parameters
-
T | The type of the interface to be queried. |
- Returns
- A pointer to the interface or 0 if the interface is not supported. The pointer must be released when it is no longer needed.
◆ get_api_component() [2/2]
virtual mi::base::IInterface * nv::index::IIndex::get_api_component |
( |
const mi::base::Uuid & |
interface_id | ) |
const |
|
pure virtual |
Retrieve an instance of an API component from the NVIDIA IndeX or DiCE library.
Examples of supported API components:
- Parameters
-
interface_id | The unique id of the interface to be queried. |
- Returns
- A pointer to the interface or 0 if the interface is not supported. The pointer must be released when it is no longer needed.
◆ get_built_in_logger()
virtual mi::base::ILogger * nv::index::IIndex::get_built_in_logger |
( |
| ) |
const |
|
pure virtual |
Get the IndeX library's built-in logger.
- Returns
- Returns the built-in logger used in the IndeX library. Please refer to the DiCE library API for details.
◆ get_cuda_runtime_version()
virtual mi::Sint32 nv::index::IIndex::get_cuda_runtime_version |
( |
| ) |
const |
|
pure virtual |
Returns the CUDA runtime version number.
- Returns
- Returns the detected CUDA runtime version.
◆ get_dice_interface()
virtual mi::neuraylib::INeuray * nv::index::IIndex::get_dice_interface |
( |
| ) |
|
|
pure virtual |
The DiCE interface is available for further use.
Please refer to the DiCE library API for details.
- Returns
- Exposes the DiCE interface.
◆ get_dice_version()
virtual const char * nv::index::IIndex::get_dice_version |
( |
| ) |
const |
|
pure virtual |
Returns the product version of the DiCE library.
- Returns
- Returns the DiCE product version.
◆ get_forwarding_logger()
virtual mi::base::ILogger * nv::index::IIndex::get_forwarding_logger |
( |
| ) |
const |
|
pure virtual |
Get the IndeX library's forwarding logger.
- Returns
- Returns the forwarding logger used in the IndeX library. Please refer to the DiCE library API for details.
◆ get_nvidia_driver_version()
virtual const char * nv::index::IIndex::get_nvidia_driver_version |
( |
| ) |
const |
|
pure virtual |
Returns the NVIDIA driver version string.
- Returns
- Returns the detected NVIDIA driver version string.
◆ get_product_name()
virtual const char * nv::index::IIndex::get_product_name |
( |
| ) |
const |
|
pure virtual |
The NVIDIA IndeX library name or product name.
- Returns
- Returns the NVIDIA IndeX product name as a null-terminated string.
◆ get_revision()
virtual const char * nv::index::IIndex::get_revision |
( |
| ) |
const |
|
pure virtual |
The NVIDIA IndeX revision number indicates the build.
Please also refer to the product version in support requests.
- Returns
- Returns NVIDIA IndeX product revision number as a null-terminated string.
◆ get_version()
virtual const char * nv::index::IIndex::get_version |
( |
| ) |
const |
|
pure virtual |
The product version of the NVIDIA IndeX library.
Please also refer to the product version in support requests.
- Returns
- Returns the NVIDIA IndeX product version as a null-terminated string.
◆ register_serializable_class() [1/2]
template<class T>
bool nv::index::IIndex::register_serializable_class |
( |
| ) |
const |
|
inline |
Registers a serializable class with DiCE and NVIDIA IndeX.
Registering a class for serialization allows communicating class instances through the serialization mechanism. It enables, for instance, storing database elements and jobs in the distributed database or communicating job results (see mi::neuraylib::IFragmented_job::execute_fragment_remote()
).
Registering a class for serialization can only be done before DiCE library has been started.
This templated member function is a wrapper of the non-template variant for the user's convenience. It uses the default class factory mi::neuraylib::IUser_class_factory specialized for T.
- Returns
- Returns
true
if the class of type T was successfully registered for serialization, and false
otherwise.
◆ register_serializable_class() [2/2]
virtual bool nv::index::IIndex::register_serializable_class |
( |
mi::base::Uuid |
class_id, |
|
|
mi::neuraylib::IUser_class_factory * |
factory |
|
) |
| const |
|
pure virtual |
Registers a serializable class with DiCE and NVIDIA IndeX.
Registering a class for serialization allows communicating class instances through the serialization mechanism. It enables, for instance, storing database elements and jobs in the distributed database or communicating job results (see mi::neuraylib::IFragmented_job::execute_fragment_remote()
).
Registering a class for serialization can only be done before DiCE library has been started.
- Parameters
-
class_id | The class ID of the class that shall be registered for serialization. |
factory | The class factory. |
- Returns
- Returns
true
if the class of was successfully registered for serialization, and false
otherwise.
◆ shutdown()
virtual mi::Sint32 nv::index::IIndex::shutdown |
( |
| ) |
|
|
pure virtual |
Shut down the IndeX library.
After this call, all library-related function calls will fail.
- Note
- Restarting is not supported.
- Returns
- Return 0 on success
◆ start()
virtual mi::Uint32 nv::index::IIndex::start |
( |
bool |
is_dice_start_block = true | ) |
|
|
pure virtual |
Starts the operation of the IndeX library.
- Note
- All user-defined serializable classes must have been registered before calling this method.
- Parameters
-
[in] | is_dice_start_block | Indicates whether the DiCE start up should be done in blocking mode (compare mi::neuraylib::INeuray::start()). Currently blocking mode is required by NVIDIA IndeX and a warning will be printed if false is specified here. |
- Returns
- Returns 0 on success.
The documentation for this class was generated from the following file: