VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkAbstractArray Class Referenceabstract

Abstract superclass for all arrays. More...

#include <vtkAbstractArray.h>

Inheritance diagram for vtkAbstractArray:
[legend]
Collaboration diagram for vtkAbstractArray:
[legend]

Public Types

enum  DeleteMethod { VTK_DATA_ARRAY_FREE, VTK_DATA_ARRAY_DELETE, VTK_DATA_ARRAY_ALIGNED_FREE, VTK_DATA_ARRAY_USER_DEFINED }
 
enum  { MAX_DISCRETE_VALUES = 32 }
 
enum  {
  AbstractArray = 0, DataArray, AoSDataArrayTemplate, SoADataArrayTemplate,
  TypedDataArray, MappedDataArray, ScaleSoADataArrayTemplate, DataArrayTemplate = AoSDataArrayTemplate
}
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkAbstractArrayNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual vtkTypeBool Allocate (vtkIdType numValues, vtkIdType ext=1000)=0
 Allocate memory for this array. More...
 
virtual void Initialize ()=0
 Release storage and reset array to initial state. More...
 
virtual int GetDataType ()=0
 Return the underlying data type. More...
 
virtual int GetDataTypeSize ()=0
 Return the size of the underlying data type. More...
 
virtual int GetElementComponentSize ()=0
 Return the size, in bytes, of the lowest-level element of an array. More...
 
virtual void SetNumberOfComponents (int)
 Set/Get the dimension (n) of the components. More...
 
int GetNumberOfComponents ()
 
void SetComponentName (vtkIdType component, const char *name)
 Set the name for a component. More...
 
const char * GetComponentName (vtkIdType component)
 Get the component name for a given component. More...
 
bool HasAComponentName ()
 Returns if any component has had a name assigned. More...
 
int CopyComponentNames (vtkAbstractArray *da)
 Copies the component names from the inputed array to the current array make sure that the current array has the same number of components as the input array. More...
 
virtual void SetNumberOfTuples (vtkIdType numTuples)=0
 Set the number of tuples (a component group) in the array. More...
 
virtual void SetNumberOfValues (vtkIdType numValues)
 Specify the number of values (tuples * components) for this object to hold. More...
 
vtkIdType GetNumberOfTuples ()
 Get the number of complete tuples (a component group) in the array. More...
 
vtkIdType GetNumberOfValues () const
 Get the total number of values in the array. More...
 
virtual void SetTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source)=0
 Set the tuple at dstTupleIdx in this array to the tuple at srcTupleIdx in the source array. More...
 
virtual void InsertTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source)=0
 Insert the tuple at srcTupleIdx in the source array into this array at dstTupleIdx. More...
 
virtual void InsertTuples (vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source)=0
 Copy the tuples indexed in srcIds from the source array to the tuple locations indexed by dstIds in this array. More...
 
virtual void InsertTuples (vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source)=0
 Copy n consecutive tuples starting at srcStart from the source array to this array, starting at the dstStart location. More...
 
virtual vtkIdType InsertNextTuple (vtkIdType srcTupleIdx, vtkAbstractArray *source)=0
 Insert the tuple from srcTupleIdx in the source array at the end of this array. More...
 
virtual void GetTuples (vtkIdList *tupleIds, vtkAbstractArray *output)
 Given a list of tuple ids, return an array of tuples. More...
 
virtual void GetTuples (vtkIdType p1, vtkIdType p2, vtkAbstractArray *output)
 Get the tuples for the range of tuple ids specified (i.e., p1->p2 inclusive). More...
 
virtual bool HasStandardMemoryLayout ()
 Returns true if this array uses the standard memory layout defined in the VTK user guide, e.g. More...
 
virtual void * GetVoidPointer (vtkIdType valueIdx)=0
 Return a void pointer. More...
 
virtual void DeepCopy (vtkAbstractArray *da)
 Deep copy of data. More...
 
virtual void InterpolateTuple (vtkIdType dstTupleIdx, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)=0
 Set the tuple at dstTupleIdx in this array to the interpolated tuple value, given the ptIndices in the source array and associated interpolation weights. More...
 
virtual void InterpolateTuple (vtkIdType dstTupleIdx, vtkIdType srcTupleIdx1, vtkAbstractArray *source1, vtkIdType srcTupleIdx2, vtkAbstractArray *source2, double t)=0
 Insert the tuple at dstTupleIdx in this array to the tuple interpolated from the two tuple indices, srcTupleIdx1 and srcTupleIdx2, and an interpolation factor, t. More...
 
virtual void Squeeze ()=0
 Free any unnecessary memory. More...
 
virtual vtkTypeBool Resize (vtkIdType numTuples)=0
 Resize the array to the requested number of tuples and preserve data. More...
 
void Reset ()
 Reset to an empty state, without freeing any memory. More...
 
vtkIdType GetSize ()
 Return the size of the data. More...
 
vtkIdType GetMaxId ()
 What is the maximum id currently in the array. More...
 
virtual void SetVoidArray (void *vtkNotUsed(array), vtkIdType vtkNotUsed(size), int vtkNotUsed(save))=0
 This method lets the user specify data to be held by the array. More...
 
virtual void SetVoidArray (void *array, vtkIdType size, int save, int vtkNotUsed(deleteMethod))
 
virtual void SetArrayFreeFunction (void(*callback)(void *))=0
 This method allows the user to specify a custom free function to be called when the array is deallocated. More...
 
virtual void ExportToVoidPointer (void *out_ptr)
 This method copies the array data to the void pointer specified by the user. More...
 
virtual unsigned long GetActualMemorySize ()=0
 Return the memory in kibibytes (1024 bytes) consumed by this data array. More...
 
virtual void SetName (const char *)
 Set/get array's name. More...
 
virtual char * GetName ()
 
virtual const char * GetDataTypeAsString (void)
 Get the name of a data type as a string. More...
 
virtual int IsNumeric ()=0
 This method is here to make backward compatibility easier. More...
 
virtual vtkArrayIteratorNewIterator ()=0
 Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate. More...
 
virtual vtkIdType GetDataSize ()
 Returns the size of the data in DataTypeSize units. More...
 
virtual vtkIdType LookupValue (vtkVariant value)=0
 Return the value indices where a specific value appears. More...
 
virtual void LookupValue (vtkVariant value, vtkIdList *valueIds)=0
 
virtual vtkVariant GetVariantValue (vtkIdType valueIdx)
 Retrieve value from the array as a variant. More...
 
virtual void InsertVariantValue (vtkIdType valueIdx, vtkVariant value)=0
 Insert a value into the array from a variant. More...
 
virtual void SetVariantValue (vtkIdType valueIdx, vtkVariant value)=0
 Set a value in the array from a variant. More...
 
virtual void DataChanged ()=0
 Tell the array explicitly that the data has changed. More...
 
virtual void ClearLookup ()=0
 Delete the associated fast lookup data structure on this array, if it exists. More...
 
virtual void GetProminentComponentValues (int comp, vtkVariantArray *values, double uncertainty=1.e-6, double minimumProminence=1.e-3)
 Populate the given vtkVariantArray with a set of distinct values taken on by the requested component (or, when passed -1, by the tuples as a whole). More...
 
vtkInformationGetInformation ()
 Get an information object that can be used to annotate the array. More...
 
bool HasInformation ()
 Inquire if this array has an instance of vtkInformation already associated with it. More...
 
virtual int CopyInformation (vtkInformation *infoFrom, int deep=1)
 Copy information instance. More...
 
void Modified () override
 Removes out-of-date PER_COMPONENT() and PER_FINITE_COMPONENT() values. More...
 
virtual unsigned int GetMaxDiscreteValues ()
 Get/Set the maximum number of prominent values this array may contain before it is considered continuous. More...
 
virtual void SetMaxDiscreteValues (unsigned int)
 
virtual int GetArrayType ()
 Method for type-checking in FastDownCast implementations. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractArraySafeDownCast (vtkObjectBase *o)
 
static int GetDataTypeSize (int type)
 
static vtkAbstractArrayCreateArray (int dataType)
 Creates an array for dataType where dataType is one of VTK_BIT, VTK_CHAR, VTK_UNSIGNED_CHAR, VTK_SHORT, VTK_UNSIGNED_SHORT, VTK_INT, VTK_UNSIGNED_INT, VTK_LONG, VTK_UNSIGNED_LONG, VTK_DOUBLE, VTK_DOUBLE, VTK_ID_TYPE, VTK_STRING. More...
 
static vtkInformationIntegerKeyGUI_HIDE ()
 This key is a hint to end user interface that this array is internal and should not be shown to the end user. More...
 
static vtkInformationInformationVectorKeyPER_COMPONENT ()
 This key is used to hold a vector of COMPONENT_VALUES (and, for vtkDataArray subclasses, COMPONENT_RANGE) keys – one for each component of the array. More...
 
static vtkInformationInformationVectorKeyPER_FINITE_COMPONENT ()
 This key is used to hold a vector of COMPONENT_VALUES (and, for vtkDataArray subclasses, COMPONENT_RANGE) keys – one for each component of the array. More...
 
static vtkInformationVariantVectorKeyDISCRETE_VALUES ()
 A key used to hold discrete values taken on either by the tuples of the array (when present in this->GetInformation()) or individual components (when present in one entry of the PER_COMPONENT() information vector). More...
 
static vtkInformationDoubleVectorKeyDISCRETE_VALUE_SAMPLE_PARAMETERS ()
 A key used to hold conditions under which cached discrete values were generated; the value is a 2-vector of doubles. More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkAbstractArray ()
 
 ~vtkAbstractArray () override
 
virtual void SetInformation (vtkInformation *)
 Set an information object that can be used to annotate the array. More...
 
virtual void UpdateDiscreteValueSet (double uncertainty, double minProminence)
 Obtain the set of unique values taken on by each component of the array, as well as by the tuples of the array. More...
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkIdType Size
 
vtkIdType MaxId
 
int NumberOfComponents
 
unsigned int MaxDiscreteValues
 
char * Name
 
bool RebuildArray
 
vtkInformationInformation
 
vtkInternalComponentNames * ComponentNames
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

Abstract superclass for all arrays.

vtkAbstractArray is an abstract superclass for data array objects. This class defines an API that all subclasses must support. The data type must be assignable and copy-constructible, but no other assumptions about its type are made. Most of the subclasses of this array deal with numeric data either as scalars or tuples of scalars. A program can use the IsNumeric() method to check whether an instance of vtkAbstractArray contains numbers. It is also possible to test for this by attempting to SafeDownCast an array to an instance of vtkDataArray, although this assumes that all numeric arrays will always be descended from vtkDataArray.

Every array has a character-string name. The naming of the array occurs automatically when it is instantiated, but you are free to change this name using the SetName() method. (The array name is used for data manipulation.)

This class (and subclasses) use two forms of addressing elements:

It is also worth pointing out that the behavior of the "Insert*" methods of classes in this hierarchy may not behave as expected. They work exactly as the corresponding "Set*" methods, except that memory allocation will be performed if acting on a value past the end of the array. If the data already exists, "inserting" will overwrite existing values, rather than shift the array contents and insert the new data at the specified location.

See also
vtkDataArray vtkStringArray vtkCellArray
Tests:
vtkAbstractArray (Tests)

Definition at line 78 of file vtkAbstractArray.h.

Member Typedef Documentation

◆ Superclass

Definition at line 81 of file vtkAbstractArray.h.

Member Enumeration Documentation

◆ DeleteMethod

Enumerator
VTK_DATA_ARRAY_FREE 
VTK_DATA_ARRAY_DELETE 
VTK_DATA_ARRAY_ALIGNED_FREE 
VTK_DATA_ARRAY_USER_DEFINED 

Definition at line 333 of file vtkAbstractArray.h.

◆ anonymous enum

anonymous enum
Enumerator
MAX_DISCRETE_VALUES 

Definition at line 629 of file vtkAbstractArray.h.

◆ anonymous enum

anonymous enum
Enumerator
AbstractArray 
DataArray 
AoSDataArrayTemplate 
SoADataArrayTemplate 
TypedDataArray 
MappedDataArray 
ScaleSoADataArrayTemplate 
DataArrayTemplate 

Definition at line 642 of file vtkAbstractArray.h.

Constructor & Destructor Documentation

◆ vtkAbstractArray()

vtkAbstractArray::vtkAbstractArray ( )
protected

◆ ~vtkAbstractArray()

vtkAbstractArray::~vtkAbstractArray ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkAbstractArray::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkAbstractArray::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObjectBase.

Reimplemented in vtkVariantArray, vtkDataArray, vtkStringArray, vtkBitArray, vtkIntArray, vtkUnicodeStringArray, vtkUnsignedLongArray, vtkLongArray, vtkLongLongArray, vtkShortArray, vtkUnsignedIntArray, vtkUnsignedLongLongArray, vtkUnsignedShortArray, vtkDoubleArray, vtkFloatArray, vtkIdTypeArray, vtkUnsignedCharArray, vtkCharArray, and vtkSignedCharArray.

◆ SafeDownCast()

static vtkAbstractArray* vtkAbstractArray::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkAbstractArray::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkAbstractArray* vtkAbstractArray::NewInstance ( ) const

◆ PrintSelf()

void vtkAbstractArray::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

◆ Allocate()

virtual vtkTypeBool vtkAbstractArray::Allocate ( vtkIdType  numValues,
vtkIdType  ext = 1000 
)
pure virtual

◆ Initialize()

virtual void vtkAbstractArray::Initialize ( )
pure virtual

◆ GetDataType()

virtual int vtkAbstractArray::GetDataType ( )
pure virtual

◆ GetDataTypeSize() [1/2]

virtual int vtkAbstractArray::GetDataTypeSize ( )
pure virtual

◆ GetDataTypeSize() [2/2]

static int vtkAbstractArray::GetDataTypeSize ( int  type)
static

◆ GetElementComponentSize()

virtual int vtkAbstractArray::GetElementComponentSize ( )
pure virtual

Return the size, in bytes, of the lowest-level element of an array.

For vtkDataArray and subclasses this is the size of the data type. For vtkStringArray, this is sizeof(vtkStdString::value_type), which winds up being sizeof(char).

Implemented in vtkStringArray, vtkVariantArray, vtkDataArray, and vtkUnicodeStringArray.

◆ SetNumberOfComponents()

virtual void vtkAbstractArray::SetNumberOfComponents ( int  )
virtual

◆ GetNumberOfComponents()

int vtkAbstractArray::GetNumberOfComponents ( )
inline

Definition at line 130 of file vtkAbstractArray.h.

◆ SetComponentName()

void vtkAbstractArray::SetComponentName ( vtkIdType  component,
const char *  name 
)

Set the name for a component.

component must be >= 0.

◆ GetComponentName()

const char* vtkAbstractArray::GetComponentName ( vtkIdType  component)

Get the component name for a given component.

Note: will return the actual string that is stored

◆ HasAComponentName()

bool vtkAbstractArray::HasAComponentName ( )

Returns if any component has had a name assigned.

◆ CopyComponentNames()

int vtkAbstractArray::CopyComponentNames ( vtkAbstractArray da)

Copies the component names from the inputed array to the current array make sure that the current array has the same number of components as the input array.

◆ SetNumberOfTuples()

virtual void vtkAbstractArray::SetNumberOfTuples ( vtkIdType  numTuples)
pure virtual

◆ SetNumberOfValues()

virtual void vtkAbstractArray::SetNumberOfValues ( vtkIdType  numValues)
virtual

Specify the number of values (tuples * components) for this object to hold.

Does an allocation as well as setting the MaxId ivar. Used in conjunction with SetValue() method for fast insertion.

Reimplemented in vtkVariantArray, vtkStringArray, vtkBitArray, and vtkTypedDataArray< Scalar >.

◆ GetNumberOfTuples()

vtkIdType vtkAbstractArray::GetNumberOfTuples ( )
inline

Get the number of complete tuples (a component group) in the array.

Definition at line 174 of file vtkAbstractArray.h.

◆ GetNumberOfValues()

vtkIdType vtkAbstractArray::GetNumberOfValues ( ) const
inline

Get the total number of values in the array.

This is typically equivalent to (numTuples * numComponents). The exception is during incremental array construction for subclasses that support component insertion, which may result in an incomplete trailing tuple.

Definition at line 183 of file vtkAbstractArray.h.

◆ SetTuple()

virtual void vtkAbstractArray::SetTuple ( vtkIdType  dstTupleIdx,
vtkIdType  srcTupleIdx,
vtkAbstractArray source 
)
pure virtual

Set the tuple at dstTupleIdx in this array to the tuple at srcTupleIdx in the source array.

This method assumes that the two arrays have the same type and structure. Note that range checking and memory allocation is not performed; use in conjunction with SetNumberOfTuples() to allocate space.

Implemented in vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkBitArray, vtkUnicodeStringArray, vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, and vtkDataArray.

◆ InsertTuple()

virtual void vtkAbstractArray::InsertTuple ( vtkIdType  dstTupleIdx,
vtkIdType  srcTupleIdx,
vtkAbstractArray source 
)
pure virtual

Insert the tuple at srcTupleIdx in the source array into this array at dstTupleIdx.

Note that memory allocation is performed as necessary to hold the data.

Implemented in vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkBitArray, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkUnicodeStringArray, vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, and vtkDataArray.

◆ InsertTuples() [1/2]

virtual void vtkAbstractArray::InsertTuples ( vtkIdList dstIds,
vtkIdList srcIds,
vtkAbstractArray source 
)
pure virtual

Copy the tuples indexed in srcIds from the source array to the tuple locations indexed by dstIds in this array.

Note that memory allocation is performed as necessary to hold the data.

Implemented in vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkSOADataArrayTemplate< ValueTypeT >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkBitArray, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkDataArray, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, and vtkUnicodeStringArray.

◆ InsertTuples() [2/2]

virtual void vtkAbstractArray::InsertTuples ( vtkIdType  dstStart,
vtkIdType  n,
vtkIdType  srcStart,
vtkAbstractArray source 
)
pure virtual

Copy n consecutive tuples starting at srcStart from the source array to this array, starting at the dstStart location.

Note that memory allocation is performed as necessary to hold the data.

Implemented in vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkSOADataArrayTemplate< ValueTypeT >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkBitArray, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkDataArray, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, and vtkUnicodeStringArray.

◆ InsertNextTuple()

virtual vtkIdType vtkAbstractArray::InsertNextTuple ( vtkIdType  srcTupleIdx,
vtkAbstractArray source 
)
pure virtual

Insert the tuple from srcTupleIdx in the source array at the end of this array.

Note that memory allocation is performed as necessary to hold the data. Returns the tuple index at which the data was inserted.

Implemented in vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, vtkDataArray, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkBitArray, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, and vtkUnicodeStringArray.

◆ GetTuples() [1/2]

virtual void vtkAbstractArray::GetTuples ( vtkIdList tupleIds,
vtkAbstractArray output 
)
virtual

◆ GetTuples() [2/2]

virtual void vtkAbstractArray::GetTuples ( vtkIdType  p1,
vtkIdType  p2,
vtkAbstractArray output 
)
virtual

◆ HasStandardMemoryLayout()

virtual bool vtkAbstractArray::HasStandardMemoryLayout ( )
virtual

◆ GetVoidPointer()

virtual void* vtkAbstractArray::GetVoidPointer ( vtkIdType  valueIdx)
pure virtual

Return a void pointer.

For image pipeline interface and other special pointer manipulation. Use of this method is discouraged, as newer arrays require a deep-copy of the array data in order to return a suitable pointer. See vtkArrayDispatch for a safer alternative for fast data access.

Implemented in vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkSOADataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, vtkTestDataArray< ArrayT >, vtkStringArray, vtkBitArray, vtkVariantArray, vtkMappedDataArray< Scalar >, and vtkUnicodeStringArray.

◆ DeepCopy()

virtual void vtkAbstractArray::DeepCopy ( vtkAbstractArray da)
virtual

Deep copy of data.

Implementation left to subclasses, which should support as many type conversions as possible given the data type.

Subclasses should call vtkAbstractArray::DeepCopy() so that the information object (if one exists) is copied from da.

Reimplemented in vtkVariantArray, vtkUnicodeStringArray, vtkMappedDataArray< Scalar >, vtkDataArray, vtkStringArray, vtkBitArray, vtkPeriodicDataArray< Scalar >, vtkCPExodusIIResultsArrayTemplate< Scalar >, and vtkCPExodusIINodalCoordinatesTemplate< Scalar >.

◆ InterpolateTuple() [1/2]

virtual void vtkAbstractArray::InterpolateTuple ( vtkIdType  dstTupleIdx,
vtkIdList ptIndices,
vtkAbstractArray source,
double weights 
)
pure virtual

◆ InterpolateTuple() [2/2]

virtual void vtkAbstractArray::InterpolateTuple ( vtkIdType  dstTupleIdx,
vtkIdType  srcTupleIdx1,
vtkAbstractArray source1,
vtkIdType  srcTupleIdx2,
vtkAbstractArray source2,
double  t 
)
pure virtual

◆ Squeeze()

virtual void vtkAbstractArray::Squeeze ( )
pure virtual

◆ Resize()

virtual vtkTypeBool vtkAbstractArray::Resize ( vtkIdType  numTuples)
pure virtual

Resize the array to the requested number of tuples and preserve data.

Increasing the array size may allocate extra memory beyond what was requested. MaxId will not be modified when increasing array size. Decreasing the array size will trim memory to the requested size and may update MaxId if the valid id range is truncated. Requesting an array size of 0 will free all memory. Returns 1 if resizing succeeded and 0 otherwise.

Implemented in vtkTypedDataArray< Scalar >, vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkVariantArray, vtkBitArray, vtkPeriodicDataArray< Scalar >, vtkStringArray, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, and vtkUnicodeStringArray.

◆ Reset()

void vtkAbstractArray::Reset ( )
inline

Reset to an empty state, without freeing any memory.

Definition at line 314 of file vtkAbstractArray.h.

◆ GetSize()

vtkIdType vtkAbstractArray::GetSize ( )
inline

Return the size of the data.

Definition at line 324 of file vtkAbstractArray.h.

◆ GetMaxId()

vtkIdType vtkAbstractArray::GetMaxId ( )
inline

What is the maximum id currently in the array.

Definition at line 330 of file vtkAbstractArray.h.

◆ SetVoidArray() [1/2]

virtual void vtkAbstractArray::SetVoidArray ( void *  vtkNotUsedarray,
vtkIdType   vtkNotUsedsize,
int   vtkNotUsedsave 
)
pure virtual

This method lets the user specify data to be held by the array.

The array argument is a pointer to the data. size is the size of the array supplied by the user. Set save to 1 to keep the class from deleting the array when it cleans up or reallocates memory. The class uses the actual array provided; it does not copy the data from the supplied array. If specified, the delete method determines how the data array will be deallocated. If the delete method is VTK_DATA_ARRAY_FREE, free() will be used. If the delete method is VTK_DATA_ARRAY_DELETE, delete[] will be used. If the delete method is VTK_DATA_ARRAY_ALIGNED_FREE _aligned_free() will be used on windows, while free() will be used everywhere else. If the delete method is VTK_DATA_ARRAY_USER_DEFINED a custom free function can be assigned to be called using SetArrayFreeFunction, if no custom function is assigned we will default to free(). The default is FREE. (Note not all subclasses can support deleteMethod.)

◆ SetVoidArray() [2/2]

virtual void vtkAbstractArray::SetVoidArray ( void *  array,
vtkIdType  size,
int  save,
int   vtkNotUseddeleteMethod 
)
inlinevirtual

Definition at line 362 of file vtkAbstractArray.h.

◆ SetArrayFreeFunction()

virtual void vtkAbstractArray::SetArrayFreeFunction ( void(*)(void *)  callback)
pure virtual

This method allows the user to specify a custom free function to be called when the array is deallocated.

Calling this method will implicitly mean that the given free function will be called when the class cleans up or reallocates memory.

Implemented in vtkStringArray, vtkVariantArray, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkSOADataArrayTemplate< ValueTypeT >, and vtkUnicodeStringArray.

◆ ExportToVoidPointer()

virtual void vtkAbstractArray::ExportToVoidPointer ( void *  out_ptr)
virtual

This method copies the array data to the void pointer specified by the user.

It is up to the user to allocate enough memory for the void pointer.

Reimplemented in vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkSOADataArrayTemplate< ValueTypeT >, and vtkMappedDataArray< Scalar >.

◆ GetActualMemorySize()

virtual unsigned long vtkAbstractArray::GetActualMemorySize ( )
pure virtual

Return the memory in kibibytes (1024 bytes) consumed by this data array.

Used to support streaming and reading/writing data. The value returned is guaranteed to be greater than or equal to the memory required to actually represent the data represented by this object. The information returned is valid only after the pipeline has been updated.

Implemented in vtkDataArray, vtkStringArray, vtkVariantArray, vtkPeriodicDataArray< Scalar >, and vtkUnicodeStringArray.

◆ SetName()

virtual void vtkAbstractArray::SetName ( const char *  )
virtual

Set/get array's name.

◆ GetName()

virtual char* vtkAbstractArray::GetName ( )
virtual

◆ GetDataTypeAsString()

virtual const char* vtkAbstractArray::GetDataTypeAsString ( void  )
inlinevirtual

Get the name of a data type as a string.

Definition at line 403 of file vtkAbstractArray.h.

◆ CreateArray()

static vtkAbstractArray* vtkAbstractArray::CreateArray ( int  dataType)
static

Creates an array for dataType where dataType is one of VTK_BIT, VTK_CHAR, VTK_UNSIGNED_CHAR, VTK_SHORT, VTK_UNSIGNED_SHORT, VTK_INT, VTK_UNSIGNED_INT, VTK_LONG, VTK_UNSIGNED_LONG, VTK_DOUBLE, VTK_DOUBLE, VTK_ID_TYPE, VTK_STRING.

Note that the data array returned has to be deleted by the user.

◆ IsNumeric()

virtual int vtkAbstractArray::IsNumeric ( )
pure virtual

This method is here to make backward compatibility easier.

It must return true if and only if an array contains numeric data.

Implemented in vtkVariantArray, vtkUnicodeStringArray, vtkDataArray, and vtkStringArray.

◆ NewIterator()

virtual vtkArrayIterator* vtkAbstractArray::NewIterator ( )
pure virtual

Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate.

Implemented in vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkStringArray, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< ValueType >, vtkAOSDataArrayTemplate< char >, vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkVariantArray, vtkSOADataArrayTemplate< ValueTypeT >, vtkUnicodeStringArray, vtkPeriodicDataArray< Scalar >, vtkCPExodusIIResultsArrayTemplate< Scalar >, and vtkCPExodusIINodalCoordinatesTemplate< Scalar >.

◆ GetDataSize()

virtual vtkIdType vtkAbstractArray::GetDataSize ( )
inlinevirtual

Returns the size of the data in DataTypeSize units.

Thus, the number of bytes for the data can be computed by GetDataSize() * GetDataTypeSize(). Non-contiguous or variable- size arrays need to override this method.

Reimplemented in vtkStringArray.

Definition at line 437 of file vtkAbstractArray.h.

◆ LookupValue() [1/2]

virtual vtkIdType vtkAbstractArray::LookupValue ( vtkVariant  value)
pure virtual

◆ LookupValue() [2/2]

virtual void vtkAbstractArray::LookupValue ( vtkVariant  value,
vtkIdList valueIds 
)
pure virtual

◆ GetVariantValue()

virtual vtkVariant vtkAbstractArray::GetVariantValue ( vtkIdType  valueIdx)
virtual

◆ InsertVariantValue()

virtual void vtkAbstractArray::InsertVariantValue ( vtkIdType  valueIdx,
vtkVariant  value 
)
pure virtual

◆ SetVariantValue()

virtual void vtkAbstractArray::SetVariantValue ( vtkIdType  valueIdx,
vtkVariant  value 
)
pure virtual

◆ DataChanged()

virtual void vtkAbstractArray::DataChanged ( )
pure virtual

Tell the array explicitly that the data has changed.

This is only necessary to call when you modify the array contents without using the array's API (i.e. you retrieve a pointer to the data and modify the array contents). You need to call this so that the fast lookup will know to rebuild itself. Otherwise, the lookup functions will give incorrect results.

Implemented in vtkStringArray, vtkGenericDataArray< DerivedT, ValueTypeT >, vtkGenericDataArray< vtkPeriodicDataArray< Scalar >, Scalar >, vtkGenericDataArray< vtkTestDataArray< ArrayT >, ArrayT::ValueType >, vtkGenericDataArray< vtkmDataArray< T >, T >, vtkGenericDataArray< vtkAOSDataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkScaledSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkVariantArray, vtkBitArray, vtkMappedDataArray< Scalar >, and vtkUnicodeStringArray.

◆ ClearLookup()

virtual void vtkAbstractArray::ClearLookup ( )
pure virtual

◆ GetProminentComponentValues()

virtual void vtkAbstractArray::GetProminentComponentValues ( int  comp,
vtkVariantArray values,
double  uncertainty = 1.e-6,
double  minimumProminence = 1.e-3 
)
virtual

Populate the given vtkVariantArray with a set of distinct values taken on by the requested component (or, when passed -1, by the tuples as a whole).

If the set of prominent values has more than 32 entries, then the array is assumed to be continuous in nature and no values are returned.

This method takes 2 parameters: uncertainty and minimumProminence. Note that this set of returned values may not be complete if uncertainty and minimumProminence are both larger than 0.0; in order to perform interactively, a subsample of the array is used to determine the set of values.

The first parameter (uncertainty, U) is the maximum acceptable probability that a prominent value will not be detected. Setting this to 0 will cause every value in the array to be examined.

The second parameter (minimumProminence, P) specifies the smallest relative frequency (in [0,1]) with which a value in the array may occur and still be considered prominent. Setting this to 0 will force every value in the array to be traversed. Using numbers close to 0 for this parameter quickly causes the number of samples required to obtain the given uncertainty to subsume the entire array, as rare occurrences require frequent sampling to detect.

For an array with T tuples and given uncertainty U and mininumum prominence P, we sample N values, with N = f(T; P, U). We want f to be sublinear in T in order to interactively handle large arrays; in practice, we can make f independent of T: $ N >= \frac{5}{P}\mathrm{ln}\left(\frac{1}{PU}\right) $, but note that small values of P are costly to achieve. The default parameters will locate prominent values that occur at least 1 out of every 1000 samples with a confidence of 0.999999 (= 1 - 1e6). Thanks to Seshadri Comandur (Sandia National Laboratories) for the bounds on the number of samples.

The first time this is called, the array is examined and unique values are stored in the vtkInformation object associated with the array. The list of unique values will be updated on subsequent calls only if the array's MTime is newer than the associated vtkInformation object or if better sampling (lower uncertainty or minimumProminence) is requested. The DISCRETE_VALUE_SAMPLE_PARAMETERS() information key is used to store the numbers which produced any current set of prominent values.

Also, note that every value encountered is reported and counts toward the maximum of 32 distinct values, regardless of the value's frequency. This is required for an efficient implementation. Use the vtkOrderStatistics filter if you wish to threshold the set of distinct values to eliminate "unprominent" (infrequently-occurring) values.

◆ GetInformation()

vtkInformation* vtkAbstractArray::GetInformation ( )

Get an information object that can be used to annotate the array.

This will always return an instance of vtkInformation, if one is not currently associated with the array it will be created.

◆ HasInformation()

bool vtkAbstractArray::HasInformation ( )
inline

Inquire if this array has an instance of vtkInformation already associated with it.

Definition at line 558 of file vtkAbstractArray.h.

◆ CopyInformation()

virtual int vtkAbstractArray::CopyInformation ( vtkInformation infoFrom,
int  deep = 1 
)
virtual

Copy information instance.

Arrays use information objects in a variety of ways. It is important to have flexibility in this regard because certain keys should not be copied, while others must be.

NOTE: Subclasses must always call their superclass's CopyInformation method, so that all classes in the hierarchy get a chance to remove keys they do not wish to be copied. The subclass will not need to explicitly copy the keys as it's handled here.

Reimplemented in vtkDataArray.

◆ GUI_HIDE()

static vtkInformationIntegerKey* vtkAbstractArray::GUI_HIDE ( )
static

This key is a hint to end user interface that this array is internal and should not be shown to the end user.

◆ PER_COMPONENT()

static vtkInformationInformationVectorKey* vtkAbstractArray::PER_COMPONENT ( )
static

This key is used to hold a vector of COMPONENT_VALUES (and, for vtkDataArray subclasses, COMPONENT_RANGE) keys – one for each component of the array.

You may add additional per-component key-value pairs to information objects in this vector. However if you do so, you must be sure to either (1) set COMPONENT_VALUES to an invalid variant and set COMPONENT_RANGE to {VTK_DOUBLE_MAX, VTK_DOUBLE_MIN} or (2) call ComputeUniqueValues(component) and ComputeRange(component) before modifying the information object. Otherwise it is possible for modifications to the array to take place without the bounds on the component being updated.

◆ PER_FINITE_COMPONENT()

static vtkInformationInformationVectorKey* vtkAbstractArray::PER_FINITE_COMPONENT ( )
static

This key is used to hold a vector of COMPONENT_VALUES (and, for vtkDataArray subclasses, COMPONENT_RANGE) keys – one for each component of the array.

You may add additional per-component key-value pairs to information objects in this vector. However if you do so, you must be sure to either (1) set COMPONENT_VALUES to an invalid variant and set COMPONENT_RANGE to {VTK_DOUBLE_MAX, VTK_DOUBLE_MIN} or (2) call ComputeUniqueValues(component) and ComputeFiniteRange(component) before modifying the information object. Otherwise it is possible for modifications to the array to take place without the bounds on the component being updated.

◆ Modified()

void vtkAbstractArray::Modified ( )
overridevirtual

Removes out-of-date PER_COMPONENT() and PER_FINITE_COMPONENT() values.

Reimplemented from vtkObject.

Reimplemented in vtkDataArray, and vtkMappedDataArray< Scalar >.

◆ DISCRETE_VALUES()

static vtkInformationVariantVectorKey* vtkAbstractArray::DISCRETE_VALUES ( )
static

A key used to hold discrete values taken on either by the tuples of the array (when present in this->GetInformation()) or individual components (when present in one entry of the PER_COMPONENT() information vector).

◆ DISCRETE_VALUE_SAMPLE_PARAMETERS()

static vtkInformationDoubleVectorKey* vtkAbstractArray::DISCRETE_VALUE_SAMPLE_PARAMETERS ( )
static

A key used to hold conditions under which cached discrete values were generated; the value is a 2-vector of doubles.

The first entry corresponds to the maximum uncertainty that prominent values exist but have not been detected. The second entry corresponds to the smallest relative frequency a value is allowed to have and still appear on the list.

◆ GetMaxDiscreteValues()

virtual unsigned int vtkAbstractArray::GetMaxDiscreteValues ( )
virtual

Get/Set the maximum number of prominent values this array may contain before it is considered continuous.

Default value is 32.

◆ SetMaxDiscreteValues()

virtual void vtkAbstractArray::SetMaxDiscreteValues ( unsigned int  )
virtual

◆ GetArrayType()

virtual int vtkAbstractArray::GetArrayType ( )
inlinevirtual

◆ SetInformation()

virtual void vtkAbstractArray::SetInformation ( vtkInformation )
protectedvirtual

Set an information object that can be used to annotate the array.

Use this with caution as array instances depend on persistence of information keys. See CopyInformation.

◆ UpdateDiscreteValueSet()

virtual void vtkAbstractArray::UpdateDiscreteValueSet ( double  uncertainty,
double  minProminence 
)
protectedvirtual

Obtain the set of unique values taken on by each component of the array, as well as by the tuples of the array.

The results are stored in the PER_COMPONENT() vtkInformation objects using the DISCRETE_VALUES() key. If the key is present but stores 0 values, the array either has no entries or does not behave as a discrete set. If the key is not present, the array has not been examined for distinct values or has been modified since the last examination.

Member Data Documentation

◆ Size

vtkIdType vtkAbstractArray::Size
protected

Definition at line 688 of file vtkAbstractArray.h.

◆ MaxId

vtkIdType vtkAbstractArray::MaxId
protected

Definition at line 689 of file vtkAbstractArray.h.

◆ NumberOfComponents

int vtkAbstractArray::NumberOfComponents
protected

Definition at line 690 of file vtkAbstractArray.h.

◆ MaxDiscreteValues

unsigned int vtkAbstractArray::MaxDiscreteValues
protected

Definition at line 693 of file vtkAbstractArray.h.

◆ Name

char* vtkAbstractArray::Name
protected

Definition at line 695 of file vtkAbstractArray.h.

◆ RebuildArray

bool vtkAbstractArray::RebuildArray
protected

Definition at line 697 of file vtkAbstractArray.h.

◆ Information

vtkInformation* vtkAbstractArray::Information
protected

Definition at line 699 of file vtkAbstractArray.h.

◆ ComponentNames

vtkInternalComponentNames* vtkAbstractArray::ComponentNames
protected

Definition at line 701 of file vtkAbstractArray.h.


The documentation for this class was generated from the following file: