60 #ifndef vtkAbstractArray_h 61 #define vtkAbstractArray_h 92 virtual int Allocate(vtkIdType numValues, vtkIdType ext=1000) = 0;
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);
136 void SetComponentName( vtkIdType
component,
const char *
name );
142 const char* GetComponentName( vtkIdType
component );
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);
194 virtual void SetTuple(vtkIdType dstTupleIdx, vtkIdType srcTupleIdx,
202 virtual void InsertTuple(vtkIdType dstTupleIdx, vtkIdType srcTupleIdx,
218 virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
226 virtual vtkIdType InsertNextTuple(vtkIdType srcTupleIdx,
241 virtual void GetTuples(vtkIdType p1, vtkIdType p2,
vtkAbstractArray *output);
249 virtual bool HasStandardMemoryLayout();
258 virtual void *GetVoidPointer(vtkIdType valueIdx) = 0;
277 virtual void InterpolateTuple(vtkIdType dstTupleIdx,
vtkIdList *ptIndices,
288 virtual void InterpolateTuple(vtkIdType dstTupleIdx,
297 virtual void Squeeze() = 0;
308 virtual int Resize(vtkIdType numTuples) = 0;
331 {
return this->MaxId;}
337 VTK_DATA_ARRAY_ALIGNED_FREE
355 virtual void SetVoidArray(
void *vtkNotUsed(array),
356 vtkIdType vtkNotUsed(
size),
357 int vtkNotUsed(
save)) =0;
359 int vtkNotUsed(deleteMethod))
360 {this->SetVoidArray(array,
size,
save);};
368 virtual void ExportToVoidPointer(
void *out_ptr);
378 virtual unsigned long GetActualMemorySize() = 0;
384 vtkSetStringMacro(Name);
392 {
return vtkImageScalarTypeNameMacro( this->GetDataType() ); }
410 virtual int IsNumeric() = 0;
427 return this->GetNumberOfComponents() * this->GetNumberOfTuples();
441 virtual vtkVariant GetVariantValue(vtkIdType valueIdx)
442 VTK_EXPECTS(0 <= valueIdx && valueIdx < GetNumberOfValues());
456 VTK_EXPECTS(0 <= valueIdx && valueIdx < GetNumberOfValues()) = 0;
466 virtual void DataChanged() = 0;
473 virtual void ClearLookup() = 0;
527 virtual void GetProminentComponentValues(
int comp,
vtkVariantArray* values,
528 double uncertainty = 1.e-6,
double minimumProminence = 1.e-3);
559 virtual int CopyInformation(
vtkInformation *infoFrom,
int deep=1);
618 MAX_DISCRETE_VALUES = 32
626 vtkGetMacro(MaxDiscreteValues,
unsigned int);
638 DataArrayTemplate = AoSDataArrayTemplate
647 return AbstractArray;
673 virtual void UpdateDiscreteValueSet(
double uncertainty,
double minProminence);
688 class vtkInternalComponentNames;
702 template <
typename ArrayT>
707 return ArrayT::SafeDownCast(array);
729 template <
typename ArrayT>
742 #define vtkArrayDownCast_FastCastMacro(ArrayT) \ 743 template <> struct vtkArrayDownCast_impl<ArrayT> \ 745 inline ArrayT* operator()(vtkAbstractArray *array) \ 747 return ArrayT::FastDownCast(array); \ 759 #define vtkArrayDownCast_TemplateFastCastMacro(ArrayT) \ 760 template <typename ValueT> struct vtkArrayDownCast_impl<ArrayT<ValueT> > \ 762 inline ArrayT<ValueT>* operator()(vtkAbstractArray *array) \ 764 return ArrayT<ValueT>::FastDownCast(array); \ vtkIdType GetMaxId()
What is the maximum id currently in the array.
abstract base class for most VTK objects
vtkIdType GetNumberOfValues() const
Get the total number of values in the array.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
An array holding vtkVariants.
vtkIdType GetNumberOfTuples()
Get the number of complete tuples (a component group) in the array.
Abstract superclass for all arrays.
Implementation of vtkArrayDownCast.
#define VTKCOMMONCORE_EXPORT
virtual int GetArrayType()
Method for type-checking in FastDownCast implementations.
dynamic, self-adjusting array of vtkIdType
int GetNumberOfComponents()
Set/Get the dimension (n) of the components.
A atomic type representing the union of many types.
virtual void SetVoidArray(void *array, vtkIdType size, int save, int vtkNotUsed(deleteMethod))
This method lets the user specify data to be held by the array.
virtual vtkIdType GetDataSize()
Returns the size of the data in DataTypeSize units.
vtkInformation * Information
a simple class to control print indentation
list of point or cell ids
virtual const char * GetDataTypeAsString(void)
Get the name of a data type as a string.
ArrayT * operator()(vtkAbstractArray *array)
abstract superclass for arrays of numeric data
bool HasInformation()
Inquire if this array has an instance of vtkInformation already associated with it.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
virtual void Modified()
Update the modification time for this object.
Abstract superclass to iterate over elements in an vtkAbstractArray.
void Reset()
Reset to an empty state, without freeing any memory.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
vtkIdType GetSize()
Return the size of the data.
vtkInternalComponentNames * ComponentNames
ArrayT * vtkArrayDownCast(vtkAbstractArray *array)
vtkArrayDownCast is to be used by generic (e.g.
unsigned int MaxDiscreteValues