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)
 
virtual ~BranchNode ()
 
virtual bool contains (const Point &p) const
 
virtual uint_t height () const
 
virtual uint_t numNodes () const
 
virtual void numNodes (uint_t &numInside, uint_t &numOutside, uint_t &numIndeterminate, uint_t &numBranch) const
 
virtual void volumes (KahanAccumulator &insideVolume, KahanAccumulator &outsideVolume, KahanAccumulator &indeterminateVolume, Scalar volume) const
 
virtual uint_t numChildren () const
 
const Pointcenter () const
 
virtual const Node< ContainmentOctreeT > * getChild (const uint_t idx) const
 
- Public Member Functions inherited from walberla::geometry::containment_octree::Node< ContainmentOctreeT >
virtual ~Node ()=default
 
virtual bool contains (const Point &p) const =0
 
virtual void volumes (KahanAccumulator &insideVolume, KahanAccumulator &outsideVolume, KahanAccumulator &indeterminateVolume, Scalar volume) const =0
 

Protected Attributes

const Node< ContainmentOctreeT > * children_ [8]
 
Point center_
 

Private Member Functions

 BranchNode (const BranchNode &other)
 
BranchNodeoperator= (const BranchNode &other)
 

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 >
virtual walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::~BranchNode ( )
inlinevirtual

◆ BranchNode() [2/2]

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

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
inlinevirtual

◆ getChild()

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

◆ height()

template<typename ContainmentOctreeT >
uint_t walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::height
inlinevirtual

◆ numChildren()

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

◆ numNodes() [1/2]

template<typename ContainmentOctreeT >
uint_t walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::numNodes
inlinevirtual

◆ 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
inlinevirtual

◆ operator=()

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

◆ volumes()

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

Member Data Documentation

◆ center_

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

◆ children_

template<typename ContainmentOctreeT >
const Node<ContainmentOctreeT>* walberla::geometry::containment_octree::BranchNode< ContainmentOctreeT >::children_[8]
protected

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