80 #ifndef vtkStreamTracer_h
81 #define vtkStreamTracer_h
83 #include "vtkFiltersFlowPathsModule.h"
122 vtkSetVector3Macro(StartPosition,
double);
123 vtkGetVector3Macro(StartPosition,
double);
175 FIXED_REASONS_FOR_TERMINATION_COUNT
191 void SetIntegratorType(
int type);
192 int GetIntegratorType();
194 {this->SetIntegratorType(RUNGE_KUTTA2);};
196 {this->SetIntegratorType(RUNGE_KUTTA4);};
198 {this->SetIntegratorType(RUNGE_KUTTA45);};
205 void SetInterpolatorTypeToDataSetPointLocator();
211 void SetInterpolatorTypeToCellLocator();
217 vtkSetMacro(MaximumPropagation,
double);
218 vtkGetMacro(MaximumPropagation,
double);
227 void SetIntegrationStepUnit(
int unit );
238 vtkSetMacro(InitialIntegrationStep,
double);
239 vtkGetMacro(InitialIntegrationStep,
double);
249 vtkSetMacro(MinimumIntegrationStep,
double);
250 vtkGetMacro(MinimumIntegrationStep,
double);
260 vtkSetMacro(MaximumIntegrationStep,
double);
261 vtkGetMacro(MaximumIntegrationStep,
double);
268 vtkSetMacro(MaximumError,
double);
269 vtkGetMacro(MaximumError,
double);
276 vtkSetMacro(MaximumNumberOfSteps,
vtkIdType);
277 vtkGetMacro(MaximumNumberOfSteps,
vtkIdType);
284 vtkSetMacro(TerminalSpeed,
double);
285 vtkGetMacro(TerminalSpeed,
double);
292 vtkGetMacro(SurfaceStreamlines,
bool);
293 vtkSetMacro(SurfaceStreamlines,
bool);
294 vtkBooleanMacro(SurfaceStreamlines,
bool);
307 INTERPOLATOR_WITH_CELL_LOCATOR
315 vtkSetClampMacro(IntegrationDirection,
int, FORWARD, BOTH);
316 vtkGetMacro(IntegrationDirection,
int);
318 {this->SetIntegrationDirection(FORWARD);};
320 {this->SetIntegrationDirection(BACKWARD);};
322 {this->SetIntegrationDirection(BOTH);};
331 vtkSetMacro(ComputeVorticity,
bool);
332 vtkGetMacro(ComputeVorticity,
bool);
340 vtkSetMacro(RotationScale,
double);
341 vtkGetMacro(RotationScale,
double);
359 void SetInterpolatorType(
int interpType );
370 typedef bool (*CustomTerminationCallbackType)(
void * clientdata,
373 int integrationDirection);
382 void AddCustomTerminationCallback(
383 CustomTerminationCallbackType callback,
void* clientdata,
int reasonForTermination);
395 { vtkErrorMacro( <<
"AddInput() must be called with a vtkDataSet not a vtkDataObject."); };
411 const char *vecFieldName,
414 double& integrationTime);
415 double SimpleIntegrate(
double seed[3],
421 void GenerateNormals(
vtkPolyData* output,
double* firstNormal,
const char *vecName);
426 double StartPosition[3];
444 void ConvertIntervals(
double& step,
double& minStep,
double& maxStep,
446 static double ConvertToLength(
double interval,
int unit,
double cellLength );
479 friend class PStreamTracerUtils;