85 #ifndef __vtkStreamTracer_h
86 #define __vtkStreamTracer_h
88 #include "vtkFiltersTracersModule.h"
119 vtkSetVector3Macro(StartPosition,
double);
120 vtkGetVector3Macro(StartPosition,
double);
179 void SetIntegratorType(
int type);
180 int GetIntegratorType();
181 void SetIntegratorTypeToRungeKutta2()
182 {this->SetIntegratorType(RUNGE_KUTTA2);};
183 void SetIntegratorTypeToRungeKutta4()
184 {this->SetIntegratorType(RUNGE_KUTTA4);};
185 void SetIntegratorTypeToRungeKutta45()
186 {this->SetIntegratorType(RUNGE_KUTTA45);};
191 void SetInterpolatorTypeToDataSetPointLocator();
195 void SetInterpolatorTypeToCellLocator();
199 vtkSetMacro(MaximumPropagation,
double);
200 vtkGetMacro(MaximumPropagation,
double);
208 void SetIntegrationStepUnit(
int unit );
217 vtkSetMacro(InitialIntegrationStep,
double);
218 vtkGetMacro(InitialIntegrationStep,
double);
225 vtkSetMacro(MinimumIntegrationStep,
double);
226 vtkGetMacro(MinimumIntegrationStep,
double);
233 vtkSetMacro(MaximumIntegrationStep,
double);
234 vtkGetMacro(MaximumIntegrationStep,
double);
240 vtkSetMacro(MaximumError,
double);
241 vtkGetMacro(MaximumError,
double);
246 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
247 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
253 vtkSetMacro(TerminalSpeed,
double);
254 vtkGetMacro(TerminalSpeed,
double);
268 INTERPOLATOR_WITH_CELL_LOCATOR
275 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
276 vtkGetMacro(IntegrationDirection,
int);
277 void SetIntegrationDirectionToForward()
278 {this->SetIntegrationDirection(FORWARD);};
279 void SetIntegrationDirectionToBackward()
280 {this->SetIntegrationDirection(BACKWARD);};
281 void SetIntegrationDirectionToBoth()
282 {this->SetIntegrationDirection(BOTH);};
288 vtkSetMacro(ComputeVorticity,
bool);
289 vtkGetMacro(ComputeVorticity,
bool);
295 vtkSetMacro(RotationScale,
double);
296 vtkGetMacro(RotationScale,
double);
312 void SetInterpolatorType(
int interpType );
324 { vtkErrorMacro( <<
"AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
340 const char *vecFieldName,
343 void SimpleIntegrate(
double seed[3],
349 void GenerateNormals(
vtkPolyData* output,
double* firstNormal,
const char *vecName);
354 double StartPosition[3];
373 void ConvertIntervals(
double& step,
double& minStep,
double& maxStep,
375 static double ConvertToLength(
double interval,
int unit,
double cellLength );
403 friend class PStreamTracerUtils;