VTK
|
perform mathematical operations on data in field data arrays More...
#include <vtkArrayCalculator.h>
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.
Definition at line 80 of file vtkArrayCalculator.h.
Reimplemented from vtkDataSetAlgorithm.
Definition at line 83 of file vtkArrayCalculator.h.
vtkArrayCalculator::vtkArrayCalculator | ( | ) | [protected] |
vtkArrayCalculator::~vtkArrayCalculator | ( | ) | [protected] |
static int vtkArrayCalculator::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 vtkArrayCalculator::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.
static vtkArrayCalculator* vtkArrayCalculator::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkDataSetAlgorithm.
virtual vtkObjectBase* vtkArrayCalculator::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkDataSetAlgorithm.
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] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkDataSetAlgorithm.
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 bool vtkArrayCalculator::GetResultNormals | ( | ) | [virtual] |
Set whether to output results as point/cell normals. Outputing as normals is only valid with vector results. Point or cell normals are selected using AttributeMode.
virtual void vtkArrayCalculator::SetResultNormals | ( | bool | ) | [virtual] |
Set whether to output results as point/cell normals. Outputing as normals is only valid with vector results. Point or cell normals are selected using AttributeMode.
virtual void vtkArrayCalculator::ResultNormalsOn | ( | ) | [virtual] |
Set whether to output results as point/cell normals. Outputing as normals is only valid with vector results. Point or cell normals are selected using AttributeMode.
virtual void vtkArrayCalculator::ResultNormalsOff | ( | ) | [virtual] |
Set whether to output results as point/cell normals. Outputing as normals is only valid with vector results. Point or cell normals are selected using AttributeMode.
virtual bool vtkArrayCalculator::GetResultTCoords | ( | ) | [virtual] |
Set whether to output results as point/cell texture coordinates. Point or cell texture coordinates are selected using AttributeMode. 2-component texture coordinates cannot be generated at this time.
virtual void vtkArrayCalculator::SetResultTCoords | ( | bool | ) | [virtual] |
Set whether to output results as point/cell texture coordinates. Point or cell texture coordinates are selected using AttributeMode. 2-component texture coordinates cannot be generated at this time.
virtual void vtkArrayCalculator::ResultTCoordsOn | ( | ) | [virtual] |
Set whether to output results as point/cell texture coordinates. Point or cell texture coordinates are selected using AttributeMode. 2-component texture coordinates cannot be generated at this time.
virtual void vtkArrayCalculator::ResultTCoordsOff | ( | ) | [virtual] |
Set whether to output results as point/cell texture coordinates. Point or cell texture coordinates are selected using AttributeMode. 2-component texture coordinates cannot be generated at this time.
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 179 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 181 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 183 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 185 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 187 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).
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 211 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 213 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 215 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 217 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 219 of file vtkArrayCalculator.h.
Methods to get information about the current variables.
int** vtkArrayCalculator::GetSelectedVectorComponents | ( | ) | [inline] |
Methods to get information about the current variables.
Definition at line 221 of file vtkArrayCalculator.h.
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 * | |||
) | [protected, virtual] |
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.
char* vtkArrayCalculator::Function [protected] |
Definition at line 245 of file vtkArrayCalculator.h.
char* vtkArrayCalculator::ResultArrayName [protected] |
Definition at line 246 of file vtkArrayCalculator.h.
char** vtkArrayCalculator::ScalarArrayNames [protected] |
Definition at line 247 of file vtkArrayCalculator.h.
char** vtkArrayCalculator::VectorArrayNames [protected] |
Definition at line 248 of file vtkArrayCalculator.h.
char** vtkArrayCalculator::ScalarVariableNames [protected] |
Definition at line 249 of file vtkArrayCalculator.h.
char** vtkArrayCalculator::VectorVariableNames [protected] |
Definition at line 250 of file vtkArrayCalculator.h.
int vtkArrayCalculator::NumberOfScalarArrays [protected] |
Definition at line 251 of file vtkArrayCalculator.h.
int vtkArrayCalculator::NumberOfVectorArrays [protected] |
Definition at line 252 of file vtkArrayCalculator.h.
int vtkArrayCalculator::AttributeMode [protected] |
Definition at line 253 of file vtkArrayCalculator.h.
int* vtkArrayCalculator::SelectedScalarComponents [protected] |
Definition at line 254 of file vtkArrayCalculator.h.
int** vtkArrayCalculator::SelectedVectorComponents [protected] |
Definition at line 255 of file vtkArrayCalculator.h.
vtkFunctionParser* vtkArrayCalculator::FunctionParser [protected] |
Definition at line 256 of file vtkArrayCalculator.h.
int vtkArrayCalculator::ReplaceInvalidValues [protected] |
Definition at line 258 of file vtkArrayCalculator.h.
double vtkArrayCalculator::ReplacementValue [protected] |
Definition at line 259 of file vtkArrayCalculator.h.
int vtkArrayCalculator::CoordinateResults [protected] |
Definition at line 261 of file vtkArrayCalculator.h.
bool vtkArrayCalculator::ResultNormals [protected] |
Definition at line 262 of file vtkArrayCalculator.h.
bool vtkArrayCalculator::ResultTCoords [protected] |
Definition at line 263 of file vtkArrayCalculator.h.
char** vtkArrayCalculator::CoordinateScalarVariableNames [protected] |
Definition at line 264 of file vtkArrayCalculator.h.
char** vtkArrayCalculator::CoordinateVectorVariableNames [protected] |
Definition at line 265 of file vtkArrayCalculator.h.
Definition at line 266 of file vtkArrayCalculator.h.
int** vtkArrayCalculator::SelectedCoordinateVectorComponents [protected] |
Definition at line 267 of file vtkArrayCalculator.h.
Definition at line 268 of file vtkArrayCalculator.h.
Definition at line 269 of file vtkArrayCalculator.h.
int vtkArrayCalculator::ResultArrayType [protected] |
Definition at line 271 of file vtkArrayCalculator.h.