7#ifndef NVIDIA_INDEX_IIRREGULAR_VOLUME_COMPUTE_TASK_H
8#define NVIDIA_INDEX_IIRREGULAR_VOLUME_COMPUTE_TASK_H
10#include <mi/neuraylib/dice.h>
30 public mi::base::Interface_declare<0x71e7409,0x77cb,0x49c6,0xaa,0x26,0x94,0x62,0x59,0xfe,0xfa,0x28,IData_subset_processing_task>
64 const mi::math::Bbox_struct<mi::Float32, 3>& bbox,
66 mi::neuraylib::IDice_transaction* dice_transaction)
const = 0;
83 const mi::math::Bbox_struct<mi::Float32, 3>& bbox,
86 mi::neuraylib::IDice_transaction* dice_transaction)
const = 0;
103 public mi::base::Interface_implement<IIrregular_volume_compute_task>
108 const mi::math::Bbox_struct<mi::Float32, 3>& ,
111 mi::neuraylib::IDice_transaction* )
const
123 return OPERATION_MODE_SCALAR_VALUE_EDITING;
Factory for creating an empty data subset for a specific distributed dataset type.
Definition: idistributed_data_subset.h:259
Interface class for a volume compute tasks operating on the voxel values of one irregular volume data...
Definition: iirregular_volume_compute_task.h:31
Operation_mode
Specifies which compute task method shall be invoked by the NVIDIA IndeX library when processing the ...
Definition: iirregular_volume_compute_task.h:37
@ OPERATION_MODE_TOPOLOGY_EDITING
Reset the irregular volume subset that is contained in the given 3D area or bounding box.
Definition: iirregular_volume_compute_task.h:45
@ OPERATION_MODE_VERTEX_EDITING
Updating the positions and possibly scalar values at the cell vertices but not changing the volumes t...
Definition: iirregular_volume_compute_task.h:42
@ OPERATION_MODE_SCALAR_VALUE_EDITING
Updating the scalar values attached at cell vertices.
Definition: iirregular_volume_compute_task.h:39
virtual Operation_mode get_operation_mode() const =0
Specifies which compute task method the NVIDIA IndeX library triggers.
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.
virtual nv::index::IIrregular_volume_subset * 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 =0
Create distributed volume subset data using user-defined operations.
Distributed data storage class for irregular volume subsets.
Definition: iirregular_volume_subset.h:39
Mixin class for implementing the IIrregular_volume_compute_task interface.
Definition: iirregular_volume_compute_task.h:104
virtual nv::index::IIrregular_volume_subset * edit(const mi::math::Bbox_struct< mi::Float32, 3 > &, const IIrregular_volume_subset *, nv::index::IData_subset_factory *, mi::neuraylib::IDice_transaction *) const
Empty implementations.
Definition: iirregular_volume_compute_task.h:107
virtual Operation_mode get_operation_mode() const
Apply an editing to the scalar values only.
Definition: iirregular_volume_compute_task.h:121
Interfaces for distributed data processing.
Distributed subset interaces for a large-scale distributed datasets.
Distributed subsets of irregular volume datasets.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349