| 
    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.