VTK  9.3.0
Public Member Functions | List of all members
vtkIndexedImplicitBackend< ValueType > Class Template Reference

A backend for the vtkImplicitArray framework allowing one to use a subset of a given data array, by providing a vtkIdList or vtkDataArray of indexes as indirection, as another vtkDataArray without any excess memory consumption. More...

#include <vtkIndexedImplicitBackend.h>

Public Member Functions

 ~vtkIndexedImplicitBackend ()
 
ValueType operator() (int idx) const
 Indexing operation for the indexed array respecting the backend expectations of vtkImplicitArray
 
 vtkIndexedImplicitBackend (vtkIdList *indexes, vtkDataArray *array)
 Constructor.
 
 vtkIndexedImplicitBackend (vtkDataArray *indexes, vtkDataArray *array)
 Constructor.
 

Detailed Description

template<typename ValueType>
class vtkIndexedImplicitBackend< ValueType >

A backend for the vtkImplicitArray framework allowing one to use a subset of a given data array, by providing a vtkIdList or vtkDataArray of indexes as indirection, as another vtkDataArray without any excess memory consumption.

This structure can be classified as a closure and can be called using syntax similar to a function call.

An example of potential usage in a vtkImplicitArray:

baseArray->SetNumberOfComponents(1);
baseArray->SetNumberOfTuples(100);
auto range = vtk::DataArrayValueRange<1>(baseArray);
std::iota(range.begin(), range.end(), 0);
handles->SetNumberOfIds(100);
for (vtkIdType idx = 0; idx < 100; idx++)
{
handles->SetId(idx, 99-idx);
}
// `vtkIndexedArray<int>`
// if available
indexedArr->SetBackend(std::make_shared<vtkIndexedImplicitBackend<int>>(handles, baseArray));
indexedArr->SetNumberOfComponents(1);
indexedArr->SetNumberOfTuples(100);
CHECK(indexedArr->GetValue(57) == 42);
A backend for the vtkImplicitArray framework allowing one to use a subset of a given data array,...
Allocate and hold a VTK object.
Definition vtkNew.h:51
int vtkIdType
Definition vtkType.h:315
See also
vtkImplicitArray, vtkIndexedArray

Definition at line 53 of file vtkIndexedImplicitBackend.h.

Constructor & Destructor Documentation

◆ vtkIndexedImplicitBackend() [1/2]

template<typename ValueType >
vtkIndexedImplicitBackend< ValueType >::vtkIndexedImplicitBackend ( vtkIdList indexes,
vtkDataArray array 
)

Constructor.

Parameters
indexeslist of indexes to use for indirection of the array
arraybase array of interest

◆ vtkIndexedImplicitBackend() [2/2]

template<typename ValueType >
vtkIndexedImplicitBackend< ValueType >::vtkIndexedImplicitBackend ( vtkDataArray indexes,
vtkDataArray array 
)

Constructor.

Parameters
indexeslist of indexes to use for indirection of the array
arraybase array of interest

◆ ~vtkIndexedImplicitBackend()

template<typename ValueType >
vtkIndexedImplicitBackend< ValueType >::~vtkIndexedImplicitBackend ( )

Member Function Documentation

◆ operator()()

template<typename ValueType >
ValueType vtkIndexedImplicitBackend< ValueType >::operator() ( int  idx) const

Indexing operation for the indexed array respecting the backend expectations of vtkImplicitArray


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