 |
VTK
9.0.1
|
Go to the documentation of this file.
29 #ifndef vtkLagrangianParticle_h
30 #define vtkLagrangianParticle_h
32 #include "vtkFiltersFlowPathsModule.h"
67 PARTICLE_TERMINATION_NOT_TERMINATED = 0,
73 PARTICLE_TERMINATION_OUT_OF_TIME
74 } ParticleTermination;
89 SURFACE_INTERACTION_NO_INTERACTION = 0,
94 SURFACE_INTERACTION_OTHER
108 int numberOfTrackedUserData);
116 vtkPointData* seedData,
int weightsSize,
int numberOfTrackedUserData,
117 vtkIdType numberOfSteps = 0,
double previousIntegrationTime = 0);
185 inline double*
GetPosition() {
return this->EquationVariables.data(); }
292 this->ThreadedData = threadedData;
302 virtual void MoveToNextPosition();
314 virtual void SetParentId(
vtkIdType parentId);
327 virtual int GetNumberOfVariables();
332 virtual int GetNumberOfUserVariables();
343 virtual vtkIdType GetSeedArrayTupleIndex()
const;
349 double* GetLastWeights();
359 double* GetLastCellPosition();
385 double lastCellPosition[3]);
403 virtual void SetTermination(
int termination);
404 virtual int GetTermination();
413 virtual void SetInteraction(
int interaction);
414 virtual int GetInteraction();
421 virtual void SetUserFlag(
int flag);
422 virtual int GetUserFlag();
431 virtual void SetPInsertPreviousPosition(
bool val);
432 virtual bool GetPInsertPreviousPosition();
441 virtual void SetPManualShift(
bool val);
442 virtual bool GetPManualShift();
448 virtual double& GetStepTimeRef();
453 virtual double GetIntegrationTime();
458 virtual double GetPrevIntegrationTime();
468 virtual void SetIntegrationTime(
double time);
473 double GetPositionVectorMagnitude();
478 virtual void PrintSelf(ostream& os,
vtkIndent indent);
513 double LastCellPosition[3];
double * GetNextEquationVariables()
Get a pointer to the particle variables array at its next position.
std::vector< double > & GetTrackedUserData()
Get a reference to TrackedUserData.
double PrevIntegrationTime
@ PARTICLE_TERMINATION_OUT_OF_STEPS
represent and manipulate point attribute data
double * GetNextUserVariables()
Get a pointer to the next user variables.
double * GetPrevPosition()
Get a pointer to the previous particle position.
@ PARTICLE_TERMINATION_FLIGHT_TERMINATED
double * GetEquationVariables()
Get a pointer to the particle variables array.
vtkIdType LastSurfaceCellId
@ PARTICLE_TERMINATION_OUT_OF_DOMAIN
std::vector< double > PrevTrackedUserData
std::vector< double > EquationVariables
std::vector< double > & GetPrevTrackedUserData()
Get a reference to PrevTrackedUserData See GetTrackedUserData for an explanation on how to use it.
double * GetPrevEquationVariables()
Get a pointer to Particle variables at its previous position See GetEquationVariables for content des...
std::vector< double > NextEquationVariables
double * GetNextPosition()
Get a pointer to the next particle position.
double * GetNextVelocity()
Get a pointer to the next particle velocity.
SurfaceInteraction
An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0,...
double * GetVelocity()
Get a pointer to the particle velocity.
double * GetPosition()
Get a pointer to the particle position.
std::vector< double > & GetNextTrackedUserData()
Get a reference to NextTrackedUserData See GetTrackedUserData for an explanation on how to use it.
double * PrevUserVariables
std::vector< double > TrackedUserData
std::vector< double > LastWeights
@ PARTICLE_TERMINATION_SURF_TERMINATED
a simple class to control print indentation
@ SURFACE_INTERACTION_BREAK
struct to hold a user data
@ PARTICLE_TERMINATION_SURF_BREAK
double * NextUserVariables
list of point or cell ids
std::vector< double > PrevEquationVariables
bool PInsertPreviousPosition
double * GetUserVariables()
Get a pointer to the user variables.
an abstract base class for locators which find cells
void SetThreadedData(vtkLagrangianThreadedData *threadedData)
@ SURFACE_INTERACTION_TERMINATED
Basis class for Lagrangian particles.
double * GetPrevUserVariables()
Get a pointer to the previous user variables.
vtkDataSet * LastSurfaceDataSet
abstract class to specify dataset behavior
vtkAbstractCellLocator * LastLocator
ParticleTermination
An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0,...
provides thread-safe access to cells
double * GetPrevVelocity()
Get a pointer to the previous particle velocity.
@ SURFACE_INTERACTION_PASS
vtkLagrangianThreadedData * GetThreadedData()
Get/Set a pointer to a vtkLagrangianThreadedData that is considered to be local to the thread.
std::vector< double > NextTrackedUserData
@ SURFACE_INTERACTION_BOUNCE
vtkIdType SeedArrayTupleIndex
Class to perform non planar quad intersection.