NVIDIA IndeX API nvidia_logo_transpbg.gif Up
iirregular_volume_compute_task.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IIRREGULAR_VOLUME_COMPUTE_TASK_H
8#define NVIDIA_INDEX_IIRREGULAR_VOLUME_COMPUTE_TASK_H
9
10#include <mi/neuraylib/dice.h>
11
15
16namespace nv
17{
18namespace index
19{
20
30 public mi::base::Interface_declare<0x71e7409,0x77cb,0x49c6,0xaa,0x26,0x94,0x62,0x59,0xfe,0xfa,0x28,IData_subset_processing_task>
31{
32public:
37 {
46 };
47
63 virtual bool edit(
64 const mi::math::Bbox_struct<mi::Float32, 3>& bbox,
65 IIrregular_volume_subset* subset_data,
66 mi::neuraylib::IDice_transaction* dice_transaction) const = 0;
67
83 const mi::math::Bbox_struct<mi::Float32, 3>& bbox,
84 const IIrregular_volume_subset* subset_data,
86 mi::neuraylib::IDice_transaction* dice_transaction) const = 0;
87
93};
94
103 public mi::base::Interface_implement<IIrregular_volume_compute_task>
104{
105public:
108 const mi::math::Bbox_struct<mi::Float32, 3>& /*bbox*/,
109 const IIrregular_volume_subset* /*subset_data*/,
111 mi::neuraylib::IDice_transaction* /*dice_transaction*/) const
112 {
113 return 0;
114 }
115 using mi::base::Interface_implement<IIrregular_volume_compute_task>::edit;
116
121 virtual Operation_mode get_operation_mode() const
122 {
123 return OPERATION_MODE_SCALAR_VALUE_EDITING;
124 }
125};
126
127}} // namespace index / nv
128
129#endif // NVIDIA_INDEX_IIRREGULAR_VOLUME_COMPUTE_TASK_H
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