68 #ifndef vtkGenericStreamTracer_h
69 #define vtkGenericStreamTracer_h
101 vtkSetVector3Macro(StartPosition,
double);
102 vtkGetVector3Macro(StartPosition,
double);
154 void SetIntegratorType(
int type);
155 int GetIntegratorType();
157 {this->SetIntegratorType(RUNGE_KUTTA2);};
159 {this->SetIntegratorType(RUNGE_KUTTA4);};
161 {this->SetIntegratorType(RUNGE_KUTTA45);};
167 void SetMaximumPropagation(
int unit,
double max);
168 void SetMaximumPropagation(
double max);
169 void SetMaximumPropagationUnit(
int unit);
170 int GetMaximumPropagationUnit();
171 double GetMaximumPropagation();
173 {this->SetMaximumPropagationUnit(TIME_UNIT);};
175 {this->SetMaximumPropagationUnit(LENGTH_UNIT);};
177 {this->SetMaximumPropagationUnit(CELL_LENGTH_UNIT);};
184 void SetMinimumIntegrationStep(
int unit,
double step);
185 void SetMinimumIntegrationStepUnit(
int unit);
186 void SetMinimumIntegrationStep(
double step);
187 int GetMinimumIntegrationStepUnit();
188 double GetMinimumIntegrationStep();
190 {this->SetMinimumIntegrationStepUnit(TIME_UNIT);};
192 {this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);};
194 {this->SetMinimumIntegrationStepUnit(CELL_LENGTH_UNIT);};
201 void SetMaximumIntegrationStep(
int unit,
double step);
202 void SetMaximumIntegrationStepUnit(
int unit);
203 void SetMaximumIntegrationStep(
double step);
204 int GetMaximumIntegrationStepUnit();
205 double GetMaximumIntegrationStep();
207 {this->SetMaximumIntegrationStepUnit(TIME_UNIT);};
209 {this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);};
211 {this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);};
218 void SetInitialIntegrationStep(
int unit,
double step);
219 void SetInitialIntegrationStepUnit(
int unit);
220 void SetInitialIntegrationStep(
double step);
221 int GetInitialIntegrationStepUnit();
222 double GetInitialIntegrationStep();
224 {this->SetInitialIntegrationStepUnit(TIME_UNIT);};
226 {this->SetInitialIntegrationStepUnit(LENGTH_UNIT);};
228 {this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);};
235 vtkSetMacro(MaximumError,
double);
236 vtkGetMacro(MaximumError,
double);
241 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
242 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
248 vtkSetMacro(TerminalSpeed,
double);
249 vtkGetMacro(TerminalSpeed,
double);
257 this->SetInitialIntegrationStepUnit(unit);
258 this->SetMinimumIntegrationStepUnit(unit);
259 this->SetMaximumIntegrationStepUnit(unit);
275 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
276 vtkGetMacro(IntegrationDirection,
int);
278 {this->SetIntegrationDirection(FORWARD);};
280 {this->SetIntegrationDirection(BACKWARD);};
282 {this->SetIntegrationDirection(BOTH);};
288 vtkSetMacro(ComputeVorticity,
int);
289 vtkGetMacro(ComputeVorticity,
int);
290 vtkBooleanMacro(ComputeVorticity,
int);
296 vtkSetMacro(RotationScale,
double);
297 vtkGetMacro(RotationScale,
double);
304 vtkGetStringMacro(InputVectorsSelection);
306 {this->SetInputVectorsSelection(fieldName);}
322 { vtkErrorMacro( <<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject."); };
335 double vorticity[3]);
345 void SimpleIntegrate(
double seed[3],
351 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
355 vtkSetStringMacro(InputVectorsSelection);
360 double StartPosition[3];
379 void SetIntervalInformation(
int unit,
double interval,
383 double cellLength,
double speed);
385 double cellLength,
double speed);
387 double cellLength,
double speed);
389 double cellLength,
double speed);
390 void ConvertIntervals(
double& step,
double& minStep,
double& maxStep,
void SetMinimumIntegrationStepUnitToLengthUnit()
void SetMaximumPropagationUnitToTimeUnit()
virtual int FillInputPortInformation(int port, vtkInformation *info)
void SetIntegrationDirectionToBackward()
static const double EPSILON
void SelectInputVectors(const char *fieldName)
vtkGenericInterpolatedVelocityField * InterpolatorPrototype
abstract class to specify dataset behavior
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetInitialIntegrationStepUnitToTimeUnit()
void SetInitialIntegrationStepUnitToCellLengthUnit()
void SetMinimumIntegrationStepUnitToTimeUnit()
void AddInputData(vtkDataObject *)
#define VTKFILTERSGENERIC_EXPORT
void SetIntegrationDirectionToBoth()
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()
void PrintSelf(ostream &os, vtkIndent indent)
dynamic, self-adjusting array of int
Superclass for algorithms that produce only polydata as output.
void SetInitialIntegrationStepUnitToLengthUnit()
a simple class to control print indentation
list of point or cell ids
IntervalInformation MaximumIntegrationStep
abstract superclass for arrays of numeric data
void SetMaximumIntegrationStepUnitToCellLengthUnit()
char * InputVectorsSelection
void SetIntegrationDirectionToForward()
void SetIntegratorTypeToRungeKutta2()
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void SetIntegratorTypeToRungeKutta4()
void SetMaximumPropagationUnitToLengthUnit()
IntervalInformation MaximumPropagation
void SetIntegratorTypeToRungeKutta45()
defines dataset interface
IntervalInformation InitialIntegrationStep
general representation of visualization data
void SetMaximumPropagationUnitToCellLengthUnit()
vtkIdType MaximumNumberOfSteps
void SetMaximumIntegrationStepUnitToLengthUnit()
Interface for obtaining interpolated velocity values.
void SetMaximumIntegrationStepUnitToTimeUnit()
void SetMinimumIntegrationStepUnitToCellLengthUnit()
Integrate a set of ordinary differential equations (initial value problem) in time.
void SetIntegrationStepUnit(int unit)
int GenerateNormalsInIntegrate