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 [2] to allow for a numerically stable sign computation. To compute the point<->triangle distance, we use the rotation method described in [16]. 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 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.

#include <DistanceComputations.h>

Public Types

typedef MeshType::Scalar Scalar
 
typedef MeshType::Point Point
 
typedef MeshType::Normal Normal
 
typedef MeshType::FaceHandle FaceHandle
 
typedef math::Vector3< ScalarVec3
 
typedef math::GenericAABB< ScalarBoundingBox
 

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 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 MeshTypegetMesh () const
 
shared_ptr< MeshTypegetMeshPtr ()
 
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
 

Protected Types

typedef OpenMesh::FPropHandleT< DistanceProperties< MeshType > > DistancePropertyHandle
 

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< MeshTypemesh_
 
OpenMesh::PropertyManager< DistancePropertyHandle, MeshTypedistanceProperties_
 

Member Typedef Documentation

◆ BoundingBox

◆ DistancePropertyHandle

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

◆ FaceHandle

template<typename MeshType >
typedef MeshType::FaceHandle walberla::mesh::TriangleDistance< MeshType >::FaceHandle

◆ Normal

template<typename MeshType >
typedef MeshType::Normal walberla::mesh::TriangleDistance< MeshType >::Normal

◆ Point

template<typename MeshType >
typedef MeshType::Point walberla::mesh::TriangleDistance< MeshType >::Point

◆ Scalar

template<typename MeshType >
typedef MeshType::Scalar walberla::mesh::TriangleDistance< MeshType >::Scalar

◆ Vec3

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

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

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