This interface serves as a common parent class for all traversals. More...
#include <TraversalInterface.h>
Public Member Functions | |
virtual | ~TraversalInterface ()=default |
Destructor of TraversalInterface. | |
TraversalInterface (DataLayoutOption dataLayout, bool useNewton3) | |
Constructor of the TraversalInterface. | |
virtual TraversalOption | getTraversalType () const =0 |
Return a enum representing the name of the traversal class. | |
virtual bool | isApplicable () const =0 |
Checks if the traversal is applicable to the current state of the domain. | |
virtual void | initTraversal ()=0 |
Initializes the traversal. | |
virtual void | traverseParticles ()=0 |
Traverse the particles by pairs, triplets etc. | |
virtual void | endTraversal ()=0 |
Finalizes the traversal. | |
bool | getUseNewton3 () const |
Return whether the traversal uses newton 3. | |
DataLayoutOption | getDataLayout () const |
Return the data layout option. | |
Protected Attributes | |
DataLayoutOption | _dataLayout |
The datalayout used by this traversal. | |
bool | _useNewton3 |
If this traversal makes use of newton3. | |
This interface serves as a common parent class for all traversals.
|
inline |
Constructor of the TraversalInterface.
dataLayout | The data layout with which this traversal should be initialized. |
useNewton3 | Parameter to specify whether the traversal makes use of newton3 or not. |
|
pure virtual |
Finalizes the traversal.
Should be called after traverse().
Implemented in autopas::ColorBasedTraversal< ParticleCell, Functor, collapseDepth >, autopas::ColorBasedTraversal< ParticleCell, Functor, 3 >, autopas::ColorBasedTraversal< ParticleCell, Functor, collapseDepth >, autopas::ColorBasedTraversal< ParticleCell, PairwiseFunctor, collapseDepth >, autopas::ColorBasedTraversal< ParticleCell, PairwiseFunctor >, autopas::SlicedBasedTraversal< ParticleCell, Functor >, autopas::SlicedBasedTraversal< ParticleCell, PairwiseFunctor >, autopas::DSSequentialTraversal< ParticleCell, Functor >, autopas::OTC01Traversal< Particle_T, PairwiseFunctor >, autopas::OTC18Traversal< Particle_T, PairwiseFunctor >, autopas::VCLC01BalancedTraversal< Particle_T, PairwiseFunctor >, autopas::VCLC06Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLClusterIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >, and autopas::VLListIterationTraversal< ParticleCell, PairwiseFunctor >.
|
inline |
Return the data layout option.
|
pure virtual |
Return a enum representing the name of the traversal class.
Implemented in autopas::DSSequentialTraversal< ParticleCell, Functor >, autopas::LCC01Traversal< ParticleCell, Functor, combineSoA >, autopas::LCC04CombinedSoATraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04HCPTraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC08Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC18Traversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::OTC01Traversal< Particle_T, PairwiseFunctor >, autopas::OTC18Traversal< Particle_T, PairwiseFunctor >, autopas::VCLC01BalancedTraversal< Particle_T, PairwiseFunctor >, autopas::VCLC06Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLClusterIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >, autopas::VLListIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VLCC01Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC08Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC18Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCCellPairC08Traversal< ParticleCell, PairwiseFunctor >, autopas::VLCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCSlicedC02Traversal< ParticleCell, PairwiseFunctor, NeighborList >, and autopas::VLCSlicedTraversal< ParticleCell, PairwiseFunctor, NeighborList >.
|
inline |
Return whether the traversal uses newton 3.
|
pure virtual |
Initializes the traversal.
Should be called before traverse().
Implemented in autopas::ColorBasedTraversal< ParticleCell, Functor, collapseDepth >, autopas::ColorBasedTraversal< ParticleCell, Functor, 3 >, autopas::ColorBasedTraversal< ParticleCell, Functor, collapseDepth >, autopas::ColorBasedTraversal< ParticleCell, PairwiseFunctor, collapseDepth >, autopas::ColorBasedTraversal< ParticleCell, PairwiseFunctor >, autopas::SlicedBasedTraversal< ParticleCell, Functor >, autopas::SlicedBasedTraversal< ParticleCell, PairwiseFunctor >, autopas::SlicedC02BasedTraversal< ParticleCell, Functor >, autopas::SlicedC02BasedTraversal< ParticleCell, PairwiseFunctor >, autopas::DSSequentialTraversal< ParticleCell, Functor >, autopas::OTC01Traversal< Particle_T, PairwiseFunctor >, autopas::OTC18Traversal< Particle_T, PairwiseFunctor >, autopas::VCLC01BalancedTraversal< Particle_T, PairwiseFunctor >, autopas::VCLC06Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLClusterIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >, and autopas::VLListIterationTraversal< ParticleCell, PairwiseFunctor >.
|
pure virtual |
Checks if the traversal is applicable to the current state of the domain.
Implemented in autopas::SlicedBasedTraversal< ParticleCell, Functor >, autopas::SlicedBasedTraversal< ParticleCell, PairwiseFunctor >, autopas::SlicedC02BasedTraversal< ParticleCell, Functor >, autopas::SlicedC02BasedTraversal< ParticleCell, PairwiseFunctor >, autopas::DSSequentialTraversal< ParticleCell, Functor >, autopas::LCC01Traversal< ParticleCell, Functor, combineSoA >, autopas::LCC04CombinedSoATraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04HCPTraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC08Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC18Traversal< ParticleCell, PairwiseFunctor >, autopas::OTC01Traversal< Particle_T, PairwiseFunctor >, autopas::OTC18Traversal< Particle_T, PairwiseFunctor >, autopas::VCLC01BalancedTraversal< Particle_T, PairwiseFunctor >, autopas::VCLC06Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLClusterIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >, autopas::VLListIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VLCC01Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC08Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC18Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCCellPairC08Traversal< ParticleCell, PairwiseFunctor >, autopas::VLCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCSlicedC02Traversal< ParticleCell, PairwiseFunctor, NeighborList >, and autopas::VLCSlicedTraversal< ParticleCell, PairwiseFunctor, NeighborList >.
|
pure virtual |
Traverse the particles by pairs, triplets etc.
as determined by the Functor type.
Implemented in autopas::DSSequentialTraversal< ParticleCell, Functor >, autopas::LCC01Traversal< ParticleCell, Functor, combineSoA >, autopas::LCC04CombinedSoATraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04HCPTraversal< ParticleCell, PairwiseFunctor >, autopas::LCC04Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC08Traversal< ParticleCell, PairwiseFunctor >, autopas::LCC18Traversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::LCSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::OTC01Traversal< Particle_T, PairwiseFunctor >, autopas::OTC18Traversal< Particle_T, PairwiseFunctor >, autopas::VCLC01BalancedTraversal< Particle_T, PairwiseFunctor >, autopas::VCLC06Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLClusterIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedBalancedTraversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedC02Traversal< ParticleCell, PairwiseFunctor >, autopas::VCLSlicedTraversal< ParticleCell, PairwiseFunctor >, autopas::VVLAsBuildTraversal< ParticleCell, Particle_T, PairwiseFunctor >, autopas::VLListIterationTraversal< ParticleCell, PairwiseFunctor >, autopas::VLCC01Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC08Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCC18Traversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCCellPairC08Traversal< ParticleCell, PairwiseFunctor >, autopas::VLCSlicedBalancedTraversal< ParticleCell, PairwiseFunctor, NeighborList >, autopas::VLCSlicedC02Traversal< ParticleCell, PairwiseFunctor, NeighborList >, and autopas::VLCSlicedTraversal< ParticleCell, PairwiseFunctor, NeighborList >.