Go to the documentation of this file.
69 #ifndef vtkGenericStreamTracer_h
70 #define vtkGenericStreamTracer_h
72 #include "vtkFiltersGenericModule.h"
106 vtkSetVector3Macro(StartPosition,
double);
107 vtkGetVector3Macro(StartPosition,
double);
169 {this->SetIntegratorType(RUNGE_KUTTA2);};
171 {this->SetIntegratorType(RUNGE_KUTTA4);};
173 {this->SetIntegratorType(RUNGE_KUTTA45);};
190 {this->SetMaximumPropagationUnit(TIME_UNIT);};
192 {this->SetMaximumPropagationUnit(LENGTH_UNIT);};
194 {this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);};
212 {this->SetMinimumIntegrationStepUnit(TIME_UNIT);};
214 {this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);};
216 {this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);};
234 {this->SetMaximumIntegrationStepUnit(TIME_UNIT);};
236 {this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);};
238 {this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);};
257 {this->SetInitialIntegrationStepUnit(TIME_UNIT);};
259 {this->SetInitialIntegrationStepUnit(LENGTH_UNIT);};
261 {this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);};
271 vtkGetMacro(MaximumError,
double);
288 vtkGetMacro(TerminalSpeed,
double);
297 this->SetInitialIntegrationStepUnit(unit);
298 this->SetMinimumIntegrationStepUnit(unit);
299 this->SetMaximumIntegrationStepUnit(unit);
315 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
316 vtkGetMacro(IntegrationDirection,
int);
318 {this->SetIntegrationDirection(FORWARD);};
320 {this->SetIntegrationDirection(BACKWARD);};
322 {this->SetIntegrationDirection(BOTH);};
332 vtkGetMacro(ComputeVorticity,
int);
342 vtkGetMacro(RotationScale,
double);
353 {this->SetInputVectorsSelection(fieldName);}
373 { vtkErrorMacro( <<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject."); };
387 double vorticity[3]);
406 vtkSetStringMacro(InputVectorsSelection);
411 double StartPosition[3];
433 double cellLength,
double speed);
435 double cellLength,
double speed);
437 double cellLength,
double speed);
439 double cellLength,
double speed);
void SetMinimumIntegrationStepUnit(int unit)
void SetIntegrator(vtkInitialValueProblemSolver *)
Set/get the integrator type to be used in the stream line calculation.
IntervalInformation MaximumPropagation
static double ConvertToUnit(IntervalInformation &interval, int unit, double cellLength, double speed)
static double ConvertToTime(IntervalInformation &interval, double cellLength, double speed)
void SetMinimumIntegrationStep(int unit, double step)
Specify the minimum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void SetInterpolatorPrototype(vtkGenericInterpolatedVelocityField *ivf)
The object used to interpolate the velocity field during integration is of the same class as this pro...
void SetSourceData(vtkDataSet *source)
Specify the source object used to generate starting points.
int GetMaximumIntegrationStepUnit()
void SetInitialIntegrationStep(int unit, double step)
Specify the initial step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
int GetMaximumPropagationUnit()
void SimpleIntegrate(double seed[3], double lastPoint[3], double delt, vtkGenericInterpolatedVelocityField *func)
void SetMaximumPropagation(double max)
Interface for obtaining interpolated velocity values.
void SetIntegratorTypeToRungeKutta4()
void SetMaximumIntegrationStepUnitToCellLengthUnit()
IntervalInformation MinimumIntegrationStep
void Integrate(vtkGenericDataSet *input0, vtkPolyData *output, vtkDataArray *seedSource, vtkIdList *seedIds, vtkIntArray *integrationDirections, double lastPoint[3], vtkGenericInterpolatedVelocityField *func)
IntervalInformation InitialIntegrationStep
void SetIntegratorTypeToRungeKutta2()
void SetIntegratorTypeToRungeKutta45()
~vtkGenericStreamTracer()
IntervalInformation MaximumIntegrationStep
void SetInitialIntegrationStepUnitToLengthUnit()
abstract superclass for arrays of numeric data
int GetMinimumIntegrationStepUnit()
void SetMaximumIntegrationStepUnitToTimeUnit()
void SetInitialIntegrationStepUnit(int unit)
int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
static const double EPSILON
void SetInitialIntegrationStepUnitToTimeUnit()
defines dataset interface
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
double GetMaximumPropagation()
vtkIdType MaximumNumberOfSteps
void SetMaximumPropagationUnitToLengthUnit()
vtkGenericInterpolatedVelocityField * InterpolatorPrototype
void SetMaximumIntegrationStepUnitToLengthUnit()
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetIntegrationDirectionToForward()
void SetMaximumIntegrationStep(int unit, double step)
Specify the maximum step used in the integration expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT =...
void InitializeSeeds(vtkDataArray *&seeds, vtkIdList *&seedIds, vtkIntArray *&integrationDirections)
int GetInitialIntegrationStepUnit()
void SetIntervalInformation(int unit, double interval, IntervalInformation ¤tValues)
void SetMaximumPropagationUnitToCellLengthUnit()
void SetMaximumIntegrationStepUnit(int unit)
void SetInitialIntegrationStepUnitToCellLengthUnit()
int GenerateNormalsInIntegrate
a simple class to control print indentation
static double ConvertToCellLength(IntervalInformation &interval, double cellLength, double speed)
dynamic, self-adjusting array of int
void CalculateVorticity(vtkGenericAdaptorCell *cell, double pcoords[3], vtkGenericAttribute *attribute, double vorticity[3])
Compute the vorticity at point ‘pcoords’ in cell ‘cell’ for the vector attribute ‘attribute’.
void AddInputData(vtkGenericDataSet *in)
Add a dataset to the list inputs.
list of point or cell ids
void SetMaximumPropagationUnit(int unit)
double GetMinimumIntegrationStep()
void SetIntegrationDirectionToBackward()
void SetMaximumPropagationUnitToTimeUnit()
void SetMaximumIntegrationStep(double step)
void GenerateNormals(vtkPolyData *output, double *firstNormal)
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
double GetMaximumIntegrationStep()
void SetIntegratorType(int type)
abstract class to specify dataset behavior
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
double GetInitialIntegrationStep()
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
void SetIntegrationDirectionToBoth()
void SetIntegrationStepUnit(int unit)
Simplified API to set an homogeneous unit across Min/Max/Init IntegrationStepUnit.
void ConvertIntervals(double &step, double &minStep, double &maxStep, int direction, double cellLength, double speed)
char * InputVectorsSelection
Proxy object to connect input/output ports.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetMinimumIntegrationStepUnitToLengthUnit()
concrete dataset represents vertices, lines, polygons, and triangle strips
void SetMinimumIntegrationStepUnitToCellLengthUnit()
void SetMaximumPropagation(int unit, double max)
Specify the maximum length of the streamlines expressed in one of the: TIME_UNIT = 0 LENGTH_UNIT = 1 ...
void SetInitialIntegrationStep(double step)
void SetIntervalInformation(int unit, IntervalInformation ¤tValues)
abstract class defined API for attribute data
vtkInitialValueProblemSolver * Integrator
void SetMinimumIntegrationStep(double step)
Integrate a set of ordinary differential equations (initial value problem) in time.
general representation of visualization data
static double ConvertToLength(IntervalInformation &interval, double cellLength, double speed)
static vtkGenericStreamTracer * New()
Construct object to start from position (0,0,0), integrate forward, terminal speed 1....
void SetMinimumIntegrationStepUnitToTimeUnit()
void SelectInputVectors(const char *fieldName)
int CheckInputs(vtkGenericInterpolatedVelocityField *&func, vtkInformationVector **inputVector)
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify the source object used to generate starting points (seeds).
Superclass for algorithms that produce only polydata as output.
void AddInput(vtkDataObject *)