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();
166 {this->SetIntegratorType(RUNGE_KUTTA2);};
168 {this->SetIntegratorType(RUNGE_KUTTA4);};
170 {this->SetIntegratorType(RUNGE_KUTTA45);};
181 void SetMaximumPropagation(
int unit,
double max);
182 void SetMaximumPropagation(
double max);
183 void SetMaximumPropagationUnit(
int unit);
184 int GetMaximumPropagationUnit();
185 double GetMaximumPropagation();
187 {this->SetMaximumPropagationUnit(TIME_UNIT);};
189 {this->SetMaximumPropagationUnit(LENGTH_UNIT);};
191 {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();
209 {this->SetMinimumIntegrationStepUnit(TIME_UNIT);};
211 {this->SetMinimumIntegrationStepUnit(LENGTH_UNIT);};
213 {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();
231 {this->SetMaximumIntegrationStepUnit(TIME_UNIT);};
233 {this->SetMaximumIntegrationStepUnit(LENGTH_UNIT);};
235 {this->SetMaximumIntegrationStepUnit(CELL_LENGTH_UNIT);};
248 void SetInitialIntegrationStep(
int unit,
double step);
249 void SetInitialIntegrationStepUnit(
int unit);
250 void SetInitialIntegrationStep(
double step);
251 int GetInitialIntegrationStepUnit();
252 double GetInitialIntegrationStep();
254 {this->SetInitialIntegrationStepUnit(TIME_UNIT);};
256 {this->SetInitialIntegrationStepUnit(LENGTH_UNIT);};
258 {this->SetInitialIntegrationStepUnit(CELL_LENGTH_UNIT);};
267 vtkSetMacro(MaximumError,
double);
268 vtkGetMacro(MaximumError,
double);
275 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
276 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
284 vtkSetMacro(TerminalSpeed,
double);
285 vtkGetMacro(TerminalSpeed,
double);
294 this->SetInitialIntegrationStepUnit(unit);
295 this->SetMinimumIntegrationStepUnit(unit);
296 this->SetMaximumIntegrationStepUnit(unit);
312 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
313 vtkGetMacro(IntegrationDirection,
int);
315 {this->SetIntegrationDirection(FORWARD);};
317 {this->SetIntegrationDirection(BACKWARD);};
319 {this->SetIntegrationDirection(BOTH);};
338 vtkSetMacro(RotationScale,
double);
339 vtkGetMacro(RotationScale,
double);
348 vtkGetStringMacro(InputVectorsSelection);
350 {this->SetInputVectorsSelection(fieldName);}
370 { vtkErrorMacro( <<
"AddInput() must be called with a vtkGenericDataSet not a vtkDataObject."); };
384 double vorticity[3]);
393 void SimpleIntegrate(
double seed[3],
399 void GenerateNormals(
vtkPolyData* output,
double* firstNormal);
403 vtkSetStringMacro(InputVectorsSelection);
408 double StartPosition[3];
426 void SetIntervalInformation(
int unit,
double interval,
430 double cellLength,
double speed);
432 double cellLength,
double speed);
434 double cellLength,
double speed);
436 double cellLength,
double speed);
437 void ConvertIntervals(
double& step,
double& minStep,
double& maxStep,