23 #ifndef __vtkDataArrayTemplate_h
24 #define __vtkDataArrayTemplate_h
75 void GetTupleValue(
vtkIdType i, T* tuple);
82 void SetTupleValue(
vtkIdType i,
const T* tuple);
90 void InsertTupleValue(
vtkIdType i,
const T* tuple);
98 vtkIdType InsertNextTupleValue(
const T* tuple);
106 range[0] = this->ValueRange[0];
107 range[1] = this->ValueRange[1]; }
110 return this->ValueRange; }
114 void Squeeze() { this->ResizeAndExtend (this->MaxId+1,
false); }
130 { this->Array[id] = value;};
136 void SetNumberOfValues(
vtkIdType number);
179 {
return this->WritePointer(
id, number); }
200 VTK_DATA_ARRAY_DELETE
214 void SetArray(T* array,
vtkIdType size,
int save,
int deleteMethod);
216 { this->SetArray(array, size, save, VTK_DATA_ARRAY_FREE); }
218 { this->SetArray(static_cast<T*>(array), size, save); }
224 this->SetArray(static_cast<T*>(array), size, save, deleteMethod);
255 virtual void DataElementChanged(
vtkIdType id);
268 T* ResizeAndExtend(
vtkIdType sz,
bool useExactSize);
289 #if !defined(VTK_NO_EXPLICIT_TEMPLATE_INSTANTIATION)
290 # define VTK_DATA_ARRAY_TEMPLATE_INSTANTIATE(T) \
291 template class VTK_COMMON_EXPORT vtkDataArrayTemplate< T >
293 # include "vtkDataArrayTemplateImplicit.txx"
294 # define VTK_DATA_ARRAY_TEMPLATE_INSTANTIATE(T)
297 #endif // !defined(__vtkDataArrayTemplate_h)
302 #if defined(VTK_DATA_ARRAY_TEMPLATE_TYPE)
303 # if defined(VTK_BUILD_SHARED_LIBS) && defined(_MSC_VER)
304 # pragma warning (push)
305 # pragma warning (disable: 4091) // warning C4091: 'extern ' :
307 # pragma warning (disable: 4231) // Compiler-specific extension warning.
320 # pragma warning (disable: 4910) // extern and dllexport incompatible
325 # pragma warning (pop)
327 # undef VTK_DATA_ARRAY_TEMPLATE_TYPE
T * GetValueRange(int comp)
virtual double * GetTuple(vtkIdType i)=0
virtual void DeepCopy(vtkAbstractArray *aa)
virtual void SetVoidArray(void *array, vtkIdType size, int save, int deleteMethod)
Implementation template for vtkDataArray.
virtual void DataChanged()=0
virtual void DeepCopy(vtkAbstractArray *da)
virtual void ComputeRange(int comp)
Abstract superclass for all arrays.
virtual vtkIdType LookupValue(vtkVariant value)=0
void SetValue(vtkIdType id, T value)
virtual void RemoveFirstTuple()=0
virtual void SetNumberOfTuples(vtkIdType number)=0
virtual void ComputeVectorRange()
virtual void InsertComponent(vtkIdType i, int j, double c)
virtual double GetComponent(vtkIdType i, int j)
virtual void Initialize()=0
A atomic type representing the union of many types.
virtual void ExportToVoidPointer(void *vtkNotUsed(out_ptr))
virtual int Allocate(vtkIdType sz, vtkIdType ext=1000)=0
virtual void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)=0
virtual void ClearLookup()=0
a simple class to control print indentation
virtual void RemoveLastTuple()=0
#define VTK_DATA_ARRAY_TEMPLATE_TYPE
virtual void * GetVoidPointer(vtkIdType id)
list of point or cell ids
virtual int Resize(vtkIdType numTuples)=0
abstract superclass for arrays of numeric data
virtual vtkArrayIterator * NewIterator()=0
void DeepCopy(vtkAbstractArray *aa)
Abstract superclass to iterate over elements in an vtkAbstractArray.
virtual void SetVoidArray(void *array, vtkIdType size, int save)
virtual void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)=0
T * GetPointer(vtkIdType id)
virtual void ComputeScalarRange(int comp)
void SetArray(T *array, vtkIdType size, int save)
void GetValueRange(T range[2], int comp)
void save(Archiver &ar, const vtkVariant &variant, const unsigned int vtkNotUsed(version))
virtual void SetComponent(vtkIdType i, int j, double c)
void PrintSelf(ostream &os, vtkIndent indent)
virtual void RemoveTuple(vtkIdType id)=0
virtual void SetVariantValue(vtkIdType idx, vtkVariant value)=0
virtual vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source)=0
virtual void * WriteVoidPointer(vtkIdType id, vtkIdType number)
#define VTK_DATA_ARRAY_TEMPLATE_INSTANTIATE(T)