walberla::mesh::distance_octree::BranchNode< MeshType > Class Template Reference

#include <BranchNode.h>

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

Classes

struct  ChildInfo
 

Public Types

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

Public Member Functions

template<typename InputIterator >
 BranchNode (const shared_ptr< TriangleDistance< MeshType > > &triDistance, InputIterator beginFh, InputIterator endFh, uint_t maxDepth, uint_t minNumTriangles)
 
virtual ~BranchNode ()
 
virtual Scalar sqSignedDistance (const Point &p) const
 
virtual Scalar sqSignedDistance (const Point &p, FaceHandle &closestTriangle) const
 
virtual Scalar sqSignedDistance (const Point &p, Point &closestPoint) const
 
virtual Scalar sqSignedDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
virtual Scalar sqDistance (const Point &p) const
 
virtual Scalar sqDistance (const Point &p, FaceHandle &closestTriangle) const
 
virtual Scalar sqDistance (const Point &p, Point &closestPoint) const
 
virtual Scalar sqDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
uint_t numTriangles () const
 
void numTrianglesToStream (std::ostream &os, const uint_t level) const
 
virtual uint_t height () const
 
virtual uint_t numChildren () const
 
virtual const Node< MeshType > * getChild (const uint_t idx) const
 
- Public Member Functions inherited from walberla::mesh::distance_octree::Node< MeshType >
template<typename InputIterator >
 Node (const MeshType &mesh, InputIterator beginFh, InputIterator endFh)
 
virtual ~Node ()
 
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

const Node< MeshType > * children_ [8]
 
- Protected Attributes inherited from walberla::mesh::distance_octree::Node< MeshType >
AABB aabb_
 

Private Member Functions

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

Member Typedef Documentation

◆ AABB

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

◆ FaceHandle

◆ Normal

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

◆ Point

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

◆ Scalar

template<typename MeshType >
typedef Node<MeshType>::Scalar walberla::mesh::distance_octree::BranchNode< 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 >
virtual walberla::mesh::distance_octree::BranchNode< MeshType >::~BranchNode ( )
inlinevirtual

◆ BranchNode() [2/2]

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

Member Function Documentation

◆ getChild()

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

◆ height()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::BranchNode< MeshType >::height
inlinevirtual

◆ numChildren()

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

◆ numTriangles()

template<typename MeshType >
uint_t walberla::mesh::distance_octree::BranchNode< MeshType >::numTriangles
inlinevirtual

◆ numTrianglesToStream()

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

◆ operator=()

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

◆ sqDistance() [1/4]

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

◆ sqDistance() [2/4]

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

◆ sqDistance() [3/4]

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

◆ sqDistance() [4/4]

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

◆ sqSignedDistance() [1/4]

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

◆ sqSignedDistance() [2/4]

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

◆ sqSignedDistance() [3/4]

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

◆ sqSignedDistance() [4/4]

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

Member Data Documentation

◆ children_

template<typename MeshType >
const Node<MeshType>* walberla::mesh::distance_octree::BranchNode< MeshType >::children_[8]
protected

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