The session represents the entire workspace with the NVIDIA IndeX environment. More...
#include <isession.h>
Inherits mi::base::Interface_declare< 0x21638be2, ... >.
Public Member Functions | |
Creating a scene. | |
virtual mi::neuraylib::Tag_struct | create_scene (mi::neuraylib::IDice_transaction *dice_transaction)=0 |
Creates a new scene for the current session. More... | |
virtual mi::neuraylib::Tag_struct | get_scene () const =0 |
The scene is part of the session description and can be accessed. More... | |
Traversing the scene. | |
virtual void | visit (IScene_visitor *visitor, mi::neuraylib::IDice_transaction *dice_transaction) const =0 |
Visiting the scene by traversing through the entire scene description. More... | |
Creating a camera. | |
virtual mi::neuraylib::Tag_struct | create_camera (mi::neuraylib::IDice_transaction *dice_transaction, const mi::base::Uuid &camera_type_uuid=IPerspective_camera::IID(), const char *camera_name=0) const =0 |
Creates a new camera object. More... | |
Data distribution. | |
virtual mi::neuraylib::Tag_struct | get_data_access_factory () const =0 |
Returns the factory that exposes access to the distributed large-scale datasets. More... | |
virtual mi::neuraylib::Tag_struct | get_distribution_layout () const =0 |
Returns the object that exposes the distribution of large-scale data in the cluster environment. More... | |
Spatial subdivision. | |
virtual ISubdivision * | get_spatial_subdivision (mi::neuraylib::IDice_transaction *dice_transaction) const =0 |
Returns the spatial subdivision. More... | |
Multi-view support. | |
virtual IViewport * | create_viewport () const =0 |
Creates a new viewport. More... | |
virtual IViewport_list * | create_viewport_list () const =0 |
Creates a new viewport list. More... | |
virtual ICanvas_viewport_list * | create_canvas_viewport_list () const =0 |
Creates a new list of canvas/viewport-list pairs. More... | |
Convenience interface class. | |
virtual IScene_convenience_manipulation * | get_conveniences () const =0 |
The convenience interface class allows an application-writer to perform common manipulations on a scene's configuration and, thus, reduces the efforts for tinker with the hierarchical scene description. More... | |
Global configurations and states. | |
enum | Export_mode { EXPORT_FORMAT_PRJ = 0x01 , EXPORT_FORMAT_JSON = 0x02 , EXPORT_SYSINFO = 0x10 , EXPORT_MEMORY = 0x20 , EXPORT_VERBOSE = 0x40 , EXPORT_DEBUG = 0x80 , EXPORT_HINTS = 0x100 , EXPORT_USER_DATA = 0x200 , EXPORT_DEFAULT = EXPORT_FORMAT_PRJ | EXPORT_SYSINFO | EXPORT_MEMORY | EXPORT_VERBOSE | EXPORT_DEBUG } |
Controls how the export will be performed by export_session(). More... | |
virtual mi::neuraylib::Tag_struct | get_config () const =0 |
Returns the configuration settings of this session. More... | |
virtual void | export_session (mi::Uint32 export_mode, mi::IString *output, mi::neuraylib::IDice_transaction *dice_transaction, const IViewport_list *viewport_list=0) const =0 |
Returns a textual representation of the internal state of the scene and the rendering parameters that make up this session. More... | |
virtual void | export_scene_element (mi::neuraylib::Tag_struct scene_element_tag, mi::Uint32 export_mode, mi::IString *output, mi::neuraylib::IDice_transaction *dice_transaction) const =0 |
Returns a textual representation of the internal state of the given scene element. More... | |
The session represents the entire workspace with the NVIDIA IndeX environment.
Besides allowing the user to configure (see nv::indeX::IConfig_settings
) the system, the session contains the scene (see nv::index::IScene
) and gives access to the internal data distribution schemes (see nv::index::IData_distribution
).
Controls how the export will be performed by export_session().
|
pure virtual |
Creates a new camera object.
[in] | dice_transaction | The DiCE transaction to store the new camera in DiCE's distributed database. |
[in] | camera_type_uuid | The UUID of the requested camera to be created. By default a IPerspective_camera instance is created. |
[in] | camera_name | The name for this camera. This name can be used to lookup the camera tag using IDice_transaction::name_to_tag(). When it is 0, no name is assigned. |
ICamera
interface camera. The caller takes ownership of the camera and is responsible for freeing it from the database by calling IDice_transaction::remove()
when it is not needed anymore.
|
pure virtual |
Creates a new list of canvas/viewport-list pairs.
ICanvas_viewport_list
object. The caller takes ownership of the returned object and is responsible for freeing it when it is not needed anymore, i.e. by storing it in a mi::base::Handle
.
|
pure virtual |
Creates a new scene for the current session.
[in] | dice_transaction | The DiCE transaction to store the scene in DiCE's distributed database. |
IScene
interface class.
|
pure virtual |
Creates a new viewport.
IViewport
object. The caller takes ownership of the viewport object and is responsible for freeing it when it is not needed anymore, i.e. by storing it in a mi::base::Handle
.
|
pure virtual |
Creates a new viewport list.
IViewport_list
object. The caller takes ownership of the viewport object and is responsible for freeing it when it is not needed anymore, i.e. by storing it in a mi::base::Handle
.
|
pure virtual |
Returns a textual representation of the internal state of the given scene element.
[in] | scene_element_tag | Tag of the IScene_element to be exported. |
[in] | export_mode | Combination (bitwise or) of values from Export_mode. |
[in] | output | String where the information should be written to. |
[in] | dice_transaction | DiCE transaction to use. |
|
pure virtual |
Returns a textual representation of the internal state of the scene and the rendering parameters that make up this session.
The output format and the amount of details are controlled by the export_mode parameter.
[in] | export_mode | Combination (bitwise or) of values from Export_mode. |
[in] | output | String where the information should be written to. |
[in] | dice_transaction | DiCE transaction to use. |
[in] | viewport_list | The scene of each viewport will be export, or, if set to 0, only the scene in the global scope. |
Consider that m_session_tag
contains the tag of an ISession and m_index
points to an instance of IIndex.
|
pure virtual |
Returns the configuration settings of this session.
IConfig_settings
object
|
pure virtual |
The convenience interface class allows an application-writer to perform common manipulations on a scene's configuration and, thus, reduces the efforts for tinker with the hierarchical scene description.
Nonetheless, defining the scene description explicitly and managing the scene in the application logic represents the method of choice.
IScene_convenience_manipulation
, which exposes means for conveniently manipulating a scene's configuration.
|
pure virtual |
Returns the factory that exposes access to the distributed large-scale datasets.
IDistributed_data_access_factory
interface class.
|
pure virtual |
Returns the object that exposes the distribution of large-scale data in the cluster environment.
IData_distribution
interface class.
|
pure virtual |
The scene is part of the session description and can be accessed.
IScene
interface.
|
pure virtual |
Returns the spatial subdivision.
This can be used to store the subdivision generated by IndeX, and restore it by using set_affinity_information()
to avoid costly internal regeneration. The returned object can be a basic ISubdivision
or ISubdivision_topology
. ISubdivision_topology
contains the Kd-tree or Octree topology.
[in] | dice_transaction | The DiCE transaction. |
|
pure virtual |
Visiting the scene by traversing through the entire scene description.
[in] | visitor | The application-side visitor traverses through the scene description and evaluates all scene elements. |
[in] | dice_transaction | The DiCE transaction that should be used for the traversal. |