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);
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);
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); \ vtkIdType GetMaxId()
What is the maximum id currently in the array.
abstract base class for most VTK objects
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
vtkIdType GetNumberOfValues() const
Get the total number of values in the array.
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.
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.
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