57 #ifndef vtkGenericStreamTracer_h
58 #define vtkGenericStreamTracer_h
60 #include "vtkFiltersGenericModule.h"
65 VTK_ABI_NAMESPACE_BEGIN
95 vtkSetVector3Macro(StartPosition,
double);
96 vtkGetVector3Macro(StartPosition,
double);
155 void SetIntegratorType(
int type);
156 int GetIntegratorType();
170 void SetMaximumPropagation(
int unit,
double max);
171 void SetMaximumPropagation(
double max);
172 void SetMaximumPropagationUnit(
int unit);
173 int GetMaximumPropagationUnit();
174 double GetMaximumPropagation();
179 this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);
192 void SetMinimumIntegrationStep(
int unit,
double step);
193 void SetMinimumIntegrationStepUnit(
int unit);
194 void SetMinimumIntegrationStep(
double step);
195 int GetMinimumIntegrationStepUnit();
196 double GetMinimumIntegrationStep();
200 this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);
204 this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);
217 void SetMaximumIntegrationStep(
int unit,
double step);
218 void SetMaximumIntegrationStepUnit(
int unit);
219 void SetMaximumIntegrationStep(
double step);
220 int GetMaximumIntegrationStepUnit();
221 double GetMaximumIntegrationStep();
225 this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);
229 this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);
243 void SetInitialIntegrationStep(
int unit,
double step);
244 void SetInitialIntegrationStepUnit(
int unit);
245 void SetInitialIntegrationStep(
double step);
246 int GetInitialIntegrationStepUnit();
247 double GetInitialIntegrationStep();
251 this->SetInitialIntegrationStepUnit(LENGTH_UNIT);
255 this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);
265 vtkSetMacro(MaximumError,
double);
266 vtkGetMacro(MaximumError,
double);
273 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
274 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
282 vtkSetMacro(TerminalSpeed,
double);
283 vtkGetMacro(TerminalSpeed,
double);
292 this->SetInitialIntegrationStepUnit(unit);
293 this->SetMinimumIntegrationStepUnit(unit);
294 this->SetMaximumIntegrationStepUnit(unit);
310 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
311 vtkGetMacro(IntegrationDirection,
int);
333 vtkSetMacro(RotationScale,
double);
334 vtkGetMacro(RotationScale,
double);
343 vtkGetStringMacro(InputVectorsSelection);
365 vtkErrorMacro(<<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject.");
383 void SimpleIntegrate(
386 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
390 vtkSetStringMacro(InputVectorsSelection);
394 double StartPosition[3];
412 void SetIntervalInformation(
int unit,
double interval,
IntervalInformation& currentValues);
417 static double ConvertToUnit(
419 void ConvertIntervals(
420 double& step,
double& minStep,
double& maxStep,
int direction,
double cellLength,
double speed);
422 void InitializeSeeds(
443 VTK_ABI_NAMESPACE_END
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