104 #ifndef vtkArrayCalculator_h
105 #define vtkArrayCalculator_h
108 #include "vtkFiltersCoreModule.h"
127 vtkSetStringMacro(Function);
128 vtkGetStringMacro(Function);
144 const char* arrayName,
int component0 = 0,
int component1 = 1,
int component2 = 2);
156 int component1 = 1,
int component2 = 2);
168 const char* variableName,
int component0 = 0,
int component1 = 1,
int component2 = 2);
178 vtkSetStringMacro(ResultArrayName);
179 vtkGetStringMacro(ResultArrayName);
187 vtkGetMacro(ResultArrayType,
int);
188 vtkSetMacro(ResultArrayType,
int);
209 vtkGetMacro(ResultNormals,
bool);
210 vtkSetMacro(ResultNormals,
bool);
211 vtkBooleanMacro(ResultNormals,
bool);
220 vtkGetMacro(ResultTCoords,
bool);
221 vtkSetMacro(ResultTCoords,
bool);
222 vtkBooleanMacro(ResultTCoords,
bool);
230 static const int DEFAULT_ATTRIBUTE_TYPE = -1;
238 vtkSetMacro(AttributeType,
int);
239 vtkGetMacro(AttributeType,
int);
289 return this->SelectedVectorComponents;
306 vtkSetMacro(ReplacementValue,
double);
307 vtkGetMacro(ReplacementValue,
double);
316 vtkSetMacro(IgnoreMissingArrays,
bool);
317 vtkGetMacro(IgnoreMissingArrays,
bool);
318 vtkBooleanMacro(IgnoreMissingArrays,
bool);
328 NumberOfFunctionParserTypes
339 this->FunctionParserType = FunctionParserTypes::FunctionParser;
344 this->FunctionParserType = FunctionParserTypes::ExprTkFunctionParser;
409 template <
typename TFunctionParser>
perform mathematical operations on data in field data arrays
FunctionParserTypes
Enum that includes the types of parsers that can be used.
void SetFunctionParserTypeToFunctionParser()
Set/Get the FunctionParser type that will be used.
void RemoveAllVariables()
Remove all the variable names and their associated array names.
void SetAttributeTypeToVertexData()
Control which AttributeType the filter operates on (point data or cell data for vtkDataSets).
virtual void RemoveCoordinateVectorVariables()
Remove all the coordinate variables.
std::string GetVectorVariableName(int i)
Methods to get information about the current variables.
void SetAttributeTypeToRowData()
Control which AttributeType the filter operates on (point data or cell data for vtkDataSets).
vtkTuple< int, 3 > GetSelectedVectorComponents(int i)
Methods to get information about the current variables.
void SetAttributeTypeToDefault()
Control which AttributeType the filter operates on (point data or cell data for vtkDataSets).
vtkSetEnumMacro(FunctionParserType, FunctionParserTypes)
Set/Get the FunctionParser type that will be used.
int GetNumberOfVectorArrays()
Methods to get information about the current variables.
vtkTypeBool ReplaceInvalidValues
std::vector< std::string > VectorVariableNames
void 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.
const std::vector< std::string > & GetScalarVariableNames()
Methods to get information about the current variables.
vtkTypeBool CoordinateResults
std::vector< vtkTuple< int, 3 > > SelectedVectorComponents
void SetAttributeTypeToEdgeData()
Control which AttributeType the filter operates on (point data or cell data for vtkDataSets).
vtkDataSet * GetDataSetOutput()
Returns the output of the filter downcast to a vtkDataSet or nullptr if the cast fails.
vtkGetEnumMacro(FunctionParserType, FunctionParserTypes)
Set/Get the FunctionParser type that will be used.
std::string GetScalarArrayName(int i)
Methods to get information about the current variables.
std::string GetScalarVariableName(int i)
Methods to get information about the current variables.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetNumberOfScalarArrays()
Methods to get information about the current variables.
std::vector< vtkTuple< int, 3 > > SelectedCoordinateVectorComponents
const std::vector< int > & GetSelectedScalarComponents()
Methods to get information about the current variables.
void 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 arra...
void AddCoordinateScalarVariable(const char *variableName, int component=0)
Add a variable name, a corresponding array name, and which components of the array to use.
virtual void RemoveVectorVariables()
Remove all the scalar variable names and their associated array names.
static std::string CheckValidVariableName(const char *variableName)
A variable name is valid if it's sanitized or enclosed in quotes.
void SetAttributeTypeToCellData()
Control which AttributeType the filter operates on (point data or cell data for vtkDataSets).
std::vector< int > SelectedScalarComponents
void 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.
FunctionParserTypes FunctionParserType
const char * GetAttributeTypeAsString()
Returns a string representation of the calculator's AttributeType.
std::vector< std::string > CoordinateVectorVariableNames
int GetAttributeTypeFromInput(vtkDataObject *input)
Get the attribute type for the input.
const std::vector< vtkTuple< int, 3 > > & GetSelectedVectorComponents()
Methods to get information about the current variables.
void 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.
std::vector< std::string > ScalarVariableNames
std::vector< int > SelectedCoordinateScalarComponents
void SetFunctionParserTypeToExprTkFunctionParser()
Set/Get the FunctionParser type that will be used.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
std::vector< std::string > ScalarArrayNames
int GetSelectedScalarComponent(int i)
Methods to get information about the current variables.
const std::vector< std::string > & GetVectorArrayNames()
Methods to get information about the current variables.
virtual void RemoveScalarVariables()
Remove all the scalar variable names and their associated array names.
void 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 arra...
const std::vector< std::string > & GetScalarArrayNames()
Methods to get information about the current variables.
int FillInputPortInformation(int, vtkInformation *) override
Fill the input port information objects for this algorithm.
void SetAttributeTypeToPointData()
Control which AttributeType the filter operates on (point data or cell data for vtkDataSets).
~vtkArrayCalculator() override
virtual void RemoveCoordinateScalarVariables()
Remove all the coordinate variables.
const std::vector< std::string > & GetVectorVariableNames()
Methods to get information about the current variables.
std::vector< std::string > VectorArrayNames
std::string GetVectorArrayName(int i)
Methods to get information about the current variables.
std::vector< std::string > CoordinateScalarVariableNames
static vtkArrayCalculator * New()
general representation of visualization data
abstract class to specify dataset behavior
a simple class to control print indentation
virtual void Modified()
Update the modification time for this object.