VTK  9.3.20240419
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 , ImplicitArray ,
  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 () const =0
 Return the underlying data type. More...
 
virtual int GetElementComponentSize () const =0
 Return the size, in bytes, of the lowest-level element of an array. More...
 
void SetComponentName (vtkIdType component, const char *name)
 Set the name for a component. More...
 
const char * GetComponentName (vtkIdType component) const
 Get the component name for a given component. More...
 
bool HasAComponentName () const
 Returns if any component has had a name assigned. More...
 
int CopyComponentNames (vtkAbstractArray *da)
 Copies the component names from the inputted 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 bool SetNumberOfValues (vtkIdType numValues)
 Specify the number of values (tuples * components) for this object to hold. More...
 
vtkIdType GetNumberOfTuples () const
 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 InsertTuplesStartingAt (vtkIdType dstStart, vtkIdList *srcIds, vtkAbstractArray *source)=0
 Copy the tuples indexed in srcIds from the source array to the tuple locations starting at index dstStart. 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 () const
 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...
 
vtkIdType GetSize () const
 Return the size of the data. More...
 
vtkIdType GetMaxId () const
 What is the maximum id currently in the array. More...
 
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 () const =0
 Return the memory in kibibytes (1024 bytes) consumed by this data array. More...
 
virtual const char * GetDataTypeAsString () const
 Get the name of a data type as a string. More...
 
virtual int IsNumeric () const =0
 This method is here to make backward compatibility easier. More...
 
virtual bool IsIntegral () const
 This method will return true if and only if an array contains integer-valued data. More...
 
virtual vtkArrayIteratorNewIterator ()=0
 Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate. More...
 
virtual vtkIdType GetDataSize () const
 Returns the size of the data in DataTypeSize units. More...
 
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 () const
 Inquire if this array has an instance of vtkInformation already associated with it. More...
 
virtual int CopyInformation (vtkInformation *infoFrom, vtkTypeBool deep=1)
 Copy information instance. More...
 
void Modified () override
 Removes out-of-date PER_COMPONENT() and PER_FINITE_COMPONENT() values. More...
 
virtual int GetArrayType () const
 Method for type-checking in FastDownCast implementations. More...
 
const char * GetArrayTypeAsString () const
 Get the name for the array type as string. More...
 
virtual void SetNumberOfComponents (int)
 Set/Get the dimension (n) of the components. More...
 
int GetNumberOfComponents () const
 Set/Get the dimension (n) of the components. More...
 
void Reset ()
 Reset to an empty state, without freeing any memory. 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))
 This method lets the user specify data to be held by the array. More...
 
virtual void SetName (const char *)
 Set/get array's name. More...
 
virtual char * GetName ()
 Set/get array's name. 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
 Return the value indices where a specific value appears. 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)
 Get/Set the maximum number of prominent values this array may contain before it is considered continuous. 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...
 
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)
 
vtkTypeBool InvokeEvent (unsigned long event)
 
vtkTypeBool InvokeEvent (const char *event)
 
std::string GetObjectDescription () const override
 The object description printed in messages and PrintSelf output. 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)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
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)
 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, 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...
 
vtkTypeBool InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
vtkTypeBool InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
virtual void SetObjectName (const std::string &objectName)
 Set/get the name of this object for reporting purposes. More...
 
virtual std::string GetObjectName () const
 Set/get the name of this object for reporting purposes. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual vtkIdType GetNumberOfGenerationsFromBase (const char *name)
 Given the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). 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...
 
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...
 
bool GetIsInMemkind () const
 A local state flag that remembers whether this object lives in the normal or extended memory space. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual bool UsesGarbageCollector () const
 Indicate whether the class uses vtkGarbageCollector or not. More...
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAbstractArraySafeDownCast (vtkObjectBase *o)
 
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_FLOAT, 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 (vtkTypeBool val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static vtkTypeBool GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- 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 vtkIdType GetNumberOfGenerationsFromBaseType (const char *name)
 Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void SetMemkindDirectory (const char *directoryname)
 The name of a directory, ideally mounted -o dax, to memory map an extended memory space within. More...
 
static bool GetUsingMemkind ()
 A global state flag that controls whether vtkObjects are constructed in the usual way (the default) or within the extended memory space. 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 ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
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
 
std::string ObjectName
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
static int GetDataTypeSize (int type)
 Return the size of the underlying data type. More...
 
virtual int GetDataTypeSize () const =0
 Return the size of the underlying data type. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from vtkObjectBase
static vtkMallocingFunction GetCurrentMallocFunction ()
 
static vtkReallocingFunction GetCurrentReallocFunction ()
 
static vtkFreeingFunction GetCurrentFreeFunction ()
 
static vtkFreeingFunction GetAlternateFreeFunction ()
 

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.

If code is modifying contents of an existing array, it is required that one calls vtkAbstractArray::Modified() explicitly after the modifications to the contents are completed. APIs like SetTuple etc. don't call Modified to avoid performance hits. Unless Modified is called, various cached entities, like array range, map created for LookupValue may become obsolete and yield incorrect results.

See also
vtkDataArray vtkStringArray vtkCellArray
Tests:
vtkAbstractArray (Tests)

Definition at line 76 of file vtkAbstractArray.h.

Member Typedef Documentation

◆ Superclass

Definition at line 79 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 332 of file vtkAbstractArray.h.

◆ anonymous enum

anonymous enum
Enumerator
MAX_DISCRETE_VALUES 

Definition at line 639 of file vtkAbstractArray.h.

◆ anonymous enum

anonymous enum
Enumerator
AbstractArray 
DataArray 
AoSDataArrayTemplate 
SoADataArrayTemplate 
TypedDataArray 
MappedDataArray 
ScaleSoADataArrayTemplate 
ImplicitArray 
DataArrayTemplate 

Definition at line 653 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, vtkUnsignedShortArray, vtkUnsignedLongLongArray, vtkUnsignedLongArray, vtkUnsignedIntArray, vtkUnsignedCharArray, vtkStringArray, vtkSignedCharArray, vtkShortArray, vtkLongLongArray, vtkLongArray, vtkIntArray, vtkIdTypeArray, vtkFloatArray, vtkDoubleArray, vtkDataArray, vtkCharArray, and vtkBitArray.

◆ 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 ( ) const
pure virtual

◆ GetDataTypeSize() [1/2]

virtual int vtkAbstractArray::GetDataTypeSize ( ) const
pure virtual

◆ GetDataTypeSize() [2/2]

static int vtkAbstractArray::GetDataTypeSize ( int  type)
static

Return the size of the underlying data type.

For a bit, 0 is returned. For string 0 is returned. Arrays with variable length components return 0.

◆ GetElementComponentSize()

virtual int vtkAbstractArray::GetElementComponentSize ( ) const
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 vtkVariantArray, vtkStringArray, and vtkDataArray.

◆ SetNumberOfComponents()

virtual void vtkAbstractArray::SetNumberOfComponents ( int  )
virtual

◆ GetNumberOfComponents()

int vtkAbstractArray::GetNumberOfComponents ( ) const
inline

Set/Get the dimension (n) of the components.

Must be >= 1. Make sure that this is set before allocation.

Definition at line 128 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) const

Get the component name for a given component.

Note: will return the actual string that is stored

◆ HasAComponentName()

bool vtkAbstractArray::HasAComponentName ( ) const

Returns if any component has had a name assigned.

◆ CopyComponentNames()

int vtkAbstractArray::CopyComponentNames ( vtkAbstractArray da)

Copies the component names from the inputted 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 bool 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. Preserves existing data and returns true if allocation succeeds, or false otherwise.

Reimplemented in vtkBitArray.

◆ GetNumberOfTuples()

vtkIdType vtkAbstractArray::GetNumberOfTuples ( ) const
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 vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkBitArray, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkDataArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ 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 vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkBitArray, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkDataArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ 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 vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkSOADataArrayTemplate< ValueTypeT >, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkDataArray, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ InsertTuplesStartingAt()

virtual void vtkAbstractArray::InsertTuplesStartingAt ( vtkIdType  dstStart,
vtkIdList srcIds,
vtkAbstractArray source 
)
pure virtual

Copy the tuples indexed in srcIds from the source array to the tuple locations starting at index dstStart.

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

Implemented in vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkSOADataArrayTemplate< ValueTypeT >, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkDataArray, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ 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 vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkSOADataArrayTemplate< ValueTypeT >, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkDataArray, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkDataArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< char >, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, and vtkBitArray.

◆ 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 ( ) const
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 vtkPeriodicDataArray< Scalar >, vtkTestDataArray< ArrayT >, vtkSOADataArrayTemplate< ValueTypeT >, vtkScaledSOADataArrayTemplate< ValueTypeT >, vtkImplicitArray< BackendT >, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, vtkAOSDataArrayTemplate< char >, vtkVariantArray, vtkStringArray, vtkMappedDataArray< Scalar >, and vtkBitArray.

◆ 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, vtkMappedDataArray< Scalar >, vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkStringArray, vtkDataArray, and vtkBitArray.

◆ 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

◆ Reset()

void vtkAbstractArray::Reset ( )
inline

Reset to an empty state, without freeing any memory.

Definition at line 315 of file vtkAbstractArray.h.

◆ GetSize()

vtkIdType vtkAbstractArray::GetSize ( ) const
inline

Return the size of the data.

Definition at line 325 of file vtkAbstractArray.h.

◆ GetMaxId()

vtkIdType vtkAbstractArray::GetMaxId ( ) const
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

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.)

Definition at line 360 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 vtkVariantArray, vtkStringArray, vtkSOADataArrayTemplate< ValueTypeT >, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ 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 vtkSOADataArrayTemplate< ValueTypeT >, vtkScaledSOADataArrayTemplate< ValueTypeT >, and vtkMappedDataArray< Scalar >.

◆ GetActualMemorySize()

virtual unsigned long vtkAbstractArray::GetActualMemorySize ( ) const
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 vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkImplicitArray< BackendT >, and vtkDataArray.

◆ SetName()

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

Set/get array's name.

◆ GetName()

virtual char* vtkAbstractArray::GetName ( )
virtual

Set/get array's name.

◆ GetDataTypeAsString()

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

Get the name of a data type as a string.

Definition at line 402 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_FLOAT, 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 ( ) const
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, vtkStringArray, and vtkDataArray.

◆ IsIntegral()

virtual bool vtkAbstractArray::IsIntegral ( ) const
virtual

This method will return true if and only if an array contains integer-valued data.

◆ NewIterator()

virtual vtkArrayIterator* vtkAbstractArray::NewIterator ( )
pure virtual

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

Implemented in vtkCPExodusIIResultsArrayTemplate< Scalar >, vtkCPExodusIINodalCoordinatesTemplate< Scalar >, vtkPeriodicDataArray< Scalar >, vtkVariantArray, vtkStringArray, vtkSOADataArrayTemplate< ValueTypeT >, 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< vtkImplicitArray< BackendT >, vtk::detail::implicit_array_traits< BackendT >::rtype >, vtkGenericDataArray< vtkSOADataArrayTemplate< ValueTypeT >, ValueTypeT >, vtkGenericDataArray< vtkTypedDataArray< Scalar >, Scalar >, vtkBitArray, vtkAOSDataArrayTemplate< ValueTypeT >, vtkAOSDataArrayTemplate< long >, vtkAOSDataArrayTemplate< Scalar >, vtkAOSDataArrayTemplate< unsigned long >, vtkAOSDataArrayTemplate< vtkIdType >, vtkAOSDataArrayTemplate< double >, vtkAOSDataArrayTemplate< unsigned long long >, vtkAOSDataArrayTemplate< float >, vtkAOSDataArrayTemplate< int >, vtkAOSDataArrayTemplate< unsigned int >, vtkAOSDataArrayTemplate< signed char >, vtkAOSDataArrayTemplate< unsigned short >, vtkAOSDataArrayTemplate< short >, vtkAOSDataArrayTemplate< unsigned char >, vtkAOSDataArrayTemplate< long long >, and vtkAOSDataArrayTemplate< char >.

◆ GetDataSize()

virtual vtkIdType vtkAbstractArray::GetDataSize ( ) const
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 443 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

◆ 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 ( ) const
inline

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

Definition at line 568 of file vtkAbstractArray.h.

◆ CopyInformation()

virtual int vtkAbstractArray::CopyInformation ( vtkInformation infoFrom,
vtkTypeBool  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 vtkMappedDataArray< Scalar >, and vtkDataArray.

◆ 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

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

Default value is 32.

◆ GetArrayType()

virtual int vtkAbstractArray::GetArrayType ( ) const
inlinevirtual

◆ GetArrayTypeAsString()

const char* vtkAbstractArray::GetArrayTypeAsString ( ) const

Get the name for the array type as string.

◆ 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 703 of file vtkAbstractArray.h.

◆ MaxId

vtkIdType vtkAbstractArray::MaxId
protected

Definition at line 704 of file vtkAbstractArray.h.

◆ NumberOfComponents

int vtkAbstractArray::NumberOfComponents
protected

Definition at line 705 of file vtkAbstractArray.h.

◆ MaxDiscreteValues

unsigned int vtkAbstractArray::MaxDiscreteValues
protected

Definition at line 708 of file vtkAbstractArray.h.

◆ Name

char* vtkAbstractArray::Name
protected

Definition at line 710 of file vtkAbstractArray.h.

◆ RebuildArray

bool vtkAbstractArray::RebuildArray
protected

Definition at line 712 of file vtkAbstractArray.h.

◆ Information

vtkInformation* vtkAbstractArray::Information
protected

Definition at line 714 of file vtkAbstractArray.h.

◆ ComponentNames

vtkInternalComponentNames* vtkAbstractArray::ComponentNames
protected

Definition at line 717 of file vtkAbstractArray.h.


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