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

#include <LeafNode.h>

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

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

 LeafNode (const shared_ptr< TriangleDistance< MeshType > > &triDistance, const std::vector< FaceHandle > &triangles)
 
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) const override
 
- 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::vector< FaceHandletriangles_
 
shared_ptr< TriangleDistance< MeshType > > triDistance_
 
- Protected Attributes inherited from walberla::mesh::distance_octree::Node< MeshType >
AABB aabb_
 

Member Typedef Documentation

◆ AABB

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

◆ FaceHandle

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

◆ Normal

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

◆ Point

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

◆ Scalar

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

Constructor & Destructor Documentation

◆ LeafNode()

template<typename MeshType >
walberla::mesh::distance_octree::LeafNode< MeshType >::LeafNode ( const shared_ptr< TriangleDistance< MeshType > > & triDistance,
const std::vector< FaceHandle > & triangles )
inline

Member Function Documentation

◆ getChild()

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

◆ getRayDistanceToMeshObject()

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

◆ height()

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

◆ numChildren()

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

◆ numTriangles()

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

◆ numTrianglesToStream()

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

◆ sqDistance() [1/4]

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

◆ sqDistance() [2/4]

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

◆ sqDistance() [3/4]

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

◆ sqDistance() [4/4]

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

◆ sqSignedDistance() [1/4]

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

◆ sqSignedDistance() [2/4]

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

◆ sqSignedDistance() [3/4]

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

◆ sqSignedDistance() [4/4]

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

Member Data Documentation

◆ triangles_

template<typename MeshType >
std::vector<FaceHandle> walberla::mesh::distance_octree::LeafNode< MeshType >::triangles_
protected

◆ triDistance_

template<typename MeshType >
shared_ptr< TriangleDistance<MeshType> > walberla::mesh::distance_octree::LeafNode< MeshType >::triDistance_
protected

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