35 #ifndef vtkMappedDataArray_h
36 #define vtkMappedDataArray_h
40 template <
class Scalar>
45 typedef typename Superclass::ValueType
ValueType;
112 vtkErrorMacro(<<
"WriteVoidPointer: Method not implemented.");
142 ValueType *TemporaryScalarPointer;
143 size_t TemporaryScalarPointerSize;
150 #include "vtkMappedDataArray.txx"
156 #define vtkMappedDataArrayNewInstanceMacro(thisClass) \
158 vtkObjectBase *NewInstanceInternal() const \
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)
Methods invoked by print to print information about the object including superclasses.
Map non-contiguous data structures into the vtkDataArray API.
Abstract superclass for all arrays.
vtkTemplateTypeMacro(SelfType, vtkDataArray) enum
Compile time access to the VTK type identifier.
void DataChanged()
Read the data from the internal temporary array (created by GetVoidPointer) back into the mapped arra...
void ExportToVoidPointer(void *ptr)
Copy the internal data to the void pointer.
vtkVariant GetVariantValue(vtkIdType idx)=0
Retrieve value from the array as a variant.
A atomic type representing the union of many types.
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.
a simple class to control print indentation
void * GetVoidPointer(vtkIdType id)
Print an error and create an internal, long-lived temporary array.
void DeepCopy(vtkAbstractArray *aa)=0
Deep copy of data.
virtual int GetArrayType()
Method for type-checking in FastDownCast implementations.
list of point or cell ids
void * WriteVoidPointer(vtkIdType, vtkIdType)
Not implemented.
abstract superclass for arrays of numeric data
vtkArrayDownCast_TemplateFastCastMacro(vtkTypedDataArray) template< class Scalar > inline typename vtkTypedDataArray< Scalar >
bool HasStandardMemoryLayout()
Returns true if this array uses the standard memory layout defined in the VTK user guide...
Extend vtkDataArray with abstract type-specific API.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void Modified()
Invalidate the internal temporary array and call superclass method.
void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output)=0
Given a list of tuple ids, return an array of tuples.
void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)=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)=0
Set a value in the array from a variant.
void SetVoidArray(void *, vtkIdType, int)
These methods don't make sense for mapped data array.