39 #ifndef vtkTypedDataArray_h
40 #define vtkTypedDataArray_h
44 #include "vtkCommonCoreModule.h"
49 template <
class Scalar>
57 typedef typename Superclass::ValueType
ValueType;
194 #include "vtkTypedDataArrayIterator.h"
196 template <
class Scalar>
inline
199 return Iterator(
this, 0);
202 template <
class Scalar>
inline
205 return Iterator(
this, this->
MaxId + 1);
208 #include "vtkTypedDataArray.txx"
Abstract superclass for all arrays.
Base interface for all typed vtkDataArray subclasses.
vtkTemplateTypeMacro(SelfType, vtkDataArray) enum
Compile time access to the VTK type identifier.
STL-style random access iterator for vtkTypedDataArrays.
Extend vtkDataArray with abstract type-specific API.
int GetArrayType() override
Method for type-checking in FastDownCast implementations.
virtual int Allocate(vtkIdType size, vtkIdType ext=1000)=0
Allocate memory for this array.
virtual int Resize(vtkIdType numTuples)=0
Resize the array to the requested number of tuples and preserve data.
virtual void SetTypedComponent(vtkIdType tupleIdx, int comp, ValueType v)
virtual bool ReallocateTuples(vtkIdType numTuples)
Needed for vtkGenericDataArray API, but just aborts.
vtkTemplateTypeMacro(vtkTypedDataArray< Scalar >, GenericDataArrayType) typedef typename Superclass typedef vtkTypedDataArrayIterator< ValueType > Iterator
Typedef to a suitable iterator class.
int GetDataTypeSize() override
Return the size of the element type in bytes.
static vtkTypedDataArray< Scalar > * FastDownCast(vtkAbstractArray *source)
Perform a fast, safe cast from a vtkAbstractArray to a vtkTypedDataArray.
virtual bool AllocateTuples(vtkIdType numTuples)
Needed for vtkGenericDataArray API, but just aborts.
Iterator Begin()
Return an iterator initialized to the first element of the data.
virtual ValueType GetTypedComponent(vtkIdType tupleIdx, int comp) const
virtual vtkIdType InsertNextTypedTuple(const ValueType *t)=0
Insert (memory allocation performed) the tuple onto the end of the array.
Iterator End()
Return an iterator initialized to first element past the end of the data.
virtual vtkIdType InsertNextValue(ValueType v)=0
Insert data at the end of the array.
virtual ValueType & GetValueReference(vtkIdType idx)=0
Get a reference to the scalar value at a particular index.
virtual void InsertTypedTuple(vtkIdType i, const ValueType *t)=0
Insert (memory allocation performed) the tuple into the ith location in the array.
virtual ValueType GetValue(vtkIdType idx) const =0
Get the data at a particular index.
virtual void SetValue(vtkIdType idx, ValueType value)=0
Set the data at a particular index.
int GetDataType() override
Return the VTK data type held by this array.
void SetNumberOfValues(vtkIdType num) override
Specify the number of values for this object to hold.
virtual void SetTypedTuple(vtkIdType i, const ValueType *t)=0
Set the tuple value at the ith location in the array.
virtual void GetTypedTuple(vtkIdType idx, ValueType *t) const =0
Copy the tuple value into a user-provided array.
virtual void InsertValue(vtkIdType idx, ValueType v)=0
Insert data at a specified position in the array.
Template defining traits of native types used by VTK.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkArrayDownCast_TemplateFastCastMacro(vtkTypedDataArray) template< class Scalar > inline typename vtkTypedDataArray< Scalar >