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

Interface class for a volume compute tasks operating on the voxel values of one irregular volume data. More...

#include <iirregular_volume_compute_task.h>

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

Public Types

enum  Operation_mode {
  OPERATION_MODE_SCALAR_VALUE_EDITING = 1 ,
  OPERATION_MODE_VERTEX_EDITING = 2 ,
  OPERATION_MODE_TOPOLOGY_EDITING = 3
}
 Specifies which compute task method shall be invoked by the NVIDIA IndeX library when processing the irregular volume subset data. More...
 

Public Member Functions

virtual bool edit (const mi::math::Bbox_struct< mi::Float32, 3 > &bbox, IIrregular_volume_subset *subset_data, mi::neuraylib::IDice_transaction *dice_transaction) const =0
 Perform a user-defined operation on the volume subset scalar/attribute data. More...
 
virtual nv::index::IIrregular_volume_subsetedit (const mi::math::Bbox_struct< mi::Float32, 3 > &bbox, const IIrregular_volume_subset *subset_data, nv::index::IData_subset_factory *factory, mi::neuraylib::IDice_transaction *dice_transaction) const =0
 Create distributed volume subset data using user-defined operations. More...
 
virtual Operation_mode get_operation_mode () const =0
 Specifies which compute task method the NVIDIA IndeX library triggers. More...
 

Detailed Description

Interface class for a volume compute tasks operating on the voxel values of one irregular volume data.

Passing an instance of an user-defined implementation of this class to the exposed interface class IIrregular_volume_data_edit::edit() execute the compute task on the given volume data that is stored locally on a cluster machine.

Member Enumeration Documentation

 Operation_mode

Specifies which compute task method shall be invoked by the NVIDIA IndeX library when processing the irregular volume subset data.

Enumerator
OPERATION_MODE_SCALAR_VALUE_EDITING 

Updating the scalar values attached at cell vertices.

OPERATION_MODE_VERTEX_EDITING 

Updating the positions and possibly scalar values at the cell vertices but not changing the volumes topology.

OPERATION_MODE_TOPOLOGY_EDITING 

Reset the irregular volume subset that is contained in the given 3D area or bounding box.

Member Function Documentation

 edit() [1/2]

virtual nv::index::IIrregular_volume_subset * nv::index::IIrregular_volume_compute_task::edit ( const mi::math::Bbox_struct< mi::Float32, 3 > &  bbox,
const IIrregular_volume_subset subset_data,
nv::index::IData_subset_factory factory,
mi::neuraylib::IDice_transaction *  dice_transaction 
) const
pure virtual

Create distributed volume subset data using user-defined operations.

Parameters
[in]bboxThe bounding box that contains the present provided irregular volume subset.
[in]subset_dataIrregular volume subset.
[in]factoryFactory class that creates irregular volume subset.
[in]dice_transactionThe current DiCE transaction.
Returns
Shall return the new irregular volume subset data that. replaces the former one.

 edit() [2/2]

virtual bool nv::index::IIrregular_volume_compute_task::edit ( const mi::math::Bbox_struct< mi::Float32, 3 > &  bbox,
IIrregular_volume_subset subset_data,
mi::neuraylib::IDice_transaction *  dice_transaction 
) const
pure virtual

Perform a user-defined operation on the volume subset scalar/attribute data.

Parameters
[in]bboxThe bounding box that contains the present provided irregular volume subset.
[in,out]subset_dataIrregular volume subset.
[in]dice_transactionThe current DiCE transaction.
Returns
Shall return true if modifications have taken place and false otherwise. If it returns true, then the NVIDIA IndeX library automatically updates the internal data representation of the irregular volume for rendering.

 get_operation_mode()

virtual Operation_mode nv::index::IIrregular_volume_compute_task::get_operation_mode ( ) const
pure virtual

Specifies which compute task method the NVIDIA IndeX library triggers.

Returns
Returns a mode that links to the above compute methods.

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