23 #ifndef vtkMappedDataArray_h
24 #define vtkMappedDataArray_h
28 VTK_ABI_NAMESPACE_BEGIN
29 template <
class Scalar>
100 vtkErrorMacro(<<
"WriteVoidPointer: Method not implemented.");
127 ValueType* TemporaryScalarPointer;
128 size_t TemporaryScalarPointerSize;
135 VTK_ABI_NAMESPACE_END
136 #include "vtkMappedDataArray.txx"
142 #define vtkMappedDataArrayNewInstanceMacro(thisClass) \
144 vtkObjectBase* NewInstanceInternal() const override \
146 if (vtkDataArray* da = vtkDataArray::CreateDataArray(thisClass::VTK_DATA_TYPE)) \
150 return thisClass::New(); \
157 #define vtkMappedDataArrayTypeMacro(thisClass, superClass) \
158 vtkAbstractTypeMacroWithNewInstanceType(thisClass, superClass, vtkDataArray); \
159 vtkMappedDataArrayNewInstanceMacro(thisClass)
161 #endif // vtkMappedDataArray_h
~vtkMappedDataArray() override
Map non-contiguous data structures into the vtkDataArray API.
vtkTemplateTypeMacro(vtkMappedDataArray< Scalar >, vtkTypedDataArray< Scalar >)
Abstract superclass for all arrays.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void * GetVoidPointer(vtkIdType id) override
Print an error and create an internal, long-lived temporary array.
A type representing the union of many types.
vtkArrayDownCast_TemplateFastCastMacro(vtkMappedDataArray)
vtkVariant GetVariantValue(vtkIdType idx) override=0
Retrieve value from the array as a variant.
void ExportToVoidPointer(void *ptr) override
Copy the internal data to the void pointer.
a simple class to control print indentation
bool HasStandardMemoryLayout() const override
Returns true if this array uses the standard memory layout defined in the VTK user guide...
list of point or cell ids
int GetArrayType() const override
Method for type-checking in FastDownCast implementations.
void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output) override=0
Given a list of tuple ids, return an array of tuples.
abstract superclass for arrays of numeric data
void DataChanged() override
Read the data from the internal temporary array (created by GetVoidPointer) back into the mapped arra...
Superclass::ValueType ValueType
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...
void SetVariantValue(vtkIdType idx, vtkVariant value) override=0
Set a value in the array from a variant.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Extend vtkDataArray with abstract type-specific API.
void Modified() override
Invalidate the internal temporary array and call superclass method.
void * WriteVoidPointer(vtkIdType, vtkIdType) override
Not implemented.
void SetVoidArray(void *, vtkIdType, int) override
These methods don't make sense for mapped data array.
void DeepCopy(vtkAbstractArray *aa) override=0
Deep copy of data.
static vtkMappedDataArray< Scalar > * FastDownCast(vtkAbstractArray *source)
Perform a fast, safe cast from a vtkAbstractArray to a vtkMappedDataArray.