VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkFieldData Class Reference

represent and manipulate fields of data More...

#include <vtkFieldData.h>

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

Classes

class  BasicIterator
 
struct  CopyFieldFlag
 
class  Iterator
 

Public Types

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...
 
vtkFieldDataNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void Initialize ()
 Release all data but do not delete object. More...
 
vtkTypeBool Allocate (vtkIdType sz, vtkIdType ext=1000)
 Allocate data for each array. More...
 
void CopyStructure (vtkFieldData *)
 Copy data array structure from a given field. More...
 
void AllocateArrays (int num)
 AllocateOfArrays actually sets the number of vtkAbstractArray pointers in the vtkFieldData object, not the number of used pointers (arrays). More...
 
int GetNumberOfArrays ()
 Get the number of arrays of data available. More...
 
int AddArray (vtkAbstractArray *array)
 Add an array to the array list. More...
 
vtkDataArrayGetArray (int i)
 Not recommended for use. More...
 
vtkDataArrayGetArray (const char *arrayName, int &index)
 Not recommended for use. More...
 
vtkAbstractArrayGetAbstractArray (int i)
 Returns the ith array in the field. More...
 
vtkAbstractArrayGetAbstractArray (const char *arrayName, int &index)
 Return the array with the name given. More...
 
virtual void PassData (vtkFieldData *fd)
 Pass entire arrays of input data through to output. More...
 
void CopyFieldOn (const char *name)
 Turn on/off the copying of the field specified by name. More...
 
void CopyFieldOff (const char *name)
 
virtual void CopyAllOn (int unused=0)
 Turn on copying of all data. More...
 
virtual void CopyAllOff (int unused=0)
 Turn off copying of all data. More...
 
virtual void DeepCopy (vtkFieldData *da)
 Copy a field by creating new data arrays (i.e., duplicate storage). More...
 
virtual void ShallowCopy (vtkFieldData *da)
 Copy a field by reference counting the data arrays. More...
 
void Squeeze ()
 Squeezes each data array in the field (Squeeze() reclaims unused memory.) More...
 
void Reset ()
 Resets each data array in the field (Reset() does not release memory but it makes the arrays look like they are empty.) More...
 
virtual unsigned long GetActualMemorySize ()
 Return the memory in kibibytes (1024 bytes) consumed by this field data. More...
 
vtkMTimeType GetMTime () override
 Check object's components for modified times. More...
 
void GetField (vtkIdList *ptId, vtkFieldData *f)
 Get a field from a list of ids. More...
 
int GetArrayContainingComponent (int i, int &arrayComp)
 Return the array containing the ith component of the field. More...
 
int GetNumberOfComponents ()
 Get the number of components in the field. More...
 
vtkIdType GetNumberOfTuples ()
 Get the number of tuples in the field. More...
 
void SetNumberOfTuples (const vtkIdType number)
 Set the number of tuples for each data array in the field. More...
 
void SetTuple (const vtkIdType i, const vtkIdType j, vtkFieldData *source)
 Set the jth tuple in source field data at the ith location. More...
 
void InsertTuple (const vtkIdType i, const vtkIdType j, vtkFieldData *source)
 Insert the jth tuple in source field data at the ith location. More...
 
vtkIdType InsertNextTuple (const vtkIdType j, vtkFieldData *source)
 Insert the jth tuple in source field data at the end of the tuple matrix. More...
 
virtual void RemoveArray (const char *name)
 Remove an array (with the given name or index) from the list of arrays. More...
 
virtual void RemoveArray (int index)
 Remove an array (with the given name or index) from the list of arrays. More...
 
vtkDataArrayGetArray (const char *arrayName)
 Not recommended for use. More...
 
vtkAbstractArrayGetAbstractArray (const char *arrayName)
 Return the array with the name given. More...
 
int HasArray (const char *name)
 Return 1 if an array with the given name could be found. More...
 
const char * GetArrayName (int i)
 Get the name of ith array. 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 void Modified ()
 Update the modification time for this object. 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)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
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...
 
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)
 This method invokes an event and return whether the event was aborted or not. More...
 
- 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 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...
 
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...
 

Static Public Member Functions

static vtkFieldDataNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkFieldDataSafeDownCast (vtkObjectBase *o)
 
- 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 ()
 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 int 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 vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkFieldData ()
 
 ~vtkFieldData () override
 
void SetArray (int i, vtkAbstractArray *array)
 Set an array to define the field. More...
 
virtual void InitializeFields ()
 Release all data but do not delete object. More...
 
void CopyFieldOnOff (const char *name, int onOff)
 
void ClearFieldFlags ()
 
int FindFlag (const char *field)
 
int GetFlag (const char *field)
 
void CopyFlags (const vtkFieldData *source)
 
- 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 CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

int NumberOfArrays
 
int NumberOfActiveArrays
 
vtkAbstractArray ** Data
 
CopyFieldFlagCopyFieldFlags
 
int NumberOfFieldFlags
 
int DoCopyAllOn
 
int DoCopyAllOff
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

represent and manipulate fields of data

vtkFieldData represents and manipulates fields of data. The model of a field is a m x n matrix of data values, where m is the number of tuples, and n is the number of components. (A tuple is a row of n components in the matrix.) The field is assumed to be composed of a set of one or more data arrays, where the data in the arrays are of different types (e.g., int, double, char, etc.), and there may be variable numbers of components in each array. Note that each data array is assumed to be "m" in length (i.e., number of tuples), which typically corresponds to the number of points or cells in a dataset. Also, each data array must have a character-string name. (This is used to manipulate data.)

There are two ways of manipulating and interfacing to fields. You can do it generically by manipulating components/tuples via a double-type data exchange, or you can do it by grabbing the arrays and manipulating them directly. The former is simpler but performs type conversion, which is bad if your data has non-castable types like (void) pointers, or you lose information as a result of the cast. The, more efficient method means managing each array in the field. Using this method you can create faster, more efficient algorithms that do not lose information.

See also
vtkAbstractArray vtkDataSetAttributes vtkPointData vtkCellData
Tests:
vtkFieldData (Tests)

Definition at line 56 of file vtkFieldData.h.

Member Typedef Documentation

Definition at line 61 of file vtkFieldData.h.

Constructor & Destructor Documentation

vtkFieldData::vtkFieldData ( )
protected
vtkFieldData::~vtkFieldData ( )
overrideprotected

Member Function Documentation

static vtkFieldData* vtkFieldData::New ( )
static
static vtkTypeBool vtkFieldData::IsTypeOf ( const char *  type)
static
virtual vtkTypeBool vtkFieldData::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 vtkDataSetAttributes, vtkCellData, and vtkPointData.

static vtkFieldData* vtkFieldData::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkFieldData::NewInstanceInternal ( ) const
protectedvirtual
vtkFieldData* vtkFieldData::NewInstance ( ) const
void vtkFieldData::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

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

Reimplemented in vtkPointData.

virtual void vtkFieldData::Initialize ( )
virtual

Release all data but do not delete object.

Also, clear the copy flags.

Reimplemented in vtkDataSetAttributes.

vtkTypeBool vtkFieldData::Allocate ( vtkIdType  sz,
vtkIdType  ext = 1000 
)

Allocate data for each array.

Note that ext is no longer used.

void vtkFieldData::CopyStructure ( vtkFieldData )

Copy data array structure from a given field.

The same arrays will exist with the same types, but will contain nothing in the copy.

void vtkFieldData::AllocateArrays ( int  num)

AllocateOfArrays actually sets the number of vtkAbstractArray pointers in the vtkFieldData object, not the number of used pointers (arrays).

Adding more arrays will cause the object to dynamically adjust the number of pointers if it needs to extend. Although AllocateArrays can be used if the number of arrays which will be added is known, it can be omitted with a small computation cost.

int vtkFieldData::GetNumberOfArrays ( )
inline

Get the number of arrays of data available.

This does not include nullptr array pointers therefore after fd->AllocateArray(n); nArrays = GetNumberOfArrays() nArrays is not necessarily equal to n.

Definition at line 100 of file vtkFieldData.h.

int vtkFieldData::AddArray ( vtkAbstractArray array)

Add an array to the array list.

If an array with the same name already exists - then the added array will replace it. Return the index of the added array.

virtual void vtkFieldData::RemoveArray ( const char *  name)
virtual

Remove an array (with the given name or index) from the list of arrays.

virtual void vtkFieldData::RemoveArray ( int  index)
virtual

Remove an array (with the given name or index) from the list of arrays.

Reimplemented in vtkDataSetAttributes.

vtkDataArray* vtkFieldData::GetArray ( int  i)

Not recommended for use.

Use GetAbstractArray(int i) instead.

Return the ith array in the field. A nullptr is returned if the index i is out of range, or if the array at the given index is not a vtkDataArray. To access vtkStringArray, vtkUnicodeStringArray, or vtkVariantArray, use GetAbstractArray(int i).

vtkDataArray* vtkFieldData::GetArray ( const char *  arrayName,
int index 
)

Not recommended for use.

Use GetAbstractArray(const char *arrayName, int &index) instead.

Return the array with the name given. Returns nullptr if array not found. A nullptr is also returned if the array with the given name is not a vtkDataArray. To access vtkStringArray, vtkUnicodeStringArray, or vtkVariantArray, use GetAbstractArray(const char* arrayName, int &index). Also returns the index of the array if found, -1 otherwise.

vtkDataArray* vtkFieldData::GetArray ( const char *  arrayName)
inline

Not recommended for use.

Use GetAbstractArray(const char *arrayName) instead.

Return the array with the name given. Returns nullptr if array not found. A nullptr is also returned if the array with the given name is not a vtkDataArray. To access vtkStringArray, vtkUnicodeStringArray, or vtkVariantArray, use GetAbstractArray(const char *arrayName).

Definition at line 152 of file vtkFieldData.h.

vtkAbstractArray* vtkFieldData::GetAbstractArray ( int  i)

Returns the ith array in the field.

Unlike GetArray(), this method returns a vtkAbstractArray and can be used to access any array type. A nullptr is returned only if the index i is out of range.

vtkAbstractArray* vtkFieldData::GetAbstractArray ( const char *  arrayName,
int index 
)

Return the array with the name given.

Returns nullptr if array not found. Unlike GetArray(), this method returns a vtkAbstractArray and can be used to access any array type. Also returns index of array if found, -1 otherwise.

vtkAbstractArray* vtkFieldData::GetAbstractArray ( const char *  arrayName)
inline

Return the array with the name given.

Returns nullptr if array not found. Unlike GetArray(), this method returns a vtkAbstractArray and can be used to access any array type.

Definition at line 180 of file vtkFieldData.h.

int vtkFieldData::HasArray ( const char *  name)
inline

Return 1 if an array with the given name could be found.

0 otherwise.

Definition at line 191 of file vtkFieldData.h.

const char* vtkFieldData::GetArrayName ( int  i)
inline

Get the name of ith array.

Note that this is equivalent to: GetAbstractArray(i)->GetName() if ith array pointer is not nullptr

Definition at line 206 of file vtkFieldData.h.

virtual void vtkFieldData::PassData ( vtkFieldData fd)
virtual

Pass entire arrays of input data through to output.

Obey the "copy" flags.

Reimplemented in vtkDataSetAttributes.

void vtkFieldData::CopyFieldOn ( const char *  name)
inline

Turn on/off the copying of the field specified by name.

During the copying/passing, the following rules are followed for each array:

  1. If the copy flag for an array is set (on or off), it is applied This overrides rule 2.
  2. If CopyAllOn is set, copy the array. If CopyAllOff is set, do not copy the array

Definition at line 228 of file vtkFieldData.h.

void vtkFieldData::CopyFieldOff ( const char *  name)
inline

Definition at line 229 of file vtkFieldData.h.

virtual void vtkFieldData::CopyAllOn ( int  unused = 0)
virtual

Turn on copying of all data.

During the copying/passing, the following rules are followed for each array:

  1. If the copy flag for an array is set (on or off), it is applied This overrides rule 2.
  2. If CopyAllOn is set, copy the array. If CopyAllOff is set, do not copy the array

Reimplemented in vtkDataSetAttributes.

virtual void vtkFieldData::CopyAllOff ( int  unused = 0)
virtual

Turn off copying of all data.

During the copying/passing, the following rules are followed for each array:

  1. If the copy flag for an array is set (on or off), it is applied This overrides rule 2.
  2. If CopyAllOn is set, copy the array. If CopyAllOff is set, do not copy the array

Reimplemented in vtkDataSetAttributes.

virtual void vtkFieldData::DeepCopy ( vtkFieldData da)
virtual

Copy a field by creating new data arrays (i.e., duplicate storage).

Reimplemented in vtkDataSetAttributes.

virtual void vtkFieldData::ShallowCopy ( vtkFieldData da)
virtual

Copy a field by reference counting the data arrays.

Reimplemented in vtkDataSetAttributes.

void vtkFieldData::Squeeze ( )

Squeezes each data array in the field (Squeeze() reclaims unused memory.)

void vtkFieldData::Reset ( )

Resets each data array in the field (Reset() does not release memory but it makes the arrays look like they are empty.)

virtual unsigned long vtkFieldData::GetActualMemorySize ( )
virtual

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

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.

vtkMTimeType vtkFieldData::GetMTime ( )
overridevirtual

Check object's components for modified times.

Reimplemented from vtkObject.

void vtkFieldData::GetField ( vtkIdList ptId,
vtkFieldData f 
)

Get a field from a list of ids.

Supplied field f should have same types and number of data arrays as this one (i.e., like CopyStructure() creates). This method should not be used if the instance is from a subclass of vtkFieldData (vtkPointData or vtkCellData). This is because in those cases, the attribute data is stored with the other fields and will cause the method to behave in an unexpected way.

int vtkFieldData::GetArrayContainingComponent ( int  i,
int arrayComp 
)

Return the array containing the ith component of the field.

The return value is an integer number n 0<=n<this->NumberOfArrays. Also, an integer value is returned indicating the component in the array is returned. Method returns -1 if specified component is not in the field.

int vtkFieldData::GetNumberOfComponents ( )

Get the number of components in the field.

This is determined by adding up the components in each non-nullptr array. This method should not be used if the instance is from a subclass of vtkFieldData (vtkPointData or vtkCellData). This is because in those cases, the attribute data is stored with the other fields and will cause the method to behave in an unexpected way.

vtkIdType vtkFieldData::GetNumberOfTuples ( )

Get the number of tuples in the field.

Note: some fields have arrays with different numbers of tuples; this method returns the number of tuples in the first array. Mixed-length arrays may have to be treated specially. This method should not be used if the instance is from a subclass of vtkFieldData (vtkPointData or vtkCellData). This is because in those cases, the attribute data is stored with the other fields and will cause the method to behave in an unexpected way.

void vtkFieldData::SetNumberOfTuples ( const vtkIdType  number)

Set the number of tuples for each data array in the field.

This method should not be used if the instance is from a subclass of vtkFieldData (vtkPointData or vtkCellData). This is because in those cases, the attribute data is stored with the other fields and will cause the method to behave in an unexpected way.

void vtkFieldData::SetTuple ( const vtkIdType  i,
const vtkIdType  j,
vtkFieldData source 
)

Set the jth tuple in source field data at the ith location.

Set operations mean that no range checking is performed, so they're faster.

void vtkFieldData::InsertTuple ( const vtkIdType  i,
const vtkIdType  j,
vtkFieldData source 
)

Insert the jth tuple in source field data at the ith location.

Range checking is performed and memory allocates as necessary.

vtkIdType vtkFieldData::InsertNextTuple ( const vtkIdType  j,
vtkFieldData source 
)

Insert the jth tuple in source field data at the end of the tuple matrix.

Range checking is performed and memory is allocated as necessary.

void vtkFieldData::SetArray ( int  i,
vtkAbstractArray array 
)
protected

Set an array to define the field.

virtual void vtkFieldData::InitializeFields ( )
protectedvirtual

Release all data but do not delete object.

Reimplemented in vtkDataSetAttributes.

void vtkFieldData::CopyFieldOnOff ( const char *  name,
int  onOff 
)
protected
void vtkFieldData::ClearFieldFlags ( )
protected
int vtkFieldData::FindFlag ( const char *  field)
protected
int vtkFieldData::GetFlag ( const char *  field)
protected
void vtkFieldData::CopyFlags ( const vtkFieldData source)
protected

Member Data Documentation

int vtkFieldData::NumberOfArrays
protected

Definition at line 365 of file vtkFieldData.h.

int vtkFieldData::NumberOfActiveArrays
protected

Definition at line 366 of file vtkFieldData.h.

vtkAbstractArray** vtkFieldData::Data
protected

Definition at line 367 of file vtkFieldData.h.

CopyFieldFlag* vtkFieldData::CopyFieldFlags
protected

Definition at line 385 of file vtkFieldData.h.

int vtkFieldData::NumberOfFieldFlags
protected

Definition at line 386 of file vtkFieldData.h.

int vtkFieldData::DoCopyAllOn
protected

Definition at line 392 of file vtkFieldData.h.

int vtkFieldData::DoCopyAllOff
protected

Definition at line 393 of file vtkFieldData.h.


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