VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
vtkVariantArray Class Reference

An array holding vtkVariants. More...

#include <vtkVariantArray.h>

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

Public Types

typedef vtkAbstractArray Superclass
 
- Public Types inherited from vtkAbstractArray
enum  { MAX_DISCRETE_VALUES = 32 }
 
enum  {
  AbstractArray = 0, DataArray, TypedDataArray, DataArrayTemplate,
  MappedDataArray
}
 
typedef vtkObject Superclass
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkVariantArrayNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual int Allocate (vtkIdType sz, vtkIdType ext=1000)
 
virtual void Initialize ()
 
virtual int GetDataType ()
 
virtual int GetDataTypeSize ()
 
virtual int GetElementComponentSize ()
 
virtual void SetNumberOfTuples (vtkIdType number)
 
virtual void SetTuple (vtkIdType i, vtkIdType j, vtkAbstractArray *source)
 
virtual void InsertTuple (vtkIdType i, vtkIdType j, vtkAbstractArray *source)
 
virtual vtkIdType InsertNextTuple (vtkIdType j, vtkAbstractArray *source)
 
virtual void * GetVoidPointer (vtkIdType id)
 
virtual void DeepCopy (vtkAbstractArray *da)
 
virtual void Squeeze ()
 
virtual int Resize (vtkIdType numTuples)
 
virtual unsigned long GetActualMemorySize ()
 
virtual int IsNumeric ()
 
virtual vtkArrayIteratorNewIterator ()
 
vtkVariantGetValue (vtkIdType id) const
 
void SetValue (vtkIdType id, vtkVariant value)
 
void InsertValue (vtkIdType id, vtkVariant value)
 
void SetVariantValue (vtkIdType idx, vtkVariant value)
 
vtkIdType InsertNextValue (vtkVariant value)
 
vtkVariantGetPointer (vtkIdType id)
 
void SetNumberOfValues (vtkIdType number)
 
vtkIdType GetNumberOfValues ()
 
virtual void DataChanged ()
 
virtual void DataElementChanged (vtkIdType id)
 
virtual void ClearLookup ()
 
 ~vtkVariantArray ()
 
virtual void InsertTuples (vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source)
 
virtual void InsertTuples (vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source)
 
virtual void InterpolateTuple (vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)
 
virtual void InterpolateTuple (vtkIdType i, vtkIdType id1, vtkAbstractArray *source1, vtkIdType id2, vtkAbstractArray *source2, double t)
 
virtual void SetVoidArray (void *arr, vtkIdType size, int save)
 
void SetArray (vtkVariant *arr, vtkIdType size, int save)
 
virtual vtkIdType LookupValue (vtkVariant value)
 
virtual void LookupValue (vtkVariant value, vtkIdList *ids)
 
- Public Member Functions inherited from vtkAbstractArray
vtkAbstractArrayNewInstance () const
 
void SetComponentName (vtkIdType component, const char *name)
 
const char * GetComponentName (vtkIdType component)
 
bool HasAComponentName ()
 
int CopyComponentNames (vtkAbstractArray *da)
 
virtual void GetTuples (vtkIdList *ptIds, vtkAbstractArray *output)
 
virtual void GetTuples (vtkIdType p1, vtkIdType p2, vtkAbstractArray *output)
 
virtual bool HasStandardMemoryLayout ()
 
virtual void ExportToVoidPointer (void *vtkNotUsed(out_ptr))
 
virtual vtkVariant GetVariantValue (vtkIdType idx)
 
virtual void InsertVariantValue (vtkIdType idx, vtkVariant value)
 
vtkInformationGetInformation ()
 
virtual void SetNumberOfComponents (int)
 
int GetNumberOfComponents ()
 
vtkIdType GetNumberOfTuples ()
 
void Reset ()
 
vtkIdType GetSize ()
 
vtkIdType GetMaxId ()
 
virtual void SetVoidArray (void *vtkNotUsed(array), vtkIdType vtkNotUsed(size), int vtkNotUsed(save))=0
 
virtual void SetName (const char *)
 
virtual char * GetName ()
 
virtual const char * GetDataTypeAsString (void)
 
virtual vtkIdType GetDataSize ()
 
virtual void GetProminentComponentValues (int comp, vtkVariantArray *values, double uncertainty=1.e-6, double minimumProminence=1.e-3)
 
bool HasInformation ()
 
virtual int CopyInformation (vtkInformation *infoFrom, int deep=1)
 
virtual unsigned int GetMaxDiscreteValues ()
 
virtual void SetMaxDiscreteValues (unsigned int)
 
virtual int GetArrayType ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
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 *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
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)
 
int InvokeEvent (unsigned long event, void *callData)
 
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
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Static Public Member Functions

static vtkVariantArrayNew ()
 
static int IsTypeOf (const char *type)
 
static vtkVariantArraySafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAbstractArray
static int IsTypeOf (const char *type)
 
static vtkAbstractArraySafeDownCast (vtkObjectBase *o)
 
static vtkAbstractArrayCreateArray (int dataType)
 
static vtkInformationIntegerKeyGUI_HIDE ()
 
static vtkInformationInformationVectorKeyPER_COMPONENT ()
 
static vtkInformationVariantVectorKeyDISCRETE_VALUES ()
 
static vtkInformationDoubleVectorKeyDISCRETE_VALUE_SAMPLE_PARAMETERS ()
 
static int GetDataTypeSize (int type)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkVariantArray ()
 
vtkVariantResizeAndExtend (vtkIdType sz)
 
- Protected Member Functions inherited from vtkAbstractArray
 vtkAbstractArray ()
 
 ~vtkAbstractArray ()
 
virtual void SetInformation (vtkInformation *)
 
virtual void UpdateDiscreteValueSet (double uncertainty, double minProminence)
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
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

vtkVariantArray
 
int SaveUserArray
 
- Protected Attributes inherited from vtkAbstractArray
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
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Friends

class boost::serialization::access
 Friendship required for Boost serialization. More...
 

Detailed Description

An array holding vtkVariants.

Thanks:
Thanks to Patricia Crossno, Ken Moreland, Andrew Wilson and Brian Wylie from Sandia National Laboratories for their help in developing this class.
Tests:
vtkVariantArray (Tests)

Definition at line 47 of file vtkVariantArray.h.

Member Typedef Documentation

Definition at line 56 of file vtkVariantArray.h.

Constructor & Destructor Documentation

vtkVariantArray::~vtkVariantArray ( )

This destructor is public to work around a bug in version 1.36.0 of the Boost.Serialization library.

vtkVariantArray::vtkVariantArray ( )
protected

Member Function Documentation

static vtkVariantArray* vtkVariantArray::New ( )
static
static int vtkVariantArray::IsTypeOf ( const char *  type)
static
virtual int vtkVariantArray::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 vtkAbstractArray.

static vtkVariantArray* vtkVariantArray::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkVariantArray::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkAbstractArray.

vtkVariantArray* vtkVariantArray::NewInstance ( ) const
void vtkVariantArray::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkAbstractArray.

virtual int vtkVariantArray::Allocate ( vtkIdType  sz,
vtkIdType  ext = 1000 
)
virtual

Allocate memory for this array. Delete old storage only if necessary. Note that ext is no longer used.

Implements vtkAbstractArray.

virtual void vtkVariantArray::Initialize ( )
virtual

Release storage and reset array to initial state.

Implements vtkAbstractArray.

virtual int vtkVariantArray::GetDataType ( )
virtual

Return the underlying data type. An integer indicating data type is returned as specified in vtkSetGet.h.

Implements vtkAbstractArray.

virtual int vtkVariantArray::GetDataTypeSize ( )
virtual

Return the size of the underlying data type. For a bit, 1 is returned. For string 0 is returned. Arrays with variable length components return 0.

Implements vtkAbstractArray.

virtual int vtkVariantArray::GetElementComponentSize ( )
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).

Implements vtkAbstractArray.

virtual void vtkVariantArray::SetNumberOfTuples ( vtkIdType  number)
virtual

Set the number of tuples (a component group) in the array. Note that this may allocate space depending on the number of components.

Implements vtkAbstractArray.

virtual void vtkVariantArray::SetTuple ( vtkIdType  i,
vtkIdType  j,
vtkAbstractArray source 
)
virtual

Set the tuple at the ith location using the jth tuple 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.

Implements vtkAbstractArray.

virtual void vtkVariantArray::InsertTuple ( vtkIdType  i,
vtkIdType  j,
vtkAbstractArray source 
)
virtual

Insert the jth tuple in the source array, at ith location in this array. Note that memory allocation is performed as necessary to hold the data.

Implements vtkAbstractArray.

virtual void vtkVariantArray::InsertTuples ( vtkIdList dstIds,
vtkIdList srcIds,
vtkAbstractArray source 
)
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.

Implements vtkAbstractArray.

virtual void vtkVariantArray::InsertTuples ( vtkIdType  dstStart,
vtkIdType  n,
vtkIdType  srcStart,
vtkAbstractArray source 
)
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.

Implements vtkAbstractArray.

virtual vtkIdType vtkVariantArray::InsertNextTuple ( vtkIdType  j,
vtkAbstractArray source 
)
virtual

Insert the jth tuple in the source array, at the end in this array. Note that memory allocation is performed as necessary to hold the data. Returns the location at which the data was inserted.

Implements vtkAbstractArray.

virtual void* vtkVariantArray::GetVoidPointer ( vtkIdType  id)
virtual

Return a void pointer. For image pipeline interface and other special pointer manipulation.

Implements vtkAbstractArray.

virtual void vtkVariantArray::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.

Reimplemented from vtkAbstractArray.

virtual void vtkVariantArray::InterpolateTuple ( vtkIdType  i,
vtkIdList ptIndices,
vtkAbstractArray source,
double weights 
)
virtual

Set the ith tuple in this array as the interpolated tuple value, given the ptIndices in the source array and associated interpolation weights. This method assumes that the two arrays are of the same type and strcuture.

Implements vtkAbstractArray.

virtual void vtkVariantArray::InterpolateTuple ( vtkIdType  i,
vtkIdType  id1,
vtkAbstractArray source1,
vtkIdType  id2,
vtkAbstractArray source2,
double  t 
)
virtual

Insert the ith tuple in this array as interpolated from the two values, p1 and p2, and an interpolation factor, t. The interpolation factor ranges from (0,1), with t=0 located at p1. This method assumes that the three arrays are of the same type. p1 is value at index id1 in source1, while, p2 is value at index id2 in source2.

Implements vtkAbstractArray.

virtual void vtkVariantArray::Squeeze ( )
virtual

Free any unnecessary memory. Description: Resize object to just fit data requirement. Reclaims extra memory.

Implements vtkAbstractArray.

virtual int vtkVariantArray::Resize ( vtkIdType  numTuples)
virtual

Resize the array while conserving the data. Returns 1 if resizing succeeded and 0 otherwise.

Implements vtkAbstractArray.

virtual void vtkVariantArray::SetVoidArray ( void *  arr,
vtkIdType  size,
int  save 
)
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.

virtual unsigned long vtkVariantArray::GetActualMemorySize ( )
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.

Implements vtkAbstractArray.

virtual int vtkVariantArray::IsNumeric ( )
virtual

Since each item can be of a different type, we say that a variant array is not numeric.

Implements vtkAbstractArray.

virtual vtkArrayIterator* vtkVariantArray::NewIterator ( )
virtual

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

Implements vtkAbstractArray.

vtkVariant& vtkVariantArray::GetValue ( vtkIdType  id) const

Get the data at a particular index.

void vtkVariantArray::SetValue ( vtkIdType  id,
vtkVariant  value 
)

Set the data at a particular index. Does not do range checking. Make sure you use the method SetNumberOfValues() before inserting data.

void vtkVariantArray::InsertValue ( vtkIdType  id,
vtkVariant  value 
)

If id < GetNumberOfValues(), overwrite the array at that index. If id >= GetNumberOfValues(), expand the array size to id+1 and set the final value to the specified value.

void vtkVariantArray::SetVariantValue ( vtkIdType  idx,
vtkVariant  value 
)
virtual

Insert a value into the array from a variant.

Implements vtkAbstractArray.

vtkIdType vtkVariantArray::InsertNextValue ( vtkVariant  value)

Expand the array by one and set the value at that location. Return the array index of the inserted value.

vtkVariant* vtkVariantArray::GetPointer ( vtkIdType  id)

Return a pointer to the location in the internal array at the specified index.

void vtkVariantArray::SetArray ( vtkVariant arr,
vtkIdType  size,
int  save 
)

Set the internal array used by this object.

void vtkVariantArray::SetNumberOfValues ( vtkIdType  number)

Specify the number of values for this object to hold. Does an allocation as well as setting the MaxId ivar. Used in conjunction with SetValue() method for fast insertion.

vtkIdType vtkVariantArray::GetNumberOfValues ( )
inline

Return the number of values in the array.

Definition at line 226 of file vtkVariantArray.h.

virtual vtkIdType vtkVariantArray::LookupValue ( vtkVariant  value)
virtual

Return the indices where a specific value appears.

Implements vtkAbstractArray.

virtual void vtkVariantArray::LookupValue ( vtkVariant  value,
vtkIdList ids 
)
virtual

Return the indices where a specific value appears.

Implements vtkAbstractArray.

virtual void vtkVariantArray::DataChanged ( )
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.

Implements vtkAbstractArray.

virtual void vtkVariantArray::DataElementChanged ( vtkIdType  id)
virtual

Tell the array explicitly that a single data element has changed. Like DataChanged(), then is only necessary when you modify the array contents without using the array's API.

virtual void vtkVariantArray::ClearLookup ( )
virtual

Delete the associated fast lookup data structure on this array, if it exists. The lookup will be rebuilt on the next call to a lookup function.

Implements vtkAbstractArray.

vtkVariant* vtkVariantArray::ResizeAndExtend ( vtkIdType  sz)
protected

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Friendship required for Boost serialization.

Definition at line 51 of file vtkVariantArray.h.

Member Data Documentation

vtkVariant* vtkVariantArray::Array
protected

Definition at line 262 of file vtkVariantArray.h.

int vtkVariantArray::SaveUserArray
protected

Definition at line 268 of file vtkVariantArray.h.


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