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

API component for creating the user session in the NVIDIA IndeX library. More...

#include <iindex.h>

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

Public Member Functions

virtual mi::neuraylib::Tag_struct create_session (mi::neuraylib::IDice_transaction *dice_transaction, const char *session_name=0)=0
 Creates an instance that represents the ISession. More...
 
virtual mi::neuraylib::Tag_struct get_session (mi::neuraylib::IDice_transaction *dice_transaction, const char *session_name=0)=0
 Returns a previously created ISession instance. More...
 
virtual void set_affinity_information (IAffinity_information *affinity_information)=0
 Sets the user-defined affinity information required to match the spatial data distribution between an application and NVIDIA IndeX. More...
 
virtual void update (mi::neuraylib::Tag_struct session_tag, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Update the NVIDIA IndeX library session. More...
 
virtual void set_clock (IClock_pulse_generator *clock_pulse_generator)=0
 A custom clock generates time ticks for time-dependent data visualizations. More...
 
virtual IClock_pulse_generatorget_clock () const =0
 A custom clock generates time ticks for time-dependent data visualizations. More...
 

Detailed Description

API component for creating the user session in the NVIDIA IndeX library.

Member Function Documentation

 create_session()

virtual mi::neuraylib::Tag_struct nv::index::IIndex_session::create_session ( mi::neuraylib::IDice_transaction *  dice_transaction,
const char *  session_name = 0 
)
pure virtual

Creates an instance that represents the ISession.

An instance of the ISession interface class that manages the general operations applied to the system. A session, for instance, contains the configuration (IConfig_settings) and a scene (IScene), but also exposes factory functionalities for creating scene elements or the virtual camera.

The session can be assigned a name to be able to retrieve it later without knowing the tag using get_session(). Such a name must be unique in the DiCE database. This functionality can be used to enable failing viewer machines to continue rendering, or joining viewer machines to implement multi-viewer/multi-scene scenarios for interactive collaborations on shared large scale datasets.

Parameters
[in]dice_transactionThe DiCE database transaction used for creating a session.
[in]session_nameAn optional name used to identify the session database element in the DiCE database.
Returns
Returns the created ISession tag on success. The caller takes ownership of the session and is responsible for freeing the session from the database by calling IDice_transaction::remove() when it is not needed anymore.

 get_clock()

virtual IClock_pulse_generator * nv::index::IIndex_session::get_clock ( ) const
pure virtual

A custom clock generates time ticks for time-dependent data visualizations.

Returns
The registered user-defined clock.

 get_session()

virtual mi::neuraylib::Tag_struct nv::index::IIndex_session::get_session ( mi::neuraylib::IDice_transaction *  dice_transaction,
const char *  session_name = 0 
)
pure virtual

Returns a previously created ISession instance.

An instance of ISession that manages the general operations applied to the system. Such a session contains, for instance, the configuration (IConfig_settings) and a scene (IScene), but also exposes factory functionalities for creating scene elements or the virtual camera.

Parameters
[in]dice_transactionThe DiCE transaction used for retrieving the selected session.
[in]session_nameWhen querying for a session, the name stored with the session when creating the session using create_session() needs to be specified.
Returns
Returns the tag of the ISession.

 set_affinity_information()

virtual void nv::index::IIndex_session::set_affinity_information ( IAffinity_information affinity_information)
pure virtual

Sets the user-defined affinity information required to match the spatial data distribution between an application and NVIDIA IndeX.

Note
Calling this method will flush the spatial data information inside the library and trigger reloading of all distributed data.
Parameters
[in]affinity_informationThe affinity information is used by the NVIDIA IndeX library when assigning subregions to hosts and GPUs in the cluster. This class takes ownership of the parameter.

 set_clock()

virtual void nv::index::IIndex_session::set_clock ( IClock_pulse_generator clock_pulse_generator)
pure virtual

A custom clock generates time ticks for time-dependent data visualizations.

Parameters
[in]clock_pulse_generatorA user-defined clock, this class takes ownership.

 update()

virtual void nv::index::IIndex_session::update ( mi::neuraylib::Tag_struct  session_tag,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Update the NVIDIA IndeX library session.

Depending on data and database changes, this updates a session's internal state. For instance, if a scene element was modified by the user, then this call takes care of ensuring consistency of the internal data structures.

Parameters
[in]session_tagThe tag of an ISession.
[in]dice_transactionThe DiCE transaction that the update runs in.

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