Go to the documentation of this file.
60 #ifndef vtkAbstractArray_h
61 #define vtkAbstractArray_h
63 #include "vtkCommonCoreModule.h"
97 virtual void Initialize() = 0;
103 virtual int GetDataType() = 0;
111 virtual int GetDataTypeSize() = 0;
112 static int GetDataTypeSize(
int type);
122 virtual int GetElementComponentSize() = 0;
129 vtkSetClampMacro(NumberOfComponents,
int, 1,
VTK_INT_MAX);
147 bool HasAComponentName();
162 virtual void SetNumberOfTuples(
vtkIdType numTuples) = 0;
169 virtual void SetNumberOfValues(
vtkIdType numValues);
175 {
return (this->MaxId + 1)/this->NumberOfComponents;}
185 return (this->MaxId + 1);
249 virtual bool HasStandardMemoryLayout();
258 virtual void *GetVoidPointer(
vtkIdType valueIdx) = 0;
288 virtual void InterpolateTuple(
vtkIdType dstTupleIdx,
297 virtual void Squeeze() = 0;
331 {
return this->MaxId;}
338 VTK_DATA_ARRAY_USER_DEFINED
359 virtual void SetVoidArray(
void *vtkNotUsed(array),
361 int vtkNotUsed(
save)) =0;
363 int vtkNotUsed(deleteMethod))
364 {this->SetVoidArray(array,
size,
save);};
373 virtual void SetArrayFreeFunction(
void (*callback)(
void *)) = 0;
380 virtual void ExportToVoidPointer(
void *out_ptr);
390 virtual unsigned long GetActualMemorySize() = 0;
396 vtkSetStringMacro(Name);
397 vtkGetStringMacro(Name);
404 {
return vtkImageScalarTypeNameMacro( this->GetDataType() ); }
422 virtual int IsNumeric() = 0;
439 return this->GetNumberOfComponents() * this->GetNumberOfTuples();
454 VTK_EXPECTS(0 <= valueIdx && valueIdx < GetNumberOfValues());
468 VTK_EXPECTS(0 <= valueIdx && valueIdx < GetNumberOfValues()) = 0;
478 virtual void DataChanged() = 0;
485 virtual void ClearLookup() = 0;
539 virtual void GetProminentComponentValues(
int comp,
vtkVariantArray* values,
540 double uncertainty = 1.e-6,
double minimumProminence = 1.e-3);
571 virtual int CopyInformation(
vtkInformation *infoFrom,
int deep=1);
630 MAX_DISCRETE_VALUES = 32
638 vtkGetMacro(MaxDiscreteValues,
unsigned int);
639 vtkSetMacro(MaxDiscreteValues,
unsigned int);
650 DataArrayTemplate = AoSDataArrayTemplate
659 return AbstractArray;
685 virtual void UpdateDiscreteValueSet(
double uncertainty,
double minProminence);
700 class vtkInternalComponentNames;
714 template <
typename ArrayT>
719 return ArrayT::SafeDownCast(array);
741 template <
typename ArrayT>
754 #define vtkArrayDownCast_FastCastMacro(ArrayT) \
755 template <> struct vtkArrayDownCast_impl<ArrayT> \
757 inline ArrayT* operator()(vtkAbstractArray *array) \
759 return ArrayT::FastDownCast(array); \
771 #define vtkArrayDownCast_TemplateFastCastMacro(ArrayT) \
772 template <typename ValueT> struct vtkArrayDownCast_impl<ArrayT<ValueT> > \
774 inline ArrayT<ValueT>* operator()(vtkAbstractArray *array) \
776 return ArrayT<ValueT>::FastDownCast(array); \
virtual vtkIdType GetDataSize()
Returns the size of the data in DataTypeSize units.
int GetNumberOfComponents()
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
virtual void Modified()
Update the modification time for this object.
vtkInformation * Information
virtual void SetVoidArray(void *array, vtkIdType size, int save, int vtkNotUsed(deleteMethod))
abstract base class for most VTK objects
An array holding vtkVariants.
abstract superclass for arrays of numeric data
vtkInternalComponentNames * ComponentNames
bool HasInformation()
Inquire if this array has an instance of vtkInformation already associated with it.
vtkIdType GetSize()
Return the size of the data.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkIdType GetNumberOfTuples()
Get the number of complete tuples (a component group) in the array.
vtkIdType GetNumberOfValues() const
Get the total number of values in the array.
vtkIdType GetMaxId()
What is the maximum id currently in the array.
void Reset()
Reset to an empty state, without freeing any memory.
a simple class to control print indentation
A atomic type representing the union of many types.
list of point or cell ids
ArrayT * operator()(vtkAbstractArray *array)
Implementation of vtkArrayDownCast.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int GetArrayType()
Method for type-checking in FastDownCast implementations.
ArrayT * vtkArrayDownCast(vtkAbstractArray *array)
vtkArrayDownCast is to be used by generic (e.g.
Abstract superclass for all arrays.
unsigned int MaxDiscreteValues
dynamic, self-adjusting array of vtkIdType
Abstract superclass to iterate over elements in an vtkAbstractArray.
virtual const char * GetDataTypeAsString(void)
Get the name of a data type as a string.