VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
vtkRearrangeFields Class Reference

Move/copy fields between field data, point data and cell data. More...

#include <vtkRearrangeFields.h>

Inherits vtkDataSetAlgorithm.

Collaboration diagram for vtkRearrangeFields:
[legend]

Classes

struct  Operation
 

Public Types

enum  OperationType { COPY =0, MOVE =1 }
 
enum  FieldLocation { DATA_OBJECT =0, POINT_DATA =1, CELL_DATA =2 }
 
enum  FieldType { NAME, ATTRIBUTE }
 
typedef vtkDataSetAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkRearrangeFieldsNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
int RemoveOperation (int operationId)
 
int AddOperation (int operationType, int attributeType, int fromFieldLoc, int toFieldLoc)
 
int AddOperation (int operationType, const char *name, int fromFieldLoc, int toFieldLoc)
 
int AddOperation (const char *operationType, const char *attributeType, const char *fromFieldLoc, const char *toFieldLoc)
 
int RemoveOperation (int operationType, int attributeType, int fromFieldLoc, int toFieldLoc)
 
int RemoveOperation (int operationType, const char *name, int fromFieldLoc, int toFieldLoc)
 
int RemoveOperation (const char *operationType, const char *attributeType, const char *fromFieldLoc, const char *toFieldLoc)
 
void RemoveAllOperations ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkRearrangeFieldsSafeDownCast (vtkObjectBase *o)
 
static vtkRearrangeFieldsNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkRearrangeFields ()
 
virtual ~vtkRearrangeFields ()
 
int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
OperationGetNextOperation (Operation *op)
 
OperationGetFirst ()
 
void AddOperation (Operation *op)
 
void DeleteOperation (Operation *op, Operation *before)
 
OperationFindOperation (int id, Operation *&before)
 
OperationFindOperation (const char *name, Operation *&before)
 
OperationFindOperation (int operationType, const char *name, int fromFieldLoc, int toFieldLoc, Operation *&before)
 
OperationFindOperation (int operationType, int attributeType, int fromFieldLoc, int toFieldLoc, Operation *&before)
 
int CompareOperationsByType (const Operation *op1, const Operation *op2)
 
int CompareOperationsByName (const Operation *op1, const Operation *op2)
 
void DeleteAllOperations ()
 
void ApplyOperation (Operation *op, vtkDataSet *input, vtkDataSet *output)
 
vtkFieldData * GetFieldDataFromLocation (vtkDataSet *ds, int fieldLoc)
 
void PrintAllOperations (ostream &os, vtkIndent indent)
 
void PrintOperation (Operation *op, ostream &os, vtkIndent indent)
 

Protected Attributes

OperationHead
 
OperationTail
 
int LastId
 

Static Protected Attributes

static char OperationTypeNames [2][5]
 
static char FieldLocationNames [3][12]
 
static char AttributeNames [vtkDataSetAttributes::NUM_ATTRIBUTES][10]
 

Detailed Description

Move/copy fields between field data, point data and cell data.

vtkRearrangeFields is used to copy/move fields (vtkDataArrays) between data object's field data, point data and cell data. To specify which fields are copied/moved, the user adds operations. There are two types of operations: 1. the type which copies/moves an attribute's data (i.e. the field will be copied but will not be an attribute in the target), 2. the type which copies/moves fields by name. For example:

rf->AddOperation(vtkRearrangeFields::COPY, "foo",
                 vtkRearrangeFields::DATA_OBJECT,
                 vtkRearrangeFields::POINT_DATA);

adds an operation which copies a field (data array) called foo from the data object's field data to point data. From Tcl, the same operation can be added as follows:

rf AddOperation COPY foo DATA_OBJECT POINT_DATA

The same can be done using Python and Java bindings by passing strings as arguments.

Operation types: COPY, MOVE
AttributeTypes: SCALARS, VECTORS, NORMALS, TCOORDS, TENSORS
Field data locations: DATA_OBJECT, POINT_DATA, CELL_DATA
Warning
When using Tcl, Java, Python or Visual Basic bindings, the array name can not be one of the AttributeTypes when calling AddOperation() which takes strings as arguments. The Tcl (Java etc.) command will always assume the string corresponds to an attribute type when the argument is one of the AttributeTypes. In this situation, use the AddOperation() which takes enums.
See Also
vtkFieldData vtkDataSet vtkDataObjectToDataSetFilter vtkDataSetAttributes vtkDataArray vtkAssignAttribute vtkSplitField vtkMergeFields
Examples:
vtkRearrangeFields (Examples)
Tests:
vtkRearrangeFields (Tests)

Definition at line 73 of file vtkRearrangeFields.h.

Member Typedef Documentation

typedef vtkDataSetAlgorithm vtkRearrangeFields::Superclass

Definition at line 76 of file vtkRearrangeFields.h.

Member Enumeration Documentation

Enumerator
COPY 
MOVE 

Definition at line 83 of file vtkRearrangeFields.h.

Enumerator
DATA_OBJECT 
POINT_DATA 
CELL_DATA 

Definition at line 88 of file vtkRearrangeFields.h.

Enumerator
NAME 
ATTRIBUTE 

Definition at line 150 of file vtkRearrangeFields.h.

Constructor & Destructor Documentation

vtkRearrangeFields::vtkRearrangeFields ( )
protected
virtual vtkRearrangeFields::~vtkRearrangeFields ( )
protectedvirtual

Member Function Documentation

static int vtkRearrangeFields::IsTypeOf ( const char *  type)
static
virtual int vtkRearrangeFields::IsA ( const char *  type)
virtual
static vtkRearrangeFields* vtkRearrangeFields::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkRearrangeFields::NewInstanceInternal ( ) const
protectedvirtual
vtkRearrangeFields* vtkRearrangeFields::NewInstance ( ) const
void vtkRearrangeFields::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
static vtkRearrangeFields* vtkRearrangeFields::New ( )
static

Create a new vtkRearrangeFields with an empty operation list.

int vtkRearrangeFields::AddOperation ( int  operationType,
int  attributeType,
int  fromFieldLoc,
int  toFieldLoc 
)

Add an operation which copies an attribute's field (data array) from one field data to another. Returns an operation id which can later be used to remove the operation.

int vtkRearrangeFields::AddOperation ( int  operationType,
const char *  name,
int  fromFieldLoc,
int  toFieldLoc 
)

Add an operation which copies a field (data array) from one field data to another. Returns an operation id which can later be used to remove the operation.

int vtkRearrangeFields::AddOperation ( const char *  operationType,
const char *  attributeType,
const char *  fromFieldLoc,
const char *  toFieldLoc 
)

Helper method used by 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.

int vtkRearrangeFields::RemoveOperation ( int  operationId)

Remove an operation with the given id.

int vtkRearrangeFields::RemoveOperation ( int  operationType,
int  attributeType,
int  fromFieldLoc,
int  toFieldLoc 
)

Remove an operation with the given signature. See AddOperation for details.

int vtkRearrangeFields::RemoveOperation ( int  operationType,
const char *  name,
int  fromFieldLoc,
int  toFieldLoc 
)

Remove an operation with the given signature. See AddOperation for details.

int vtkRearrangeFields::RemoveOperation ( const char *  operationType,
const char *  attributeType,
const char *  fromFieldLoc,
const char *  toFieldLoc 
)

Remove an operation with the given signature. See AddOperation for details.

void vtkRearrangeFields::RemoveAllOperations ( )
inline

Remove all operations.

Definition at line 141 of file vtkRearrangeFields.h.

int vtkRearrangeFields::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protected
Operation* vtkRearrangeFields::GetNextOperation ( Operation op)
inlineprotected

Definition at line 187 of file vtkRearrangeFields.h.

Operation* vtkRearrangeFields::GetFirst ( )
inlineprotected

Definition at line 189 of file vtkRearrangeFields.h.

void vtkRearrangeFields::AddOperation ( Operation op)
protected
void vtkRearrangeFields::DeleteOperation ( Operation op,
Operation before 
)
protected
Operation* vtkRearrangeFields::FindOperation ( int  id,
Operation *&  before 
)
protected
Operation* vtkRearrangeFields::FindOperation ( const char *  name,
Operation *&  before 
)
protected
Operation* vtkRearrangeFields::FindOperation ( int  operationType,
const char *  name,
int  fromFieldLoc,
int  toFieldLoc,
Operation *&  before 
)
protected
Operation* vtkRearrangeFields::FindOperation ( int  operationType,
int  attributeType,
int  fromFieldLoc,
int  toFieldLoc,
Operation *&  before 
)
protected
int vtkRearrangeFields::CompareOperationsByType ( const Operation op1,
const Operation op2 
)
protected
int vtkRearrangeFields::CompareOperationsByName ( const Operation op1,
const Operation op2 
)
protected
void vtkRearrangeFields::DeleteAllOperations ( )
protected
void vtkRearrangeFields::ApplyOperation ( Operation op,
vtkDataSet *  input,
vtkDataSet *  output 
)
protected
vtkFieldData* vtkRearrangeFields::GetFieldDataFromLocation ( vtkDataSet *  ds,
int  fieldLoc 
)
protected
void vtkRearrangeFields::PrintAllOperations ( ostream &  os,
vtkIndent  indent 
)
protected
void vtkRearrangeFields::PrintOperation ( Operation op,
ostream &  os,
vtkIndent  indent 
)
protected

Member Data Documentation

Operation* vtkRearrangeFields::Head
protected

Definition at line 180 of file vtkRearrangeFields.h.

Operation* vtkRearrangeFields::Tail
protected

Definition at line 181 of file vtkRearrangeFields.h.

int vtkRearrangeFields::LastId
protected

Definition at line 184 of file vtkRearrangeFields.h.

char vtkRearrangeFields::OperationTypeNames[2][5]
staticprotected

Definition at line 213 of file vtkRearrangeFields.h.

char vtkRearrangeFields::FieldLocationNames[3][12]
staticprotected

Definition at line 214 of file vtkRearrangeFields.h.

char vtkRearrangeFields::AttributeNames[vtkDataSetAttributes::NUM_ATTRIBUTES][10]
staticprotected

Definition at line 215 of file vtkRearrangeFields.h.


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