waLBerla 7.2
Loading...
Searching...
No Matches
walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT > Class Template Reference

#include <BranchNode.h>

+ Inheritance diagram for walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >:

Public Types

using DistanceObject = typename Node<ContainmentOctreeT>::DistanceObject
 
using Scalar = typename Node<ContainmentOctreeT>::Scalar
 
using Point = typename Node<ContainmentOctreeT>::Point
 
using AABB = typename Node<ContainmentOctreeT>::AABB
 
using KahanAccumulator = typename Node<ContainmentOctreeT>::KahanAccumulator
 
- Public Types inherited from walberla::geometry::containment_octree::Node< ContainmentOctreeT >
using Point = typename ContainmentOctreeT::Point
 
using Scalar = typename ContainmentOctreeT::Scalar
 
using AABB = typename ContainmentOctreeT::AABB
 
using DistanceObject = typename ContainmentOctreeT::DistanceObject
 
using KahanAccumulator = typename ContainmentOctreeT::KahanAccumulator
 

Public Member Functions

 BranchNode (const shared_ptr< const DistanceObject > &distanceObject, const AABB &aabb, const Scalar epsilon, const uint_t maxDepth, const Scalar minAABBVolume)
 
 ~BranchNode () override
 
bool contains (const Point &p) const override
 
uint_t height () const override
 
uint_t numNodes () const override
 
void numNodes (uint_t &numInside, uint_t &numOutside, uint_t &numIndeterminate, uint_t &numBranch) const override
 
void volumes (KahanAccumulator &insideVolume, KahanAccumulator &outsideVolume, KahanAccumulator &indeterminateVolume, Scalar volume) const override
 
uint_t numChildren () const override
 
const Pointcenter () const
 
const Node< ContainmentOctreeT > * getChild (const uint_t idx) const override
 
 BranchNode (const BranchNode &other)=delete
 
BranchNodeoperator= (const BranchNode &other)=delete
 
- Public Member Functions inherited from walberla::geometry::containment_octree::Node< ContainmentOctreeT >
virtual ~Node ()=default
 

Protected Attributes

std::array< const Node< ContainmentOctreeT > *, 8 > children_
 
Point center_
 

Additional Inherited Members

- Static Public Member Functions inherited from walberla::geometry::containment_octree::Node< ContainmentOctreeT >
static Point toPoint (const Vector3< real_t > &p)
 
static Vector3< real_tfromPoint (const Point &p)
 
static Scalar toScalar (const real_t &x)
 
static real_t fromScalar (const Scalar &x)
 

Member Typedef Documentation

◆ AABB

template<typename ContainmentOctreeT >
using walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::AABB = typename Node<ContainmentOctreeT>::AABB

◆ DistanceObject

template<typename ContainmentOctreeT >
using walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::DistanceObject = typename Node<ContainmentOctreeT>::DistanceObject

◆ KahanAccumulator

template<typename ContainmentOctreeT >
using walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::KahanAccumulator = typename Node<ContainmentOctreeT>::KahanAccumulator

◆ Point

template<typename ContainmentOctreeT >
using walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::Point = typename Node<ContainmentOctreeT>::Point

◆ Scalar

template<typename ContainmentOctreeT >
using walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::Scalar = typename Node<ContainmentOctreeT>::Scalar

Constructor & Destructor Documentation

◆ BranchNode() [1/2]

template<typename ContainmentOctreeT >
walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::BranchNode ( const shared_ptr< const DistanceObject > & distanceObject,
const AABB & aabb,
const Scalar epsilon,
const uint_t maxDepth,
const Scalar minAABBVolume )
inline

◆ ~BranchNode()

template<typename ContainmentOctreeT >
walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::~BranchNode ( )
inlineoverride

◆ BranchNode() [2/2]

template<typename ContainmentOctreeT >
walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::BranchNode ( const BranchNode< ContainmentOctreeT > & other)
delete

Member Function Documentation

◆ center()

template<typename ContainmentOctreeT >
const Point & walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::center ( ) const
inline

◆ contains()

template<typename ContainmentOctreeT >
bool walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::contains ( const Point & p) const
inlineoverridevirtual

◆ getChild()

template<typename ContainmentOctreeT >
const Node< ContainmentOctreeT > * walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::getChild ( const uint_t idx) const
inlineoverridevirtual

◆ height()

template<typename ContainmentOctreeT >
uint_t walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::height ( ) const
inlineoverridevirtual

◆ numChildren()

template<typename ContainmentOctreeT >
uint_t walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::numChildren ( ) const
inlineoverridevirtual

◆ numNodes() [1/2]

template<typename ContainmentOctreeT >
uint_t walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::numNodes ( ) const
inlineoverridevirtual

◆ numNodes() [2/2]

template<typename ContainmentOctreeT >
void walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::numNodes ( uint_t & numInside,
uint_t & numOutside,
uint_t & numIndeterminate,
uint_t & numBranch ) const
inlineoverridevirtual

◆ operator=()

template<typename ContainmentOctreeT >
BranchNode & walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::operator= ( const BranchNode< ContainmentOctreeT > & other)
delete

◆ volumes()

template<typename ContainmentOctreeT >
void walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::volumes ( KahanAccumulator & insideVolume,
KahanAccumulator & outsideVolume,
KahanAccumulator & indeterminateVolume,
Scalar volume ) const
overridevirtual

Member Data Documentation

◆ center_

template<typename ContainmentOctreeT >
Point walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::center_
protected

◆ children_

template<typename ContainmentOctreeT >
std::array< const Node<ContainmentOctreeT> *, 8 > walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::children_
protected

The documentation for this class was generated from the following file: