|
chombo-discharge
|
Node in a particle-merging KD-tree. More...
#include <CD_KDNode.H>
Public Types | |
| using | ParticleList = std::vector< P > |
| List of particles. This is aliased because the KD-tree construction may require both random access and something sortable. | |
Public Member Functions | |
| KDNode (const KDNode &)=delete | |
| Disallowed constructor. | |
| KDNode (const KDNode &&)=delete | |
| Disallowed constructor. | |
| KDNode & | operator= (const KDNode &)=delete |
| Disallowed assignment. | |
| KDNode & | operator= (const KDNode &&)=delete |
| Disallowed assignment. | |
| KDNode () | |
| Default constructor. | |
| KDNode (ParticleList &a_particles) | |
| Valid constructor. Takes list of particles. | |
| virtual | ~KDNode () |
| Destructor. Does nothing. | |
| const Real & | weight () const noexcept |
| Get the node weight. | |
| Real & | weight () noexcept |
| Get the node weight. | |
| const ParticleList & | getParticles () const noexcept |
| Get particles in this node. | |
| ParticleList & | getParticles () noexcept |
| Get particles in this node. | |
| bool | isLeafNode () const noexcept |
| Is leaf node or not. | |
| bool | isInteriorNode () const noexcept |
| Is leaf node or not. | |
| ParticleList | gatherParticles () const noexcept |
| Gather particles further down in the subtree and return all particles (in the leaf nodes) | |
| ParticleList | moveParticles () noexcept |
| Move the particles list further down in the subtree into this vector. | |
| std::shared_ptr< KDNode< P > > & | getLeft () noexcept |
| Get the left node. | |
| std::shared_ptr< KDNode< P > > & | getRight () noexcept |
| Get the right node. | |
Protected Member Functions | |
| void | gatherParticles (ParticleList &a_particles) const noexcept |
| Gather particles further down in the subtree and return all particles (in the leaf nodes) | |
| void | moveParticles (ParticleList &a_particles) noexcept |
| Move particles further down in the subtree and return all particles (in the leaf nodes) | |
Protected Attributes | |
| std::shared_ptr< KDNode > | m_left |
| Left KD-node. | |
| std::shared_ptr< KDNode > | m_right |
| Right KD-node. | |
| Real | m_weight |
| Node weight. | |
| ParticleList | m_particles |
| List of particles. | |
Node in a particle-merging KD-tree.
This node type is used for partitioning particles into spatial subsets and merging/splitting them.
The template argument P is the particle type - the users decides how to merge/split/partition.
Valid constructor. Takes list of particles.
| [in,out] | a_particles | List of particles to be partitioned later. |
Gather particles further down in the subtree and return all particles (in the leaf nodes)
|
inlineprotectednoexcept |
Gather particles further down in the subtree and return all particles (in the leaf nodes)
| [in,out] | a_particles | List of particles |
Get the left node.
Get particles in this node.
Get particles in this node.
Get the right node.
Is leaf node or not.
Is leaf node or not.
Move the particles list further down in the subtree into this vector.
|
inlineprotectednoexcept |
Move particles further down in the subtree and return all particles (in the leaf nodes)
| [in,out] | a_particles | List of particles |
Get the node weight.
Get the node weight.