23#ifndef vtkMappedDataArray_h 
   24#define vtkMappedDataArray_h 
   29VTK_ABI_NAMESPACE_BEGIN
 
   30template <
class Scalar>
 
   32                              "for 1 component or `vtkSOADataArrayTemplate` for more " 
  103    vtkErrorMacro(<< 
"WriteVoidPointer: Method not implemented.");
 
  130  ValueType* TemporaryScalarPointer;
 
  131  size_t TemporaryScalarPointerSize;
 
  139#include "vtkMappedDataArray.txx" 
  145#define vtkMappedDataArrayNewInstanceMacro(thisClass)                                              \ 
  147  vtkObjectBase* NewInstanceInternal() const override                                              \ 
  149    if (vtkDataArray* da = vtkDataArray::CreateDataArray(thisClass::VTK_DATA_TYPE))                \ 
  153    return thisClass::New();                                                                       \ 
  160#define vtkMappedDataArrayTypeMacro(thisClass, superClass)                                         \ 
  161  vtkAbstractTypeMacroWithNewInstanceType(thisClass, superClass, vtkDataArray);                    \ 
  162  vtkMappedDataArrayNewInstanceMacro(thisClass) 
Abstract superclass for all arrays.
 
static constexpr int MappedDataArray
 
abstract superclass for arrays of numeric data
 
list of point or cell ids
 
a simple class to control print indentation
 
Map non-contiguous data structures into the vtkDataArray API.
 
void SetVoidArray(void *, vtkIdType, int, int) override
These methods don't make sense for mapped data array.
 
void Modified() override
Invalidate the internal temporary array and call superclass method.
 
void DeepCopy(vtkAbstractArray *aa) override=0
Deep copy of data.
 
void SetVariantValue(vtkIdType idx, vtkVariant value) override=0
Set a value in the array from a variant.
 
void * WriteVoidPointer(vtkIdType, vtkIdType) override
Not implemented.
 
void SetVoidArray(void *, vtkIdType, int) override
These methods don't make sense for mapped data array.
 
void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output) override=0
Given a list of tuple ids, return an array of tuples.
 
vtkVariant GetVariantValue(vtkIdType idx) override=0
Retrieve value from the array as a variant.
 
void DeepCopy(vtkDataArray *da) override=0
Deep copy of data.
 
bool HasStandardMemoryLayout() const override
Returns true if this array uses the standard memory layout defined in the VTK user guide,...
 
void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output) override=0
Get the tuples for the range of tuple ids specified (i.e., p1->p2 inclusive).
 
vtkTemplateTypeMacro(vtkMappedDataArray< Scalar >, vtkTypedDataArray< Scalar >)
 
void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1, vtkIdType id2, vtkAbstractArray *source2, double t) override=0
Insert the tuple at dstTupleIdx in this array to the tuple interpolated from the two tuple indices,...
 
void ExportToVoidPointer(void *ptr) override
Copy the internal data to the void pointer.
 
static vtkMappedDataArray< Scalar > * FastDownCast(vtkAbstractArray *source)
Perform a fast, safe cast from a vtkAbstractArray to a vtkMappedDataArray.
 
int GetArrayType() const override
Method for type-checking in FastDownCast implementations.
 
~vtkMappedDataArray() override
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
void DataChanged() override
Read the data from the internal temporary array (created by GetVoidPointer) back into the mapped arra...
 
void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights) override=0
Set the tuple at dstTupleIdx in this array to the interpolated tuple value, given the ptIndices in th...
 
Superclass::ValueType ValueType
 
void * GetVoidPointer(vtkIdType id) override
Print an error and create an internal, long-lived temporary array.
 
Extend vtkDataArray with abstract type-specific API.
 
A type representing the union of many types.
 
#define vtkArrayDownCast_TemplateFastCastMacro(ArrayT)
Same as vtkArrayDownCast_FastCastMacro, but treats ArrayT as a single-parameter template (the paramet...
 
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
 
#define VTK_DEPRECATED_IN_9_5_0(reason)