VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes
vtkMergeFields Class Reference

Merge multiple fields into one. More...

#include <vtkMergeFields.h>

Inheritance diagram for vtkMergeFields:
Inheritance graph
[legend]
Collaboration diagram for vtkMergeFields:
Collaboration graph
[legend]

List of all members.

Classes

struct  Component

Public Types

enum  FieldLocations { DATA_OBJECT = 0, POINT_DATA = 1, CELL_DATA = 2 }
typedef vtkDataSetAlgorithm Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkMergeFieldsNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void SetOutputField (const char *name, int fieldLoc)
void SetOutputField (const char *name, const char *fieldLoc)
void Merge (int component, const char *arrayName, int sourceComp)
virtual void SetNumberOfComponents (int)
virtual int GetNumberOfComponents ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkMergeFieldsSafeDownCast (vtkObjectBase *o)
static vtkMergeFieldsNew ()

Protected Types

enum  FieldType { NAME, ATTRIBUTE }

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkMergeFields ()
virtual ~vtkMergeFields ()
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
int MergeArray (vtkDataArray *in, vtkDataArray *out, int inComp, int outComp)
ComponentGetNextComponent (Component *op)
ComponentGetFirst ()
void AddComponent (Component *op)
ComponentFindComponent (int index)
void DeleteAllComponents ()
void PrintComponent (Component *op, ostream &os, vtkIndent indent)
void PrintAllComponents (ostream &os, vtkIndent indent)

Protected Attributes

char * FieldName
int FieldLocation
int NumberOfComponents
int OutputDataType
ComponentHead
ComponentTail

Static Protected Attributes

static char FieldLocationNames [3][12]

Detailed Description

Merge multiple fields into one.

vtkMergeFields is used to merge mutliple field into one. The new field is put in the same field data as the original field. For example

 mf->SetOutputField("foo", vtkMergeFields::POINT_DATA);
 mf->SetNumberOfComponents(2);
 mf->Merge(0, "array1", 1);
 mf->Merge(1, "array2", 0);

will tell vtkMergeFields to use the 2nd component of array1 and the 1st component of array2 to create a 2 component field called foo. The same can be done using Tcl:

 mf SetOutputField foo POINT_DATA
 mf Merge 0 array1 1
 mf Merge 1 array2 0

 Field locations: DATA_OBJECT, POINT_DATA, CELL_DATA
See also:
vtkFieldData vtkDataSet vtkDataObjectToDataSetFilter vtkDataSetAttributes vtkDataArray vtkRearrangeFields vtkSplitField vtkAssignAttribute
Tests:
vtkMergeFields (Tests)

Definition at line 56 of file vtkMergeFields.h.


Member Typedef Documentation

Reimplemented from vtkDataSetAlgorithm.

Definition at line 59 of file vtkMergeFields.h.


Member Enumeration Documentation

Enumerator:
DATA_OBJECT 
POINT_DATA 
CELL_DATA 

Definition at line 85 of file vtkMergeFields.h.

enum vtkMergeFields::FieldType [protected]
Enumerator:
NAME 
ATTRIBUTE 

Definition at line 118 of file vtkMergeFields.h.


Constructor & Destructor Documentation

virtual vtkMergeFields::~vtkMergeFields ( ) [protected, virtual]

Member Function Documentation

static int vtkMergeFields::IsTypeOf ( const char *  name) [static]

Return 1 if this class type 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 vtkDataSetAlgorithm.

virtual int vtkMergeFields::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 vtkDataSetAlgorithm.

Reimplemented from vtkDataSetAlgorithm.

virtual vtkObjectBase* vtkMergeFields::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkDataSetAlgorithm.

Reimplemented from vtkDataSetAlgorithm.

void vtkMergeFields::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 vtkDataSetAlgorithm.

static vtkMergeFields* vtkMergeFields::New ( ) [static]

Create a new vtkMergeFields.

Reimplemented from vtkDataSetAlgorithm.

void vtkMergeFields::SetOutputField ( const char *  name,
int  fieldLoc 
)

The output field will have the given name and it will be in fieldLoc (the input fields also have to be in fieldLoc).

void vtkMergeFields::SetOutputField ( const char *  name,
const char *  fieldLoc 
)

Helper method used by the other language bindings. Allows the caller to specify arguments as strings instead of enums.Returns an operation id which can later be used to remove the operation.

void vtkMergeFields::Merge ( int  component,
const char *  arrayName,
int  sourceComp 
)

Add a component (arrayName,sourceComp) to the output field.

virtual void vtkMergeFields::SetNumberOfComponents ( int  ) [virtual]

Set the number of the components in the output field. This has to be set before execution. Default value is 0.

Set the number of the components in the output field. This has to be set before execution. Default value is 0.

This is called within ProcessRequest when a request asks the algorithm to do its work. This is the method you should override to do whatever the algorithm is designed to do. This happens during the fourth pass in the pipeline execution process.

Reimplemented from vtkDataSetAlgorithm.

int vtkMergeFields::MergeArray ( vtkDataArray in,
vtkDataArray out,
int  inComp,
int  outComp 
) [protected]
Component* vtkMergeFields::GetNextComponent ( Component op) [inline, protected]

Definition at line 145 of file vtkMergeFields.h.

Component* vtkMergeFields::GetFirst ( ) [inline, protected]

Definition at line 147 of file vtkMergeFields.h.

void vtkMergeFields::AddComponent ( Component op) [protected]
Component* vtkMergeFields::FindComponent ( int  index) [protected]
void vtkMergeFields::PrintComponent ( Component op,
ostream &  os,
vtkIndent  indent 
) [protected]
void vtkMergeFields::PrintAllComponents ( ostream &  os,
vtkIndent  indent 
) [protected]

Member Data Documentation

char* vtkMergeFields::FieldName [protected]

Definition at line 130 of file vtkMergeFields.h.

Definition at line 131 of file vtkMergeFields.h.

Definition at line 132 of file vtkMergeFields.h.

Definition at line 133 of file vtkMergeFields.h.

char vtkMergeFields::FieldLocationNames[3][12] [static, protected]

Definition at line 135 of file vtkMergeFields.h.

Definition at line 141 of file vtkMergeFields.h.

Definition at line 142 of file vtkMergeFields.h.


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