Go to the documentation of this file.
35 #ifndef vtkMappedDataArray_h
36 #define vtkMappedDataArray_h
40 template <
class Scalar>
45 typedef typename Superclass::ValueType
ValueType;
112 vtkErrorMacro(<<
"WriteVoidPointer: Method not implemented.");
143 size_t TemporaryScalarPointerSize;
150 #include "vtkMappedDataArray.txx"
156 #define vtkMappedDataArrayNewInstanceMacro(thisClass) \
158 vtkObjectBase *NewInstanceInternal() const override \
160 if (vtkDataArray *da = \
161 vtkDataArray::CreateDataArray(thisClass::VTK_DATA_TYPE)) \
165 return thisClass::New(); \
171 #define vtkMappedDataArrayTypeMacro(thisClass, superClass) \
172 vtkAbstractTypeMacroWithNewInstanceType(thisClass, superClass, vtkDataArray) \
173 vtkMappedDataArrayNewInstanceMacro(thisClass)
175 #endif //vtkMappedDataArray_h
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkVariant GetVariantValue(vtkIdType idx) override=0
Retrieve value from the array as a variant.
Extend vtkDataArray with abstract type-specific API.
~vtkMappedDataArray() override
void * GetVoidPointer(vtkIdType id) override
Print an error and create an internal, long-lived temporary array.
bool HasStandardMemoryLayout() override
Returns true if this array uses the standard memory layout defined in the VTK user guide,...
void * WriteVoidPointer(vtkIdType, vtkIdType) override
Not implemented.
abstract superclass for arrays of numeric data
static vtkTemplateTypeMacro(vtkMappedDataArray< Scalar >, vtkTypedDataArray< Scalar >) typedef typename Superclass vtkMappedDataArray< Scalar > * FastDownCast(vtkAbstractArray *source)
Perform a fast, safe cast from a vtkAbstractArray to a vtkMappedDataArray.
Map non-contiguous data structures into the vtkDataArray API.
void ExportToVoidPointer(void *ptr) override
Copy the internal data to the void pointer.
int GetArrayType() override
Method for type-checking in FastDownCast implementations.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkTemplateTypeMacro(SelfType, vtkDataArray) enum
Compile time access to the VTK type identifier.
a simple class to control print indentation
A atomic type representing the union of many types.
list of point or cell ids
void DataChanged() override
Read the data from the internal temporary array (created by GetVoidPointer) back into the mapped arra...
void SetVariantValue(vtkIdType idx, vtkVariant value) override=0
Set a value in the array from a variant.
Abstract superclass for all arrays.
vtkArrayDownCast_TemplateFastCastMacro(vtkTypedDataArray) template< class Scalar > inline typename vtkTypedDataArray< Scalar >
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 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.
void Modified() override
Invalidate the internal temporary array and call superclass method.
void DeepCopy(vtkAbstractArray *aa) override=0
Deep copy of data.