66 #ifndef vtkGenericStreamTracer_h 67 #define vtkGenericStreamTracer_h 69 #include "vtkFiltersGenericModule.h" 103 vtkSetVector3Macro(StartPosition,
double);
104 vtkGetVector3Macro(StartPosition,
double);
163 void SetIntegratorType(
int type);
164 int GetIntegratorType();
178 void SetMaximumPropagation(
int unit,
double max);
179 void SetMaximumPropagation(
double max);
180 void SetMaximumPropagationUnit(
int unit);
181 int GetMaximumPropagationUnit();
182 double GetMaximumPropagation();
187 this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);
200 void SetMinimumIntegrationStep(
int unit,
double step);
201 void SetMinimumIntegrationStepUnit(
int unit);
202 void SetMinimumIntegrationStep(
double step);
203 int GetMinimumIntegrationStepUnit();
204 double GetMinimumIntegrationStep();
208 this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);
212 this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);
225 void SetMaximumIntegrationStep(
int unit,
double step);
226 void SetMaximumIntegrationStepUnit(
int unit);
227 void SetMaximumIntegrationStep(
double step);
228 int GetMaximumIntegrationStepUnit();
229 double GetMaximumIntegrationStep();
233 this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);
237 this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);
251 void SetInitialIntegrationStep(
int unit,
double step);
252 void SetInitialIntegrationStepUnit(
int unit);
253 void SetInitialIntegrationStep(
double step);
254 int GetInitialIntegrationStepUnit();
255 double GetInitialIntegrationStep();
259 this->SetInitialIntegrationStepUnit(LENGTH_UNIT);
263 this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);
273 vtkSetMacro(MaximumError,
double);
274 vtkGetMacro(MaximumError,
double);
281 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
282 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
290 vtkSetMacro(TerminalSpeed,
double);
291 vtkGetMacro(TerminalSpeed,
double);
300 this->SetInitialIntegrationStepUnit(unit);
301 this->SetMinimumIntegrationStepUnit(unit);
302 this->SetMaximumIntegrationStepUnit(unit);
318 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
319 vtkGetMacro(IntegrationDirection,
int);
341 vtkSetMacro(RotationScale,
double);
342 vtkGetMacro(RotationScale,
double);
351 vtkGetStringMacro(InputVectorsSelection);
373 vtkErrorMacro(<<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject.");
391 void SimpleIntegrate(
394 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
398 vtkSetStringMacro(InputVectorsSelection);
402 double StartPosition[3];
420 void SetIntervalInformation(
int unit,
double interval,
IntervalInformation& currentValues);
425 static double ConvertToUnit(
427 void ConvertIntervals(
428 double& step,
double& minStep,
double& maxStep,
int direction,
double cellLength,
double speed);
430 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 *)
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph *>::edge_descriptor e, vtkGraph *)
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
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