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

This interface class represents an entry point for user-defined editing tasks that operate on the heightfield patches to modify their elevation values. More...

#include <idistributed_data_edit.h>

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

Public Member Functions

virtual void edit (IRegular_heightfield_compute_task *compute_task, mi::neuraylib::IDice_transaction *dice_transaction)=0
 Applies the given compute task on the current heightfield patch with a given bounding box. More...
 
virtual void get_updated_bounding_box (mi::math::Bbox_struct< mi::Float32, 3 > &bbox)=0
 Returns the updated bounding box of the heightfield patch data associated with the compute task. More...
 
virtual void execute_compute_task (const IData_subset_processing_task *compute_task, mi::neuraylib::IDice_transaction *dice_transaction) const =0
 Applies the given compute task on the current sparse-volume subset. More...
 

Detailed Description

This interface class represents an entry point for user-defined editing tasks that operate on the heightfield patches to modify their elevation values.

An instance of this class can be retrieved from IRegular_heightfield_data_locality::create_data_edit() for a given subset of the heightfield. The computing task that actually performs the user-defined heightfield editing needs to be implemented by a class derived from the interface IRegular_heightfield_compute_task and passed to edit().

In order to be able to process the given heightfield patch, the calling distributed rendering algorithm (e.g., IDistributed_data_job) has to make sure to query the interface only for those heightfield patches that are available on the present cluster host where the compute unit (fragment of the fragmented job) runs on, i.e., the height field's patch data needs to be available locally on that machine.

Deprecated:
Once the former IRegular_heightfield is replaced by the newer tile based IHeight_field_scene_element, then this class becomes obsolete and will be removed from the NVIDIA IndeX API.

Member Function Documentation

 edit()

virtual void nv::index::IRegular_heightfield_data_edit::edit ( IRegular_heightfield_compute_task compute_task,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
pure virtual

Applies the given compute task on the current heightfield patch with a given bounding box.

Parameters
[in]compute_taskThe height field compute task performs the editing operation and can be any user-defined technique or algorithm.
[in]dice_transactionThe DiCE transaction used for the operation.

 execute_compute_task()

virtual void nv::index::IRegular_heightfield_data_edit::execute_compute_task ( const IData_subset_processing_task compute_task,
mi::neuraylib::IDice_transaction *  dice_transaction 
) const
pure virtual

Applies the given compute task on the current sparse-volume subset.

Parameters
[in]compute_taskThe height field compute task performs the operation and can be any user-defined technique or algorithm.
[in]dice_transactionThe DiCE transaction used for the operation.

 get_updated_bounding_box()

virtual void nv::index::IRegular_heightfield_data_edit::get_updated_bounding_box ( mi::math::Bbox_struct< mi::Float32, 3 > &  bbox)
pure virtual

Returns the updated bounding box of the heightfield patch data associated with the compute task.

The updated bounding box shall be passed to the NVIDIA IndeX system to trigger, the data updates in the cluster environment if needed.

Parameters
[out]bboxThe bounding box of the heightfield patch after running the compute algorithm. The bounding box is defined in the height field's IJK space.

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