VTK
9.3.0
|
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. | |
~vtkCompositeImplicitBackend () | |
ValueType | operator() (int idx) const |
Indexing operator for the composite of the two arrays respecting the vtkImplicitArray expectations. | |
Protected Attributes | |
std::unique_ptr< Internals > | Internal |
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 49 of file vtkCompositeImplicitBackend.h.
vtkCompositeImplicitBackend< ValueType >::vtkCompositeImplicitBackend | ( | const std::vector< vtkDataArray * > & | arrays | ) |
Constructor for the backend.
arrays | std::vector of arrays to composite together leftArr->GetNumberOfTuples() |
vtkCompositeImplicitBackend< ValueType >::~vtkCompositeImplicitBackend | ( | ) |
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))
|
protected |
Definition at line 71 of file vtkCompositeImplicitBackend.h.