90 #ifndef vtkLagrangianParticleTracker_h 91 #define vtkLagrangianParticleTracker_h 93 #include "vtkFiltersFlowPathsModule.h" 122 STEP_LAST_CELL_LENGTH = 0,
123 STEP_CUR_CELL_LENGTH = 1,
124 STEP_LAST_CELL_VEL_DIR = 2,
125 STEP_CUR_CELL_VEL_DIR = 3,
126 STEP_LAST_CELL_DIV_THEO = 4,
127 STEP_CUR_CELL_DIV_THEO = 5
154 vtkSetMacro(GeneratePolyVertexInteractionOutput,
bool);
155 vtkGetMacro(GeneratePolyVertexInteractionOutput,
bool);
184 vtkSetMacro(CellLengthComputationMode,
int);
185 vtkGetMacro(CellLengthComputationMode,
int);
192 vtkSetMacro(StepFactor,
double);
193 vtkGetMacro(StepFactor,
double);
200 vtkSetMacro(StepFactorMin,
double);
201 vtkGetMacro(StepFactorMin,
double);
208 vtkSetMacro(StepFactorMax,
double);
209 vtkGetMacro(StepFactorMax,
double);
216 vtkSetMacro(MaximumNumberOfSteps,
int);
217 vtkGetMacro(MaximumNumberOfSteps,
int);
225 vtkSetMacro(MaximumIntegrationTime,
double);
226 vtkGetMacro(MaximumIntegrationTime,
double);
236 vtkSetMacro(AdaptiveStepReintegration,
bool);
237 vtkGetMacro(AdaptiveStepReintegration,
bool);
238 vtkBooleanMacro(AdaptiveStepReintegration,
bool);
248 vtkSetMacro(UseParticlePathsRenderingThreshold,
bool);
249 vtkGetMacro(UseParticlePathsRenderingThreshold,
bool);
250 vtkBooleanMacro(UseParticlePathsRenderingThreshold,
bool);
260 vtkSetMacro(ParticlePathsRenderingPointsThreshold,
int);
261 vtkGetMacro(ParticlePathsRenderingPointsThreshold,
int);
337 std::queue<vtkLagrangianParticle*>& particleQueue,
vtkPointData* seedData);
340 std::queue<vtkLagrangianParticle*>& particles,
vtkPointData* seedData);
343 vtkPointData* seedData,
int nVar, std::queue<vtkLagrangianParticle*>& particles);
344 virtual bool UpdateSurfaceCacheIfNeeded(
vtkDataObject*& surfaces);
357 virtual void InitializeParticleData(
vtkFieldData* particleData,
int maxTuples = 0);
361 virtual bool FinalizeOutputs(
vtkPolyData* particlePathsOutput,
364 static void InsertPolyVertexCell(
vtkPolyData* polydata);
365 static void InsertVertexCells(
vtkPolyData* polydata);
367 virtual void GetParticleFeed(std::queue<vtkLagrangianParticle*>& particleQueue);
378 unsigned int interactedSurfaceFlatIndex,
vtkDataObject* interactionOutput);
387 bool ComputeNextStep(
388 double* xprev,
double* xnext,
389 double t,
double& delT,
double& delTActual,
390 double minStep,
double maxStep,
391 int& integrationRes);
393 virtual bool CheckParticlePathsRenderingThreshold(
vtkPolyData* particlePathsOutput);
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkIdType ParticleCounter
int CellLengthComputationMode
vtkDataObject * SurfacesCache
vtkMTimeType SurfacesTime
represent and manipulate point attribute data
vtkTypeUInt32 vtkMTimeType
abstract class to specify dataset behavior
static vtkDataObjectAlgorithm * New()
vtkDataObject * FlowCache
vtkInitialValueProblemSolver * Integrator
concrete dataset represents vertices, lines, polygons, and triangle strips
double MinimumReductionFactor
bool AdaptiveStepReintegration
Proxy object to connect input/output ports.
dynamic, self-adjusting array of double
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
bool UseParticlePathsRenderingThreshold
int ParticlePathsRenderingPointsThreshold
a simple class to control print indentation
vtkBoundingBox FlowBoundsCache
vtkFunctionSet abstract implementation to be used in the vtkLagrangianParticleTracker integrator...
list of point or cell ids
bool GeneratePolyVertexInteractionOutput
abstract superclass for arrays of numeric data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
Basis class for Lagrangian particles.
double MaximumIntegrationTime
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Superclass for algorithms that produce only data object as output.
object to represent cell connectivity
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkLagrangianBasicIntegrationModel * IntegrationModel
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
general representation of visualization data
Filter to inject and track particles in a flow.
represent and manipulate 3D points
double MinimumVelocityMagnitude
Fast Simple Class for dealing with 3D bounds.
represent and manipulate fields of data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Integrate a set of ordinary differential equations (initial value problem) in time.