Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkArrayCalculator Class Reference

#include <vtkArrayCalculator.h>

Inheritance diagram for vtkArrayCalculator:

Inheritance graph
[legend]
Collaboration diagram for vtkArrayCalculator:

Collaboration graph
[legend]
List of all members.

Detailed Description

perform mathematical operations on data in field data arrays

vtkArrayCalculator performs operations on vectors or scalars in field data arrays. It uses vtkFunctionParser to do the parsing and to evaluate the function for each entry in the input arrays. The arrays used in a given function must be all in point data or all in cell data. The resulting array will be stored as a field data array. The result array can either be stored in a new array or it can overwrite an existing array.

The functions that this array calculator understands is:

 standard operations: + - * / ^ .
 access vector components: iHat, jHat, kHat
 abs
 acos
 asin
 atan
 ceil
 cos
 cosh
 exp
 floor
 log
 mag
 min
 max
 norm
 sign
 sin
 sinh
 sqrt
 tan
 tanh
 
Note that some of these operations work on scalars, some on vectors, and some on both (e.g., you can multiply a scalar times a vector). The operations are performed tuple-wise (i.e., tuple-by-tuple). The user must specify which arrays to use as vectors and/or scalars, and the name of the output data array.

See also:
vtkFunctionParser
Examples:
vtkArrayCalculator (Examples)
Tests:
vtkArrayCalculator (Tests)

Definition at line 77 of file vtkArrayCalculator.h.
void SetFunction (const char *function)
virtual char * GetFunction ()
static vtkArrayCalculatorNew ()

Public Types

typedef vtkDataSetAlgorithm Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
void AddScalarArrayName (const char *arrayName, int component=0)
void AddVectorArrayName (const char *arrayName, int component0=0, int component1=1, int component2=2)
void AddScalarVariable (const char *variableName, const char *arrayName, int component=0)
void AddVectorVariable (const char *variableName, const char *arrayName, int component0=0, int component1=1, int component2=2)
void SetResultArrayName (const char *name)
virtual char * GetResultArrayName ()
virtual void SetAttributeMode (int)
virtual int GetAttributeMode ()
void SetAttributeModeToDefault ()
void SetAttributeModeToUsePointData ()
void SetAttributeModeToUseCellData ()
const char * GetAttributeModeAsString ()
void RemoveAllVariables ()
char ** GetScalarArrayNames ()
char * GetScalarArrayName (int i)
char ** GetVectorArrayNames ()
char * GetVectorArrayName (int i)
char ** GetScalarVariableNames ()
char * GetScalarVariableName (int i)
char ** GetVectorVariableNames ()
char * GetVectorVariableName (int i)
int * GetSelectedScalarComponents ()
int GetSelectedScalarComponent (int i)
int ** GetSelectedVectorComponents ()
int * GetSelectedVectorComponents (int i)
virtual int GetNumberOfScalarArrays ()
virtual int GetNumberOfVectorArrays ()
virtual void SetReplaceInvalidValues (int)
virtual int GetReplaceInvalidValues ()
virtual void ReplaceInvalidValuesOn ()
virtual void ReplaceInvalidValuesOff ()
virtual void SetReplacementValue (double)
virtual double GetReplacementValue ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkArrayCalculatorSafeDownCast (vtkObject *o)

Protected Member Functions

 vtkArrayCalculator ()
 ~vtkArrayCalculator ()
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)

Protected Attributes

char * Function
char * ResultArrayName
char ** ScalarArrayNames
char ** VectorArrayNames
char ** ScalarVariableNames
char ** VectorVariableNames
int NumberOfScalarArrays
int NumberOfVectorArrays
int AttributeMode
int * SelectedScalarComponents
int ** SelectedVectorComponents
vtkFunctionParserFunctionParser
int ReplaceInvalidValues
double ReplacementValue


Member Typedef Documentation

typedef vtkDataSetAlgorithm vtkArrayCalculator::Superclass
 

Reimplemented from vtkDataSetAlgorithm.

Definition at line 80 of file vtkArrayCalculator.h.


Constructor & Destructor Documentation

vtkArrayCalculator::vtkArrayCalculator  )  [protected]
 

vtkArrayCalculator::~vtkArrayCalculator  )  [protected]
 


Member Function Documentation

virtual const char* vtkArrayCalculator::GetClassName  )  [virtual]
 

Reimplemented from vtkDataSetAlgorithm.

static int vtkArrayCalculator::IsTypeOf const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetAlgorithm.

virtual int vtkArrayCalculator::IsA const char *  type  )  [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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSetAlgorithm.

static vtkArrayCalculator* vtkArrayCalculator::SafeDownCast vtkObject o  )  [static]
 

Reimplemented from vtkDataSetAlgorithm.

void vtkArrayCalculator::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 vtkArrayCalculator* vtkArrayCalculator::New  )  [static]
 

Set/Get the function to be evaluated.

Reimplemented from vtkDataSetAlgorithm.

void vtkArrayCalculator::SetFunction const char *  function  ) 
 

Set/Get the function to be evaluated.

virtual char* vtkArrayCalculator::GetFunction  )  [virtual]
 

Set/Get the function to be evaluated.

void vtkArrayCalculator::AddScalarArrayName const char *  arrayName,
int  component = 0
 

Add an array name to the list of arrays used in the function and specify which components of the array to use in evaluating the function. The array name must match the name in the function. Use AddScalarVariable or AddVectorVariable to use a variable name different from the array name.

void vtkArrayCalculator::AddVectorArrayName const char *  arrayName,
int  component0 = 0,
int  component1 = 1,
int  component2 = 2
 

Add an array name to the list of arrays used in the function and specify which components of the array to use in evaluating the function. The array name must match the name in the function. Use AddScalarVariable or AddVectorVariable to use a variable name different from the array name.

void vtkArrayCalculator::AddScalarVariable const char *  variableName,
const char *  arrayName,
int  component = 0
 

Add a variable name, a corresponding array name, and which components of the array to use.

void vtkArrayCalculator::AddVectorVariable const char *  variableName,
const char *  arrayName,
int  component0 = 0,
int  component1 = 1,
int  component2 = 2
 

Add a variable name, a corresponding array name, and which components of the array to use.

void vtkArrayCalculator::SetResultArrayName const char *  name  ) 
 

Set the name of the array in which to store the result of evaluating this function. If this is the name of an existing array, that array will be overwritten. Otherwise a new array will be created with the specified name.

virtual char* vtkArrayCalculator::GetResultArrayName  )  [virtual]
 

Set the name of the array in which to store the result of evaluating this function. If this is the name of an existing array, that array will be overwritten. Otherwise a new array will be created with the specified name.

virtual void vtkArrayCalculator::SetAttributeMode int   )  [virtual]
 

Control whether the filter operates on point data or cell data. By default (AttributeModeToDefault), the filter uses point data. Alternatively you can explicitly set the filter to use point data (AttributeModeToUsePointData) or cell data (AttributeModeToUseCellData).

virtual int vtkArrayCalculator::GetAttributeMode  )  [virtual]
 

Control whether the filter operates on point data or cell data. By default (AttributeModeToDefault), the filter uses point data. Alternatively you can explicitly set the filter to use point data (AttributeModeToUsePointData) or cell data (AttributeModeToUseCellData).

void vtkArrayCalculator::SetAttributeModeToDefault  )  [inline]
 

Control whether the filter operates on point data or cell data. By default (AttributeModeToDefault), the filter uses point data. Alternatively you can explicitly set the filter to use point data (AttributeModeToUsePointData) or cell data (AttributeModeToUseCellData).

Definition at line 129 of file vtkArrayCalculator.h.

References VTK_ATTRIBUTE_MODE_DEFAULT.

void vtkArrayCalculator::SetAttributeModeToUsePointData  )  [inline]
 

Control whether the filter operates on point data or cell data. By default (AttributeModeToDefault), the filter uses point data. Alternatively you can explicitly set the filter to use point data (AttributeModeToUsePointData) or cell data (AttributeModeToUseCellData).

Definition at line 131 of file vtkArrayCalculator.h.

References VTK_ATTRIBUTE_MODE_USE_POINT_DATA.

void vtkArrayCalculator::SetAttributeModeToUseCellData  )  [inline]
 

Control whether the filter operates on point data or cell data. By default (AttributeModeToDefault), the filter uses point data. Alternatively you can explicitly set the filter to use point data (AttributeModeToUsePointData) or cell data (AttributeModeToUseCellData).

Definition at line 133 of file vtkArrayCalculator.h.

References VTK_ATTRIBUTE_MODE_USE_CELL_DATA.

const char* vtkArrayCalculator::GetAttributeModeAsString  ) 
 

Control whether the filter operates on point data or cell data. By default (AttributeModeToDefault), the filter uses point data. Alternatively you can explicitly set the filter to use point data (AttributeModeToUsePointData) or cell data (AttributeModeToUseCellData).

void vtkArrayCalculator::RemoveAllVariables  ) 
 

Remove all the variable names and their associated array names.

char** vtkArrayCalculator::GetScalarArrayNames  )  [inline]
 

Methods to get information about the current variables.

Definition at line 143 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetScalarArrayName int  i  ) 
 

Remove all the variable names and their associated array names.

char** vtkArrayCalculator::GetVectorArrayNames  )  [inline]
 

Remove all the variable names and their associated array names.

Definition at line 145 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetVectorArrayName int  i  ) 
 

Remove all the variable names and their associated array names.

char** vtkArrayCalculator::GetScalarVariableNames  )  [inline]
 

Remove all the variable names and their associated array names.

Definition at line 147 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetScalarVariableName int  i  ) 
 

Remove all the variable names and their associated array names.

char** vtkArrayCalculator::GetVectorVariableNames  )  [inline]
 

Remove all the variable names and their associated array names.

Definition at line 149 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetVectorVariableName int  i  ) 
 

Remove all the variable names and their associated array names.

int* vtkArrayCalculator::GetSelectedScalarComponents  )  [inline]
 

Remove all the variable names and their associated array names.

Definition at line 151 of file vtkArrayCalculator.h.

int vtkArrayCalculator::GetSelectedScalarComponent int  i  ) 
 

Remove all the variable names and their associated array names.

int** vtkArrayCalculator::GetSelectedVectorComponents  )  [inline]
 

Remove all the variable names and their associated array names.

Definition at line 153 of file vtkArrayCalculator.h.

int* vtkArrayCalculator::GetSelectedVectorComponents int  i  ) 
 

Remove all the variable names and their associated array names.

virtual int vtkArrayCalculator::GetNumberOfScalarArrays  )  [virtual]
 

Remove all the variable names and their associated array names.

virtual int vtkArrayCalculator::GetNumberOfVectorArrays  )  [virtual]
 

Remove all the variable names and their associated array names.

virtual void vtkArrayCalculator::SetReplaceInvalidValues int   )  [virtual]
 

When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported

virtual int vtkArrayCalculator::GetReplaceInvalidValues  )  [virtual]
 

When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported

virtual void vtkArrayCalculator::ReplaceInvalidValuesOn  )  [virtual]
 

When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported

virtual void vtkArrayCalculator::ReplaceInvalidValuesOff  )  [virtual]
 

When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported

virtual void vtkArrayCalculator::SetReplacementValue double   )  [virtual]
 

When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported

virtual double vtkArrayCalculator::GetReplacementValue  )  [virtual]
 

When ReplaceInvalidValues is on, all invalid values (such as sqrt(-2), note that function parser does not handle complex numbers) will be replaced by ReplacementValue. Otherwise an error will be reported

virtual int vtkArrayCalculator::RequestData vtkInformation ,
vtkInformationVector **  ,
vtkInformationVector
[protected, virtual]
 

This is called by the superclass. This is the method you should override.

Reimplemented from vtkDataSetAlgorithm.


Member Data Documentation

char* vtkArrayCalculator::Function [protected]
 

Definition at line 177 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::ResultArrayName [protected]
 

Definition at line 178 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::ScalarArrayNames [protected]
 

Definition at line 179 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::VectorArrayNames [protected]
 

Definition at line 180 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::ScalarVariableNames [protected]
 

Definition at line 181 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::VectorVariableNames [protected]
 

Definition at line 182 of file vtkArrayCalculator.h.

int vtkArrayCalculator::NumberOfScalarArrays [protected]
 

Definition at line 183 of file vtkArrayCalculator.h.

int vtkArrayCalculator::NumberOfVectorArrays [protected]
 

Definition at line 184 of file vtkArrayCalculator.h.

int vtkArrayCalculator::AttributeMode [protected]
 

Definition at line 185 of file vtkArrayCalculator.h.

int* vtkArrayCalculator::SelectedScalarComponents [protected]
 

Definition at line 186 of file vtkArrayCalculator.h.

int** vtkArrayCalculator::SelectedVectorComponents [protected]
 

Definition at line 187 of file vtkArrayCalculator.h.

vtkFunctionParser* vtkArrayCalculator::FunctionParser [protected]
 

Definition at line 188 of file vtkArrayCalculator.h.

int vtkArrayCalculator::ReplaceInvalidValues [protected]
 

Definition at line 190 of file vtkArrayCalculator.h.

double vtkArrayCalculator::ReplacementValue [protected]
 

Definition at line 191 of file vtkArrayCalculator.h.


The documentation for this class was generated from the following file:
Generated on Mon Jan 21 23:34:01 2008 for VTK by  doxygen 1.4.3-20050530