21template <
typename ParticleCell>
53 template <
typename PairwiseFunctor>
69 template <
typename PairwiseFunctor>
98 std::vector<OctreeNodeWrapper<ParticleType>> *
_cells;
This interface exists to provide a row interface for octree to add its cells.
Definition: OTTraversalInterface.h:22
std::vector< OctreeLeafNode< ParticleType > * > _ownedLeaves
A list of all leaves in the owned octree.
Definition: OTTraversalInterface.h:103
OctreeNodeWrapper< ParticleType > * getOwned()
Get the octree cell that contains the owned octree.
Definition: OTTraversalInterface.h:85
std::vector< OctreeLeafNode< ParticleType > * > _haloLeaves
A list of all leaves in the halo octree.
Definition: OTTraversalInterface.h:108
std::vector< OctreeNodeWrapper< ParticleType > > * _cells
A list containing two cells.
Definition: OTTraversalInterface.h:98
double _interactionLength
The interaction length is used for finding neighbors.
Definition: OTTraversalInterface.h:113
OTTraversalInterface(double interactionLength, DataLayoutOption dataLayout, bool useNewton3)
Create a new traversal interface, which provides functionality that is required by all octree travers...
Definition: OTTraversalInterface.h:36
void loadBuffers(utils::DataLayoutConverter< PairwiseFunctor > &dataLayoutConverter, OctreeNodeWrapper< ParticleType > *wrapper, std::vector< OctreeLeafNode< ParticleType > * > &leaves)
Gather all leaves and load the SoA/AoS buffers.
Definition: OTTraversalInterface.h:54
void setCells(std::vector< OctreeNodeWrapper< ParticleType > > *cells)
Notify the traversal about the cells that it is able to traverse.
Definition: OTTraversalInterface.h:43
OctreeNodeWrapper< ParticleType > * getHalo()
Get the octree cell that contains the halo octree.
Definition: OTTraversalInterface.h:92
void unloadBuffers(utils::DataLayoutConverter< PairwiseFunctor > &dataLayoutConverter, std::vector< OctreeLeafNode< ParticleType > * > &leaves)
Unload the SoA/AoS buffers and clear the gathered leaves list.
Definition: OTTraversalInterface.h:70
An octree leaf node.
Definition: OctreeLeafNode.h:27
This class wraps the functionality provided by the octree leaves and inner nodes in a structure that ...
Definition: OctreeNodeWrapper.h:37
void appendAllLeaves(std::vector< OctreeLeafNode< Particle_T > * > &leaves)
Append all leaves in the octree to a list.
Definition: OctreeNodeWrapper.h:81
Particle_T ParticleType
The particle type for this cell.
Definition: ParticleCell.h:56
This interface serves as a common parent class for all traversals.
Definition: TraversalInterface.h:18
This converts cells to the target data Layout using the given functor.
Definition: DataLayoutConverter.h:19
void loadDataLayout(ParticleCell &cell)
loads the target dataLayout in a cell
Definition: DataLayoutConverter.h:36
void storeDataLayout(ParticleCell &cell)
converts the dataLayout to aos
Definition: DataLayoutConverter.h:55
This is the main namespace of AutoPas.
Definition: AutoPasDecl.h:32