Go to the documentation of this file.
32 #ifndef vtkLagrangianParticle_h
33 #define vtkLagrangianParticle_h
35 #include "vtkFiltersFlowPathsModule.h"
63 PARTICLE_TERMINATION_NOT_TERMINATED = 0,
69 PARTICLE_TERMINATION_OUT_OF_TIME
70 } ParticleTermination;
83 SURFACE_INTERACTION_NO_INTERACTION = 0,
88 SURFACE_INTERACTION_OTHER
136 return this->PrevEquationVariables;
155 return this->EquationVariables;
167 return this->NextEquationVariables;
179 return this->PrevEquationVariables;
191 return this->EquationVariables;
203 return this->NextEquationVariables;
215 return this->PrevVelocity;
227 return this->Velocity;
239 return this->NextVelocity;
251 return this->PrevUserVariables;
263 return this->UserVariables;
275 return this->NextUserVariables;
double * GetNextEquationVariables()
Get a pointer to the particle variables array at its next position.
virtual void SetPManualShift(bool val)
Set/Get parallel specific flag, indication that the particle may be manually shifted after streaming.
void operator=(const vtkLagrangianParticle &)
double * PrevEquationVariables
virtual vtkIdType GetSeedId()
Get the particle original seed index in the seed dataset.
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
vtkLagrangianParticle(const vtkLagrangianParticle &)
virtual vtkIdType GetSeedArrayTupleIndex()
Get the particle data tuple in a seed array.
virtual int GetTermination()
virtual void SetParentId(vtkIdType parentId)
Set/Get parent particle id.
double * GetEquationVariables()
Get a pointer to the particle variables array.
vtkIdType LastSurfaceCellId
double * EquationVariables
virtual double GetIntegrationTime()
Get the integration time.
@ PARTICLE_TERMINATION_OUT_OF_DOMAIN
vtkIdType GetLastSurfaceCellId()
Get the last intersected surface cell id.
virtual vtkIdType GetNumberOfSteps()
Get particle current number of steps.
double * GetPrevEquationVariables()
Get a pointer to Particle variables at its previous position See GetEquationVariables for content des...
virtual void MoveToNextPosition()
Move the particle to its next position by putting next equation variable to equation variable and cle...
virtual int GetNumberOfVariables()
Get the number of variables used to initialize EquationVariables.
double * GetNextPosition()
Get a pointer to the next particle position.
double * GetNextVelocity()
Get a pointer to the next particle velocity.
vtkLagrangianParticle * NewParticle(vtkIdType particleId)
method to create a particle from a parent particle.
virtual void SetTermination(int termination)
Set/Get particle termination.
double GetPositionVectorMagnitude()
Compute and return the position vector magnitude.
virtual void SetIntegrationTime(double time)
Convenience setter for integration time, do not use unless manual particle shifting One using this me...
void SetLastSurfaceCell(vtkDataSet *dataset, vtkIdType cellId)
Set the last surface dataset and last surface cell id.
SurfaceInteraction
An enum to inform about a surface interaction SURFACE_INTERACTION_NO_INTERACTION = 0,...
virtual vtkIdType GetId()
Get particle id.
double * GetVelocity()
Get a pointer to the particle velocity.
double * GetPosition()
Get a pointer to the particle position.
vtkLagrangianParticle * NewInstance(int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData)
Constructor wrapper for internal convenience.
double * PrevUserVariables
virtual int GetNumberOfUserVariables()
Get the number of variables specific to the user.
virtual ~vtkLagrangianParticle()
Destructor.
@ PARTICLE_TERMINATION_SURF_TERMINATED
virtual bool GetPManualShift()
a simple class to control print indentation
@ SURFACE_INTERACTION_BREAK
virtual vtkIdType GetParentId()
@ PARTICLE_TERMINATION_SURF_BREAK
vtkLagrangianParticle * CloneParticle()
method to create an exact clone of a particle.
double * NextUserVariables
virtual void SetPInsertPreviousPosition(bool val)
Set/Get parallel specific flag, indication to insert or not the previous position after streaming.
virtual void SetUserFlag(int flag)
Set/Get user flag.
bool PInsertPreviousPosition
double * GetUserVariables()
Get a pointer to the user variables.
vtkDataSet * GetLastDataSet()
Get the dataset containing the last traversed cell.
@ 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
virtual void PrintSelf(ostream &os, vtkIndent indent)
Print information about the particle.
virtual int GetUserFlag()
virtual bool GetPInsertPreviousPosition()
double * NextEquationVariables
virtual void SetInteraction(int interaction)
Set/Get particle interaction.
vtkLagrangianParticle(int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData)
Constructor to create a particle from a seed.
vtkDataSet * GetLastSurfaceDataSet()
Get the dataset containing the last intersected surface cell.
ParticleTermination
An enum to inform about a reason for termination PARTICLE_TERMINATION_NOT_TERMINATED = 0,...
double * GetPrevVelocity()
Get a pointer to the previous particle velocity.
@ SURFACE_INTERACTION_PASS
virtual double GetPrevIntegrationTime()
Get the integration time at previous position.
virtual int GetInteraction()
virtual double & GetStepTimeRef()
Get reference to step time of this particle.
void SetLastCell(vtkDataSet *dataset, vtkIdType cellId)
Set the last dataset and last cell id.
static vtkLagrangianParticle * NewInstance(int numberOfVariables, vtkIdType seedId, vtkIdType particleId, vtkIdType seedArrayTupleIndex, double integrationTime, vtkPointData *seedData, vtkIdType numberOfSteps, double previousIntegrationTime)
Constructor wrapper to create a partially integrated particle in the domain.
virtual vtkPointData * GetSeedData()
Get the particle data.
@ SURFACE_INTERACTION_BOUNCE
vtkIdType SeedArrayTupleIndex
vtkIdType GetLastCellId()
Get the last traversed cell id.