VTK  9.3.1
Public Member Functions | Protected Attributes | List of all members
vtkCompositeImplicitBackend< ValueType > Class Template Referencefinal

A utility structure serving as a backend for composite arrays: an array composed of multiple arrays concatenated together. More...

#include <vtkCompositeImplicitBackend.h>

Public Member Functions

 vtkCompositeImplicitBackend (const std::vector< vtkDataArray * > &arrays)
 Constructor for the backend. More...
 
 ~vtkCompositeImplicitBackend ()
 
ValueType operator() (int idx) const
 Indexing operator for the composite of the two arrays respecting the vtkImplicitArray expectations. More...
 

Protected Attributes

std::unique_ptr< Internals > Internal
 

Detailed Description

template<typename ValueType>
class vtkCompositeImplicitBackend< ValueType >

A utility structure serving as a backend for composite arrays: an array composed of multiple arrays concatenated together.

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

This class uses indirect addressing of cached arrays to provide an access compute complexity of O(log_2(number_of_arrays)) through its () operator.

At construction it takes an array arrays in order to represent their concatenation.

An example of potential usage in a vtkImplicitArray

WARNING: Arrays input to the backend are flattened upon use and are no longer sensitive to component information.

Definition at line 51 of file vtkCompositeImplicitBackend.h.

Constructor & Destructor Documentation

template<typename ValueType >
vtkCompositeImplicitBackend< ValueType >::vtkCompositeImplicitBackend ( const std::vector< vtkDataArray * > &  arrays)

Constructor for the backend.

Parameters
arraysstd::vector of arrays to composite together leftArr->GetNumberOfTuples()
template<typename ValueType >
vtkCompositeImplicitBackend< ValueType >::~vtkCompositeImplicitBackend ( )

Member Function Documentation

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

Indexing operator for the composite of the two arrays respecting the vtkImplicitArray expectations.

Conceptually, the composite array uses a binary search algorithm through the use of std::upper_bounds to offer a compute complexity of O(log_2(n_arrays))

Member Data Documentation

template<typename ValueType >
std::unique_ptr<Internals> vtkCompositeImplicitBackend< ValueType >::Internal
protected

Definition at line 72 of file vtkCompositeImplicitBackend.h.


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