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

perform mathematical operations on data in field data arrays More...

#include <vtkArrayCalculator.h>

Inherits vtkDataSetAlgorithm.

Public Types

typedef vtkDataSetAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkArrayCalculatorNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void RemoveAllVariables ()
 
virtual void RemoveScalarVariables ()
 
virtual void RemoveVectorVariables ()
 
virtual void RemoveCoordinateScalarVariables ()
 
virtual void RemoveCoordinateVectorVariables ()
 
virtual void SetFunction (const char *function)
 
virtual char * GetFunction ()
 
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 AddCoordinateScalarVariable (const char *variableName, int component=0)
 
void AddCoordinateVectorVariable (const char *variableName, int component0=0, int component1=1, int component2=2)
 
void SetResultArrayName (const char *name)
 
virtual char * GetResultArrayName ()
 
virtual int GetResultArrayType ()
 
virtual void SetResultArrayType (int)
 
virtual int GetCoordinateResults ()
 
virtual void SetCoordinateResults (int)
 
virtual void CoordinateResultsOn ()
 
virtual void CoordinateResultsOff ()
 
virtual void SetAttributeMode (int)
 
virtual int GetAttributeMode ()
 
void SetAttributeModeToDefault ()
 
void SetAttributeModeToUsePointData ()
 
void SetAttributeModeToUseCellData ()
 
void SetAttributeModeToUseVertexData ()
 
void SetAttributeModeToUseEdgeData ()
 
const char * GetAttributeModeAsString ()
 
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 (vtkObjectBase *o)
 
static vtkArrayCalculatorNew ()
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 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
 
vtkFunctionParser * FunctionParser
 
int ReplaceInvalidValues
 
double ReplacementValue
 
int CoordinateResults
 
char ** CoordinateScalarVariableNames
 
char ** CoordinateVectorVariableNames
 
int * SelectedCoordinateScalarComponents
 
int ** SelectedCoordinateVectorComponents
 
int NumberOfCoordinateScalarArrays
 
int NumberOfCoordinateVectorArrays
 
int ResultArrayType
 

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: + - * / ^ .
build unit vectors: iHat, jHat, kHat (ie (1,0,0), (0,1,0), (0,0,1))
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 80 of file vtkArrayCalculator.h.

Member Typedef Documentation

typedef vtkDataSetAlgorithm vtkArrayCalculator::Superclass

Definition at line 83 of file vtkArrayCalculator.h.

Constructor & Destructor Documentation

vtkArrayCalculator::vtkArrayCalculator ( )
protected
vtkArrayCalculator::~vtkArrayCalculator ( )
protected

Member Function Documentation

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

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::AddCoordinateScalarVariable ( const char *  variableName,
int  component = 0 
)

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

void vtkArrayCalculator::AddCoordinateVectorVariable ( const char *  variableName,
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 int vtkArrayCalculator::GetResultArrayType ( )
virtual

Type of the result array. It is ignored if CoordinateResults is true. Initial value is VTK_DOUBLE.

virtual void vtkArrayCalculator::SetResultArrayType ( int  )
virtual

Type of the result array. It is ignored if CoordinateResults is true. Initial value is VTK_DOUBLE.

virtual int vtkArrayCalculator::GetCoordinateResults ( )
virtual

Set whether to output results as coordinates. ResultArrayName will be ignored. Outputing as coordinates is only valid with vector results and if the AttributeMode is AttributeModeToUsePointData. If a valid output can't be made, an error will occur.

virtual void vtkArrayCalculator::SetCoordinateResults ( int  )
virtual

Set whether to output results as coordinates. ResultArrayName will be ignored. Outputing as coordinates is only valid with vector results and if the AttributeMode is AttributeModeToUsePointData. If a valid output can't be made, an error will occur.

virtual void vtkArrayCalculator::CoordinateResultsOn ( )
virtual

Set whether to output results as coordinates. ResultArrayName will be ignored. Outputing as coordinates is only valid with vector results and if the AttributeMode is AttributeModeToUsePointData. If a valid output can't be made, an error will occur.

virtual void vtkArrayCalculator::CoordinateResultsOff ( )
virtual

Set whether to output results as coordinates. ResultArrayName will be ignored. Outputing as coordinates is only valid with vector results and if the AttributeMode is AttributeModeToUsePointData. If a valid output can't be made, an error will occur.

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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

Definition at line 161 of file vtkArrayCalculator.h.

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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

Definition at line 163 of file vtkArrayCalculator.h.

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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

Definition at line 165 of file vtkArrayCalculator.h.

void vtkArrayCalculator::SetAttributeModeToUseVertexData ( )
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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

Definition at line 167 of file vtkArrayCalculator.h.

void vtkArrayCalculator::SetAttributeModeToUseEdgeData ( )
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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

Definition at line 169 of file vtkArrayCalculator.h.

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). For graphs you can set the filter to use vertex data (AttributeModeToUseVertexData) or edge data (AttributeModeToUseEdgeData).

void vtkArrayCalculator::RemoveAllVariables ( )

Remove all the variable names and their associated array names.

virtual void vtkArrayCalculator::RemoveScalarVariables ( )
virtual

Remove all the scalar variable names and their associated array names.

virtual void vtkArrayCalculator::RemoveVectorVariables ( )
virtual

Remove all the scalar variable names and their associated array names.

virtual void vtkArrayCalculator::RemoveCoordinateScalarVariables ( )
virtual

Remove all the coordinate variables.

virtual void vtkArrayCalculator::RemoveCoordinateVectorVariables ( )
virtual

Remove all the coordinate variables.

char** vtkArrayCalculator::GetScalarArrayNames ( )
inline

Methods to get information about the current variables.

Definition at line 193 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetScalarArrayName ( int  i)

Methods to get information about the current variables.

char** vtkArrayCalculator::GetVectorArrayNames ( )
inline

Methods to get information about the current variables.

Definition at line 195 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetVectorArrayName ( int  i)

Methods to get information about the current variables.

char** vtkArrayCalculator::GetScalarVariableNames ( )
inline

Methods to get information about the current variables.

Definition at line 197 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetScalarVariableName ( int  i)

Methods to get information about the current variables.

char** vtkArrayCalculator::GetVectorVariableNames ( )
inline

Methods to get information about the current variables.

Definition at line 199 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::GetVectorVariableName ( int  i)

Methods to get information about the current variables.

int* vtkArrayCalculator::GetSelectedScalarComponents ( )
inline

Methods to get information about the current variables.

Definition at line 201 of file vtkArrayCalculator.h.

int vtkArrayCalculator::GetSelectedScalarComponent ( int  i)

Methods to get information about the current variables.

int** vtkArrayCalculator::GetSelectedVectorComponents ( )
inline

Methods to get information about the current variables.

Definition at line 203 of file vtkArrayCalculator.h.

int* vtkArrayCalculator::GetSelectedVectorComponents ( int  i)

Methods to get information about the current variables.

virtual int vtkArrayCalculator::GetNumberOfScalarArrays ( )
virtual

Methods to get information about the current variables.

virtual int vtkArrayCalculator::GetNumberOfVectorArrays ( )
virtual

Methods to get information about the current variables.

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 *   
)
protectedvirtual

Member Data Documentation

char* vtkArrayCalculator::Function
protected

Definition at line 227 of file vtkArrayCalculator.h.

char* vtkArrayCalculator::ResultArrayName
protected

Definition at line 228 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::ScalarArrayNames
protected

Definition at line 229 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::VectorArrayNames
protected

Definition at line 230 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::ScalarVariableNames
protected

Definition at line 231 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::VectorVariableNames
protected

Definition at line 232 of file vtkArrayCalculator.h.

int vtkArrayCalculator::NumberOfScalarArrays
protected

Definition at line 233 of file vtkArrayCalculator.h.

int vtkArrayCalculator::NumberOfVectorArrays
protected

Definition at line 234 of file vtkArrayCalculator.h.

int vtkArrayCalculator::AttributeMode
protected

Definition at line 235 of file vtkArrayCalculator.h.

int* vtkArrayCalculator::SelectedScalarComponents
protected

Definition at line 236 of file vtkArrayCalculator.h.

int** vtkArrayCalculator::SelectedVectorComponents
protected

Definition at line 237 of file vtkArrayCalculator.h.

vtkFunctionParser* vtkArrayCalculator::FunctionParser
protected

Definition at line 238 of file vtkArrayCalculator.h.

int vtkArrayCalculator::ReplaceInvalidValues
protected

Definition at line 240 of file vtkArrayCalculator.h.

double vtkArrayCalculator::ReplacementValue
protected

Definition at line 241 of file vtkArrayCalculator.h.

int vtkArrayCalculator::CoordinateResults
protected

Definition at line 243 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::CoordinateScalarVariableNames
protected

Definition at line 244 of file vtkArrayCalculator.h.

char** vtkArrayCalculator::CoordinateVectorVariableNames
protected

Definition at line 245 of file vtkArrayCalculator.h.

int* vtkArrayCalculator::SelectedCoordinateScalarComponents
protected

Definition at line 246 of file vtkArrayCalculator.h.

int** vtkArrayCalculator::SelectedCoordinateVectorComponents
protected

Definition at line 247 of file vtkArrayCalculator.h.

int vtkArrayCalculator::NumberOfCoordinateScalarArrays
protected

Definition at line 248 of file vtkArrayCalculator.h.

int vtkArrayCalculator::NumberOfCoordinateVectorArrays
protected

Definition at line 249 of file vtkArrayCalculator.h.

int vtkArrayCalculator::ResultArrayType
protected

Definition at line 251 of file vtkArrayCalculator.h.


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