waLBerla 7.2
Loading...
Searching...
No Matches
walberla::mesh::distance_octree::BranchNode< MeshType > Class Template Reference

#include <BranchNode.h>

+ Inheritance diagram for walberla::mesh::distance_octree::BranchNode< MeshType >:

Classes

struct  ChildInfo
 
struct  ChildInfoIntersects
 

Public Types

using Point = typename Node<MeshType>::Point
 
using Normal = typename Node<MeshType>::Normal
 
using Scalar = typename Node<MeshType>::Scalar
 
using FaceHandle = typename Node<MeshType>::FaceHandle
 
using AABB = typename Node<MeshType>::AABB
 
- Public Types inherited from walberla::mesh::distance_octree::Node< MeshType >
using Point = typename MeshType::Point
 
using Normal = typename MeshType::Normal
 
using Scalar = typename MeshType::Scalar
 
using FaceHandle = typename MeshType::FaceHandle
 
using AABB = typename math::GenericAABB<Scalar>
 

Public Member Functions

template<typename InputIterator >
 BranchNode (const shared_ptr< TriangleDistance< MeshType > > &triDistance, InputIterator beginFh, InputIterator endFh, uint_t maxDepth, uint_t minNumTriangles)
 
 ~BranchNode () override
 
Scalar sqSignedDistance (const Point &p) const override
 
Scalar sqSignedDistance (const Point &p, FaceHandle &closestTriangle) const override
 
Scalar sqSignedDistance (const Point &p, Point &closestPoint) const override
 
Scalar sqSignedDistance (const Point &p, Point &closestPoint, Normal &normal) const override
 
Scalar sqDistance (const Point &p) const override
 
Scalar sqDistance (const Point &p, FaceHandle &closestTriangle) const override
 
Scalar sqDistance (const Point &p, Point &closestPoint) const override
 
Scalar sqDistance (const Point &p, Point &closestPoint, Normal &normal) const override
 
Scalar getRayDistanceToMeshObject (const Point &ray_origin, const Point &normalised_ray_direction) const override
 
uint_t numTriangles () const override
 
void numTrianglesToStream (std::ostream &os, const uint_t level) const override
 
uint_t height () const override
 
uint_t numChildren () const override
 
const Node< MeshType > * getChild (const uint_t idx) const override
 
 BranchNode (const BranchNode &other)=delete
 
BranchNodeoperator= (const BranchNode &other)=delete
 
- Public Member Functions inherited from walberla::mesh::distance_octree::Node< MeshType >
template<typename InputIterator >
 Node (const MeshType &mesh, InputIterator beginFh, InputIterator endFh)
 
virtual ~Node ()=default
 
const AABBgetAABB () const
 
virtual Scalar sqSignedDistance (const Point &p, Point &closestPoint, Point &normal) const =0
 
virtual Scalar sqDistance (const Point &p, Point &closestPoint, Point &normal) const =0
 

Protected Attributes

std::array< const Node< MeshType > *, 8 > children_
 
- Protected Attributes inherited from walberla::mesh::distance_octree::Node< MeshType >
AABB aabb_
 

Member Typedef Documentation

◆ AABB

template<typename MeshType >
using walberla::mesh::distance_octree::BranchNode< MeshType >::AABB = typename Node<MeshType>::AABB

◆ FaceHandle

template<typename MeshType >
using walberla::mesh::distance_octree::BranchNode< MeshType >::FaceHandle = typename Node<MeshType>::FaceHandle

◆ Normal

template<typename MeshType >
using walberla::mesh::distance_octree::BranchNode< MeshType >::Normal = typename Node<MeshType>::Normal

◆ Point

template<typename MeshType >
using walberla::mesh::distance_octree::BranchNode< MeshType >::Point = typename Node<MeshType>::Point

◆ Scalar

template<typename MeshType >
using walberla::mesh::distance_octree::BranchNode< MeshType >::Scalar = typename Node<MeshType>::Scalar

Constructor & Destructor Documentation

◆ BranchNode() [1/2]

template<typename MeshType >
template<typename InputIterator >
walberla::mesh::distance_octree::BranchNode< MeshType >::BranchNode ( const shared_ptr< TriangleDistance< MeshType > > & triDistance,
InputIterator beginFh,
InputIterator endFh,
uint_t maxDepth,
uint_t minNumTriangles )

◆ ~BranchNode()

template<typename MeshType >
walberla::mesh::distance_octree::BranchNode< MeshType >::~BranchNode ( )
inlineoverride

◆ BranchNode() [2/2]

template<typename MeshType >
walberla::mesh::distance_octree::BranchNode< MeshType >::BranchNode ( const BranchNode< MeshType > & other)
delete

Member Function Documentation

◆ getChild()

template<typename MeshType >
const Node< MeshType > * walberla::mesh::distance_octree::BranchNode< MeshType >::getChild ( const uint_t idx) const
inlineoverridevirtual

◆ getRayDistanceToMeshObject()

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::getRayDistanceToMeshObject ( const Point & ray_origin,
const Point & normalised_ray_direction ) const
overridevirtual

◆ height()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::BranchNode< MeshType >::height ( ) const
inlineoverridevirtual

◆ numChildren()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::BranchNode< MeshType >::numChildren ( ) const
inlineoverridevirtual

◆ numTriangles()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::BranchNode< MeshType >::numTriangles ( ) const
inlineoverridevirtual

◆ numTrianglesToStream()

template<typename MeshType >
void walberla::mesh::distance_octree::BranchNode< MeshType >::numTrianglesToStream ( std::ostream & os,
const uint_t level ) const
overridevirtual

◆ operator=()

template<typename MeshType >
BranchNode & walberla::mesh::distance_octree::BranchNode< MeshType >::operator= ( const BranchNode< MeshType > & other)
delete

◆ sqDistance() [1/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqDistance ( const Point & p) const
overridevirtual

◆ sqDistance() [2/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqDistance ( const Point & p,
FaceHandle & closestTriangle ) const
overridevirtual

◆ sqDistance() [3/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqDistance ( const Point & p,
Point & closestPoint ) const
overridevirtual

◆ sqDistance() [4/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqDistance ( const Point & p,
Point & closestPoint,
Normal & normal ) const
override

◆ sqSignedDistance() [1/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqSignedDistance ( const Point & p) const
overridevirtual

◆ sqSignedDistance() [2/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqSignedDistance ( const Point & p,
FaceHandle & closestTriangle ) const
overridevirtual

◆ sqSignedDistance() [3/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqSignedDistance ( const Point & p,
Point & closestPoint ) const
overridevirtual

◆ sqSignedDistance() [4/4]

template<typename MeshType >
BranchNode< MeshType >::Scalar walberla::mesh::distance_octree::BranchNode< MeshType >::sqSignedDistance ( const Point & p,
Point & closestPoint,
Normal & normal ) const
override

Member Data Documentation

◆ children_

template<typename MeshType >
std::array<const Node<MeshType> *, 8> walberla::mesh::distance_octree::BranchNode< MeshType >::children_
protected

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