FreeMat

- Main Page
- Related Pages

vtkArrayCalculator

Section: Visualization Toolkit Graphics Classes

# Usage

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.

To create an instance of class vtkArrayCalculator, simply invoke its constructor as follows

      obj = vtkArrayCalculator

# Methods

The class vtkArrayCalculator has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, `obj` is an instance of the vtkArrayCalculator class.

- `string = obj.GetClassName ()`
- `int = obj.IsA (string name)`
- `vtkArrayCalculator = obj.NewInstance ()`
- `vtkArrayCalculator = obj.SafeDownCast (vtkObject o)`
- `obj.SetFunction (string function)` - Set/Get the function to be evaluated.
- `string = obj.GetFunction ()` - Set/Get the function to be evaluated.
- `obj.AddScalarArrayName (string arrayName, int component)` - 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.
- `obj.AddVectorArrayName (string arrayName, int component0, int component1, int component2)` - 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.
- `obj.AddScalarVariable (string variableName, string arrayName, int component)` - Add a variable name, a corresponding array name, and which components of the array to use.
- `obj.AddVectorVariable (string variableName, string arrayName, int component0, int component1, int component2)` - Add a variable name, a corresponding array name, and which components of the array to use.
- `obj.AddCoordinateScalarVariable (string variableName, int component)` - Add a variable name, a corresponding array name, and which components of the array to use.
- `obj.AddCoordinateVectorVariable (string variableName, int component0, int component1, int component2)` - Add a variable name, a corresponding array name, and which components of the array to use.
- `obj.SetResultArrayName (string 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.
- `string = obj.GetResultArrayName ()` - 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.
- `int = obj.GetResultArrayType ()` - Type of the result array. It is ignored if CoordinateResults is true. Initial value is VTK_DOUBLE.
- `obj.SetResultArrayType (int )` - Type of the result array. It is ignored if CoordinateResults is true. Initial value is VTK_DOUBLE.
- `int = obj.GetCoordinateResults ()` - 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.
- `obj.SetCoordinateResults (int )` - 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.
- `obj.CoordinateResultsOn ()` - 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.
- `obj.CoordinateResultsOff ()` - 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.
- `obj.SetAttributeMode (int )` - 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).
- `int = obj.GetAttributeMode ()` - 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).
- `obj.SetAttributeModeToDefault ()` - 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).
- `obj.SetAttributeModeToUsePointData ()` - 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).
- `obj.SetAttributeModeToUseCellData ()` - 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).
- `obj.SetAttributeModeToUseVertexData ()` - 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).
- `obj.SetAttributeModeToUseEdgeData ()` - 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).
- `string = obj.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).
- `obj.RemoveAllVariables ()` - Remove all the variable names and their associated array names.
- `obj.RemoveScalarVariables ()` - Remove all the scalar variable names and their associated array names.
- `obj.RemoveVectorVariables ()` - Remove all the scalar variable names and their associated array names.
- `obj.RemoveCoordinateScalarVariables ()` - Remove all the coordinate variables.
- `obj.RemoveCoordinateVectorVariables ()` - Remove all the coordinate variables.
- `string = obj.GetScalarArrayName (int i)` - Methods to get information about the current variables.
- `string = obj.GetVectorArrayName (int i)` - Methods to get information about the current variables.
- `string = obj.GetScalarVariableName (int i)` - Methods to get information about the current variables.
- `string = obj.GetVectorVariableName (int i)` - Methods to get information about the current variables.
- `int = obj.GetSelectedScalarComponent (int i)` - Methods to get information about the current variables.
- `int = obj.GetNumberOfScalarArrays ()` - Methods to get information about the current variables.
- `int = obj.GetNumberOfVectorArrays ()` - Methods to get information about the current variables.
- `obj.SetReplaceInvalidValues (int )` - 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
- `int = obj.GetReplaceInvalidValues ()` - 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
- `obj.ReplaceInvalidValuesOn ()` - 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
- `obj.ReplaceInvalidValuesOff ()` - 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
- `obj.SetReplacementValue (double )` - 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
- `double = obj.GetReplacementValue ()` - 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