87 #ifndef vtkLagrangianParticleTracker_h
88 #define vtkLagrangianParticleTracker_h
90 #include "vtkFiltersFlowPathsModule.h"
119 STEP_LAST_CELL_LENGTH = 0,
120 STEP_CUR_CELL_LENGTH = 1,
121 STEP_LAST_CELL_VEL_DIR = 2,
122 STEP_CUR_CELL_VEL_DIR = 3,
123 STEP_LAST_CELL_DIV_THEO = 4,
124 STEP_CUR_CELL_DIV_THEO = 5
125 } CellLengthComputation;
151 vtkSetMacro(GeneratePolyVertexInteractionOutput,
bool);
152 vtkGetMacro(GeneratePolyVertexInteractionOutput,
bool);
181 vtkSetMacro(CellLengthComputationMode,
int);
182 vtkGetMacro(CellLengthComputationMode,
int);
189 vtkSetMacro(StepFactor,
double);
190 vtkGetMacro(StepFactor,
double);
197 vtkSetMacro(StepFactorMin,
double);
198 vtkGetMacro(StepFactorMin,
double);
205 vtkSetMacro(StepFactorMax,
double);
206 vtkGetMacro(StepFactorMax,
double);
213 vtkSetMacro(MaximumNumberOfSteps,
int);
214 vtkGetMacro(MaximumNumberOfSteps,
int);
222 vtkSetMacro(MaximumIntegrationTime,
double);
223 vtkGetMacro(MaximumIntegrationTime,
double);
233 vtkSetMacro(AdaptiveStepReintegration,
bool);
234 vtkGetMacro(AdaptiveStepReintegration,
bool);
235 vtkBooleanMacro(AdaptiveStepReintegration,
bool);
245 vtkSetMacro(UseParticlePathsRenderingThreshold,
bool);
246 vtkGetMacro(UseParticlePathsRenderingThreshold,
bool);
247 vtkBooleanMacro(UseParticlePathsRenderingThreshold,
bool);
257 vtkSetMacro(ParticlePathsRenderingPointsThreshold,
int);
258 vtkGetMacro(ParticlePathsRenderingPointsThreshold,
int);
334 std::queue<vtkLagrangianParticle*>& particleQueue,
vtkPointData* seedData);
337 std::queue<vtkLagrangianParticle*>& particles,
vtkPointData* seedData);
340 vtkPointData* seedData,
int nVar, std::queue<vtkLagrangianParticle*>& particles);
341 virtual bool UpdateSurfaceCacheIfNeeded(
vtkDataObject*& surfaces);
354 virtual void InitializeParticleData(
vtkFieldData* particleData,
int maxTuples = 0);
358 virtual bool FinalizeOutputs(
vtkPolyData* particlePathsOutput,
361 static void InsertPolyVertexCell(
vtkPolyData* polydata);
362 static void InsertVertexCells(
vtkPolyData* polydata);
364 virtual void GetParticleFeed(std::queue<vtkLagrangianParticle*>& particleQueue);
375 unsigned int interactedSurfaceFlatIndex,
vtkDataObject* interactionOutput);
384 bool ComputeNextStep(
385 double* xprev,
double* xnext,
386 double t,
double& delT,
double& delTActual,
387 double minStep,
double maxStep,
388 int& integrationRes);
390 virtual bool CheckParticlePathsRenderingThreshold(
vtkPolyData* particlePathsOutput);