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;
308 virtual int Resize(
vtkIdType numTuples) = 0;
331 {
return this->MaxId;}
337 VTK_DATA_ARRAY_ALIGNED_FREE
355 virtual void SetVoidArray(
void *vtkNotUsed(array),
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();
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.
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