Namespaces | Functions
helperFunctionsGeometryQueries.H File Reference

Geometry queries useful for mesh generation. More...

Include dependency graph for helperFunctionsGeometryQueries.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Foam
 Namespace for OpenFOAM.
 
 Foam::help
 Helper functions useful for mesh generation.
 

Functions

template<class ListType >
bool isnan (const ListType &)
 check if a list has nan entries More...
 
template<class ListType >
bool isinf (const ListType &)
 check if a list has inf entries More...
 
template<class Face1 , class Face2 >
bool isSharedEdgeConvex (const pointField &points, const Face1 &f1, const Face2 &f2)
 check if the faces share a convex edge More...
 
template<class Face1 , class Face2 >
scalar angleBetweenFaces (const pointField &points, const Face1 &f1, const Face2 &f2)
 angle between the two faces in radians More...
 
faceList mergePatchFaces (const List< DynList< label > > &pfcs, const pointField &polyPoints)
 
bool vertexOnLine (const point &p, const edge &e, const pointField &ep)
 check if the point p belongs to the edge e More...
 
bool vertexInPlane (const point &p, const plane &pl)
 check if the point p belongs to the plane More...
 
point nearestPointOnTheEdge (const point &edgePoint0, const point &edgePoint1, const point &p)
 find the vertex on the line of the edge nearest to the point p More...
 
point nearestPointOnTheEdgeExact (const point &edgePoint0, const point &edgePoint1, const point &p)
 find the vertex on the edge nearest to the point p More...
 
scalar distanceOfPointFromTheEdge (const point &edgePoint0, const point &edgePoint1, const point &p)
 find and return the distance between the edge and the point p More...
 
bool nearestEdgePointToTheLine (const point &edgePoint0, const point &edgePoint1, const point &lp0, const point &lp1, point &nearestOnEdge, point &nearestOnLine)
 find the nearest points on the edge and the line More...
 
bool planeIntersectsEdge (const point &start, const point &end, const plane &pl, point &intersection)
 check if the edge intersects the plane More...
 
bool pointInTetrahedron (const point &p, const tetrahedron< point, point > &tet)
 check if a vertex lies inside the tetrahedron More...
 
bool triLineIntersection (const triangle< point, point > &tria, const point &lineStart, const point &lineEnd, point &intersection)
 check if a line intersects the triangle, and return the intersection More...
 
bool triLineIntersection (const triSurf &, const label, const point &, const point &, point &)
 check if a line intersects the triangle and return the intersection More...
 
bool boundBoxLineIntersection (const point &, const point &, const boundBox &)
 check if the line intersects the bounding box More...
 
bool lineFaceIntersection (const point &, const point &, const face &, const pointField &fp, point &intersection)
 check if the line and the face intersect More...
 
bool doFaceAndTriangleIntersect (const triSurf &surface, const label triI, const face &f, const pointField &facePoints)
 check if the surface triangle and the face intersect More...
 
point nearestPointOnTheTriangle (const triangle< point, point > &tri, const point &)
 find the nearest point on the triangle to the given point More...
 
point nearestPointOnTheTriangle (const label, const triSurf &, const point &)
 find the nearest vertex on the surface triangle to the given point More...
 
bool findMinimizerPoint (const DynList< point > &origins, const DynList< vector > &normals, point &pMin)
 
bool doEdgesOverlap (const point &e0p0, const point &e0p1, const point &e1p0, const point &e1p1, FixedList< point, 2 > &overlappingPart, const scalar distTol=-1.0, const scalar cosTol=Foam::cos(5.0 *(M_PI/180.0)))
 check the existence of overlap between the two edges More...
 
bool doTrianglesOverlap (const triangle< point, point > &tri0, const triangle< point, point > &tri1, DynList< point > &overlappingPolygon, const scalar distTol=-1.0, const scalar cosTol=Foam::cos(5.0 *(M_PI/180.0)))
 check the existence of overlap between the two triangles More...
 
bool doTrianglesIntersect (const triangle< point, point > &tri0, const triangle< point, point > &tri1, const scalar distTol=-1.0)
 check the existence of intersection between the two triangles More...
 
bool doTrianglesIntersect (const triangle< point, point > &tri0, const triangle< point, point > &tri1, DynList< point > &intersectionPoints, const scalar distTol=-1.0)
 
bool pointInsideFace (const point &p, const face &f, const vector &n, const pointField &fp, const scalar distTol=SMALL)
 check if the point is inside or outside the face More...
 
bool pointInsideFace (const point &p, const face &f, const pointField &fp, const scalar distTol=SMALL)
 check if the point is inside or outside the face More...
 
bool isFaceConvexAndOk (const face &f, const pointField &fp, DynList< bool > &OkPoints)
 check if the face is convex. Concave points are flagged false More...
 
bool isVertexVisible (const point &p, const plane &pl)
 check if the vertex is on the positive side of the face plane More...
 
label numberOfFaceGroups (const labelHashSet &containedElements, const point &centre, const scalar range, const triSurf &surface)
 find number of face groups within a given range More...
 
label numberOfEdgeGroups (const labelHashSet &containedEdges, const point &centre, const scalar range, const triSurf &surface)
 find the number of edge groups within the given range More...
 

Detailed Description

Geometry queries useful for mesh generation.

Original source file helperFunctionsGeometryQueries.H

InNamespace Foam::help

Source files

Definition in file helperFunctionsGeometryQueries.H.