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

Detailed Description

template<typename MeshType>
class walberla::mesh::TriangleDistance< MeshType >

Adds information required to compute signed distances from a point to a triangle.

The class adds vertex, edge and face normals to mesh. The normals are calculated according to [Baerentzen2005] to allow for a numerically stable sign computation. To compute the point<->triangle distance, we use the rotation method described in [Jones1995]. Some data is precomputed to allow for faster computations and is stored at each face in an object of class DistanceProperties. The numbering of vertices, edges and voronoi regions in the rotated triangles are shown here:

A rotated triangle in the planar coordinate system. The vertex numbering is shown in red, the edge numbering in blue and the numbering of the voronoi regions in green.

The class offers multiple methods to get the distance/signed squared distance from a point to a single triangle or the whole mesh. Please note that the distance computation for whole meshes is rather inefficient. Instead you should an object of this class into a mesh::DistanceOctree reduce the computational complexity from \(\mathcal O(n)\) to \(\mathcal O(\log n)\), where \(\mathcal O(n)\) where \(n\) is the number triangles.

Additionally to the signed squared distance you can also retrieve the closest point on the triangle or mesh to your point of inquiry. You may also retrieve the corresponding normal and the closest voronoi region.

Template Parameters
MeshTypeThe type of the mesh, e.g., mesh::TriangleMesh.
Parameters
meshA pointer to the mesh object being queried.

#include <DistanceComputations.h>

Public Types

using Scalar = typename MeshType::Scalar
 
using Point = typename MeshType::Point
 
using Normal = typename MeshType::Normal
 
using FaceHandle = typename MeshType::FaceHandle
 
using Vec3 = math::Vector3<Scalar>
 
using BoundingBox = math::GenericAABB<Scalar>
 

Public Member Functions

 TriangleDistance (const shared_ptr< MeshType > &mesh)
 
Scalar sqDistance (const FaceHandle fh, const Point &p) const
 
Scalar sqSignedDistance (const FaceHandle fh, const Point &p) const
 
Scalar distance (const FaceHandle fh, const Point &p) const
 
Scalar signedDistance (const FaceHandle fh, const Point &p) const
 
Scalar sqDistance (const FaceHandle fh, const Point &p, Point &closestPoint) const
 
Scalar sqSignedDistance (const FaceHandle fh, const Point &p, Point &closestPoint) const
 
Scalar distance (const FaceHandle fh, const Point &p, Point &closestPoint) const
 
Scalar signedDistance (const FaceHandle fh, const Point &p, Point &closestPoint) const
 
Scalar sqDistance (const FaceHandle fh, const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar sqSignedDistance (const FaceHandle fh, const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar distance (const FaceHandle fh, const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar signedDistance (const FaceHandle fh, const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar sqDistance (const Point &p) const
 
Scalar sqSignedDistance (const Point &p) const
 
Scalar distance (const Point &p) const
 
Scalar signedDistance (const Point &p) const
 
Scalar sqDistance (const Point &p, FaceHandle &closestTriangle) const
 
Scalar sqSignedDistance (const Point &p, FaceHandle &closestTriangle) const
 
Scalar distance (const Point &p, FaceHandle &closestTriangle) const
 
Scalar signedDistance (const Point &p, FaceHandle &closestTriangle) const
 
Scalar sqDistance (const Point &p, Point &closestPoint) const
 
Scalar sqSignedDistance (const Point &p, Point &closestPoint) const
 
Scalar distance (const Point &p, Point &closestPoint) const
 
Scalar signedDistance (const Point &p, Point &closestPoint) const
 
Scalar sqDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar sqSignedDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar distance (const Point &p, Point &closestPoint, Normal &normal) const
 
Scalar signedDistance (const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
Scalar getRayDistanceToMeshObject (InputIterator fhBegin, InputIterator fhEnd, const Point &ray_origin, const Point &normalised_ray_direction) const
 
template<typename InputIterator >
Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator , typename OutputIterator >
void filterTrianglesForAABB (const BoundingBox &aabb, const InputIterator fhInBegin, const InputIterator fhInEnd, OutputIterator fhOutBegin) const
 
const MeshType & getMesh () const
 
shared_ptr< MeshType > getMeshPtr ()
 
const BoundingBoxgetAabb (FaceHandle fh) const
 
void triangleToStream (const FaceHandle fh, std::ostream &os) const
 
template<typename InputIterator >
MeshType::Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, int &region, Point &closestPoint, FaceHandle &fh) const
 
template<typename InputIterator >
MeshType::Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
MeshType::Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
MeshType::Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
MeshType::Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p) const
 
template<typename InputIterator >
MeshType::Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
MeshType::Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
MeshType::Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
MeshType::Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, FaceHandle &closestTriangle) const
 
template<typename InputIterator >
MeshType::Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
MeshType::Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
MeshType::Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
MeshType::Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint) const
 
template<typename InputIterator >
MeshType::Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
MeshType::Scalar sqSignedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
MeshType::Scalar distance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
MeshType::Scalar signedDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, Point &closestPoint, Normal &normal) const
 
template<typename InputIterator >
MeshType::Scalar getRayDistanceToMeshObject (InputIterator fhBegin, InputIterator fhEnd, const Point &ray_origin, const Point &normalised_ray_direction) const
 

Protected Types

using DistancePropertyHandle = typename OpenMesh::FPropHandleT<DistanceProperties<MeshType>>
 

Protected Member Functions

void computeNormals ()
 
void computeDistanceProperties ()
 
Scalar sqDistance (const FaceHandle fh, const Point &p, int &region, Point &closestPoint) const
 
template<typename InputIterator >
Scalar sqDistance (InputIterator fhBegin, InputIterator fhEnd, const Point &p, int &region, Point &closestPoint, FaceHandle &fh) const
 
Scalar toSignedDistance (const Scalar &d, const FaceHandle fh, const Point &p, const int region, Point &closestPoint) const
 
Scalar toSignedDistance (const Scalar &d, const Point &p, Point &closestPoint, const Normal &normal) const
 
const NormalgetNormal (const FaceHandle fh, const int region) const
 

Protected Attributes

shared_ptr< MeshType > mesh_
 
OpenMesh::PropertyManager< DistancePropertyHandle, MeshType > distanceProperties_
 

Member Typedef Documentation

◆ BoundingBox

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::BoundingBox = math::GenericAABB<Scalar>

◆ DistancePropertyHandle

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::DistancePropertyHandle = typename OpenMesh::FPropHandleT<DistanceProperties<MeshType>>
protected

◆ FaceHandle

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::FaceHandle = typename MeshType::FaceHandle

◆ Normal

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::Normal = typename MeshType::Normal

◆ Point

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::Point = typename MeshType::Point

◆ Scalar

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::Scalar = typename MeshType::Scalar

◆ Vec3

template<typename MeshType >
using walberla::mesh::TriangleDistance< MeshType >::Vec3 = math::Vector3<Scalar>

Constructor & Destructor Documentation

◆ TriangleDistance()

template<typename MeshType >
walberla::mesh::TriangleDistance< MeshType >::TriangleDistance ( const shared_ptr< MeshType > & mesh)
inline

Member Function Documentation

◆ computeDistanceProperties()

template<typename MeshType >
void walberla::mesh::TriangleDistance< MeshType >::computeDistanceProperties ( )
protected

◆ computeNormals()

template<typename MeshType >
void walberla::mesh::TriangleDistance< MeshType >::computeNormals ( )
protected

◆ distance() [1/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const FaceHandle fh,
const Point & p ) const

◆ distance() [2/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const FaceHandle fh,
const Point & p,
Point & closestPoint ) const

◆ distance() [3/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const FaceHandle fh,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ distance() [4/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const Point & p) const

◆ distance() [5/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const Point & p,
FaceHandle & closestTriangle ) const

◆ distance() [6/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const Point & p,
Point & closestPoint ) const

◆ distance() [7/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ distance() [8/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ distance() [9/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ distance() [10/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ distance() [11/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ distance() [12/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ distance() [13/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ distance() [14/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ distance() [15/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::distance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ filterTrianglesForAABB()

template<typename MeshType >
template<typename InputIterator , typename OutputIterator >
void walberla::mesh::TriangleDistance< MeshType >::filterTrianglesForAABB ( const BoundingBox & aabb,
const InputIterator fhInBegin,
const InputIterator fhInEnd,
OutputIterator fhOutBegin ) const

◆ getAabb()

template<typename MeshType >
const BoundingBox & walberla::mesh::TriangleDistance< MeshType >::getAabb ( FaceHandle fh) const
inline

◆ getMesh()

template<typename MeshType >
const MeshType & walberla::mesh::TriangleDistance< MeshType >::getMesh ( ) const
inline

◆ getMeshPtr()

template<typename MeshType >
shared_ptr< MeshType > walberla::mesh::TriangleDistance< MeshType >::getMeshPtr ( )
inline

◆ getNormal()

template<typename MeshType >
const MeshType::Normal & walberla::mesh::TriangleDistance< MeshType >::getNormal ( const FaceHandle fh,
const int region ) const
inlineprotected

◆ getRayDistanceToMeshObject() [1/2]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::getRayDistanceToMeshObject ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & ray_origin,
const Point & normalised_ray_direction ) const

◆ getRayDistanceToMeshObject() [2/2]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::getRayDistanceToMeshObject ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & ray_origin,
const Point & normalised_ray_direction ) const

◆ signedDistance() [1/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const FaceHandle fh,
const Point & p ) const

◆ signedDistance() [2/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const FaceHandle fh,
const Point & p,
Point & closestPoint ) const

◆ signedDistance() [3/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const FaceHandle fh,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ signedDistance() [4/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const Point & p) const

◆ signedDistance() [5/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const Point & p,
FaceHandle & closestTriangle ) const

◆ signedDistance() [6/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const Point & p,
Point & closestPoint ) const

◆ signedDistance() [7/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ signedDistance() [8/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ signedDistance() [9/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ signedDistance() [10/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ signedDistance() [11/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ signedDistance() [12/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ signedDistance() [13/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ signedDistance() [14/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ signedDistance() [15/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::signedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ sqDistance() [1/18]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( const FaceHandle fh,
const Point & p ) const

◆ sqDistance() [2/18]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( const FaceHandle fh,
const Point & p,
int & region,
Point & closestPoint ) const
protected

◆ sqDistance() [3/18]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( const FaceHandle fh,
const Point & p,
Point & closestPoint ) const

◆ sqDistance() [4/18]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( const FaceHandle fh,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ sqDistance() [5/18]

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

◆ sqDistance() [6/18]

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

◆ sqDistance() [7/18]

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

◆ sqDistance() [8/18]

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

◆ sqDistance() [9/18]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ sqDistance() [10/18]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ sqDistance() [11/18]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ sqDistance() [12/18]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ sqDistance() [13/18]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
int & region,
Point & closestPoint,
FaceHandle & fh ) const
protected

◆ sqDistance() [14/18]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
int & region,
Point & closestPoint,
FaceHandle & fh ) const

◆ sqDistance() [15/18]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ sqDistance() [16/18]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ sqDistance() [17/18]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ sqDistance() [18/18]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ sqSignedDistance() [1/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( const FaceHandle fh,
const Point & p ) const

◆ sqSignedDistance() [2/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( const FaceHandle fh,
const Point & p,
Point & closestPoint ) const

◆ sqSignedDistance() [3/15]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( const FaceHandle fh,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ sqSignedDistance() [4/15]

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

◆ sqSignedDistance() [5/15]

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

◆ sqSignedDistance() [6/15]

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

◆ sqSignedDistance() [7/15]

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

◆ sqSignedDistance() [8/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ sqSignedDistance() [9/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p ) const

◆ sqSignedDistance() [10/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ sqSignedDistance() [11/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
FaceHandle & closestTriangle ) const

◆ sqSignedDistance() [12/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ sqSignedDistance() [13/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint ) const

◆ sqSignedDistance() [14/15]

template<typename MeshType >
template<typename InputIterator >
Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ sqSignedDistance() [15/15]

template<typename MeshType >
template<typename InputIterator >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::sqSignedDistance ( InputIterator fhBegin,
InputIterator fhEnd,
const Point & p,
Point & closestPoint,
Normal & normal ) const

◆ toSignedDistance() [1/2]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::toSignedDistance ( const Scalar & d,
const FaceHandle fh,
const Point & p,
const int region,
Point & closestPoint ) const
inlineprotected

◆ toSignedDistance() [2/2]

template<typename MeshType >
MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::toSignedDistance ( const Scalar & d,
const Point & p,
Point & closestPoint,
const Normal & normal ) const
inlineprotected

◆ triangleToStream()

template<typename MeshType >
void walberla::mesh::TriangleDistance< MeshType >::triangleToStream ( const FaceHandle fh,
std::ostream & os ) const

Member Data Documentation

◆ distanceProperties_

template<typename MeshType >
OpenMesh::PropertyManager< DistancePropertyHandle, MeshType > walberla::mesh::TriangleDistance< MeshType >::distanceProperties_
protected

◆ mesh_

template<typename MeshType >
shared_ptr<MeshType> walberla::mesh::TriangleDistance< MeshType >::mesh_
protected

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