69 #ifndef vtkGenericStreamTracer_h
70 #define vtkGenericStreamTracer_h
72 #include "vtkFiltersGenericModule.h"
106 vtkSetVector3Macro(StartPosition,
double);
107 vtkGetVector3Macro(StartPosition,
double);
166 void SetIntegratorType(
int type);
167 int GetIntegratorType();
181 void SetMaximumPropagation(
int unit,
double max);
182 void SetMaximumPropagation(
double max);
183 void SetMaximumPropagationUnit(
int unit);
184 int GetMaximumPropagationUnit();
185 double GetMaximumPropagation();
190 this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);
203 void SetMinimumIntegrationStep(
int unit,
double step);
204 void SetMinimumIntegrationStepUnit(
int unit);
205 void SetMinimumIntegrationStep(
double step);
206 int GetMinimumIntegrationStepUnit();
207 double GetMinimumIntegrationStep();
211 this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);
215 this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);
228 void SetMaximumIntegrationStep(
int unit,
double step);
229 void SetMaximumIntegrationStepUnit(
int unit);
230 void SetMaximumIntegrationStep(
double step);
231 int GetMaximumIntegrationStepUnit();
232 double GetMaximumIntegrationStep();
236 this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);
240 this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);
254 void SetInitialIntegrationStep(
int unit,
double step);
255 void SetInitialIntegrationStepUnit(
int unit);
256 void SetInitialIntegrationStep(
double step);
257 int GetInitialIntegrationStepUnit();
258 double GetInitialIntegrationStep();
262 this->SetInitialIntegrationStepUnit(LENGTH_UNIT);
266 this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);
276 vtkSetMacro(MaximumError,
double);
277 vtkGetMacro(MaximumError,
double);
284 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
285 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
293 vtkSetMacro(TerminalSpeed,
double);
294 vtkGetMacro(TerminalSpeed,
double);
303 this->SetInitialIntegrationStepUnit(unit);
304 this->SetMinimumIntegrationStepUnit(unit);
305 this->SetMaximumIntegrationStepUnit(unit);
321 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
322 vtkGetMacro(IntegrationDirection,
int);
344 vtkSetMacro(RotationScale,
double);
345 vtkGetMacro(RotationScale,
double);
354 vtkGetStringMacro(InputVectorsSelection);
376 vtkErrorMacro(<<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject.");
394 void SimpleIntegrate(
397 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
401 vtkSetStringMacro(InputVectorsSelection);
405 double StartPosition[3];
423 void SetIntervalInformation(
int unit,
double interval,
IntervalInformation& currentValues);
428 static double ConvertToUnit(
430 void ConvertIntervals(
431 double& step,
double& minStep,
double& maxStep,
int direction,
double cellLength,
double speed);
433 void InitializeSeeds(
void SetMinimumIntegrationStepUnitToLengthUnit()
Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void SetMaximumPropagationUnitToTimeUnit()
Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 ...
void SetIntegrationDirectionToBackward()
Specify whether the streamtrace will be generated in the upstream or downstream direction.
static const double EPSILON
void SelectInputVectors(const char *fieldName)
If you want to generate traces using an arbitrary vector array, then set its name here...
vtkGenericInterpolatedVelocityField * InterpolatorPrototype
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
void SetInitialIntegrationStepUnitToTimeUnit()
Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void SetInitialIntegrationStepUnitToCellLengthUnit()
Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void SetMinimumIntegrationStepUnitToTimeUnit()
Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void AddInputData(vtkDataObject *)
Assign a data object as input.
void SetIntegrationDirectionToBoth()
Specify whether the streamtrace will be generated in the upstream or downstream direction.
vtkTypeBool ComputeVorticity
vtkInitialValueProblemSolver * Integrator
concrete dataset represents vertices, lines, polygons, and triangle strips
abstract class defined API for attribute data
void AddInput(vtkDataObject *)
IntervalInformation MinimumIntegrationStep
Proxy object to connect input/output ports.
static vtkPolyDataAlgorithm * New()
dynamic, self-adjusting array of int
Superclass for algorithms that produce only polydata as output.
void SetInitialIntegrationStepUnitToLengthUnit()
Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
a simple class to control print indentation
list of point or cell ids
IntervalInformation MaximumIntegrationStep
abstract superclass for arrays of numeric data
void SetMaximumIntegrationStepUnitToCellLengthUnit()
Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
char * InputVectorsSelection
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetIntegrationDirectionToForward()
Specify whether the streamtrace will be generated in the upstream or downstream direction.
void SetIntegratorTypeToRungeKutta2()
Set/get the integrator type to be used in the stream line calculation.
void SetIntegratorTypeToRungeKutta4()
Set/get the integrator type to be used in the stream line calculation.
void SetMaximumPropagationUnitToLengthUnit()
Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 ...
IntervalInformation MaximumPropagation
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetIntegratorTypeToRungeKutta45()
Set/get the integrator type to be used in the stream line calculation.
defines dataset interface
IntervalInformation InitialIntegrationStep
general representation of visualization data
void SetMaximumPropagationUnitToCellLengthUnit()
Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 ...
vtkIdType MaximumNumberOfSteps
void SetMaximumIntegrationStepUnitToLengthUnit()
Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
Interface for obtaining interpolated velocity values.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetMaximumIntegrationStepUnitToTimeUnit()
Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void SetMinimumIntegrationStepUnitToCellLengthUnit()
Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
Integrate a set of ordinary differential equations (initial value problem) in time.
void SetIntegrationStepUnit(int unit)
Simplified API to set an homogeneous unit across Min/Max/Init IntegrationStepUnit.
int GenerateNormalsInIntegrate