A collection of tools for triSurface. More...
Public Types | |
enum | sideType { UNKNOWN, INSIDE, OUTSIDE } |
On which side of surface. More... | |
Public Member Functions | |
triSurface | triangulateFaceCentre (const polyBoundaryMesh &mBesh, const labelHashSet &includePatches, const bool verbose=false) |
Face-centre triangulation of (selected patches of) boundaryMesh. More... | |
Static Public Member Functions | |
static void | writeOBJ (const fileName &fName, const pointField &pts) |
Write pointField to OBJ format file. More... | |
static void | writeOBJ (const triSurface &surf, const fileName &fName, const boolList &markedVerts) |
Write vertex subset to OBJ format file. More... | |
static void | getVertexTriangles (const triSurface &surf, const label edgeI, labelList &edgeTris) |
Get all triangles using edge endpoint. More... | |
static labelList | getVertexVertices (const triSurface &surf, const edge &e) |
Get all vertices (local numbering) connected to vertices of edge. More... | |
static label | otherFace (const triSurface &surf, const label faceI, const label edgeI) |
Get face connected to edge not faceI. More... | |
static void | otherEdges (const triSurface &surf, const label faceI, const label edgeI, label &e1, label &e2) |
Get the two edges on faceI counterclockwise after edgeI. More... | |
static void | otherVertices (const triSurface &surf, const label faceI, const label vertI, label &vert1I, label &vert2I) |
Get the two vertices (local numbering) on faceI counterclockwise. More... | |
static label | oppositeEdge (const triSurface &surf, const label faceI, const label vertI) |
Get edge opposite vertex (local numbering) More... | |
static label | oppositeVertex (const triSurface &surf, const label faceI, const label edgeI) |
Get vertex (local numbering) opposite edge. More... | |
static label | getEdge (const triSurface &surf, const label vert1I, const label vert2I) |
Returns edge label connecting v1, v2 (local numbering) More... | |
static label | getTriangle (const triSurface &surf, const label e0I, const label e1I, const label e2I) |
Return index of triangle (or -1) using all three edges. More... | |
static triSurface | collapseEdges (const triSurface &surf, const labelList &collapsableEdges) |
Create new triSurface by collapsing edges to edge mids. More... | |
static triSurface | collapseEdges (const triSurface &surf, const labelList &collapsableEdges, const pointField &edgeMids, labelList &faceStatus) |
Create new triSurface by collapsing edges to specified. More... | |
static triSurface | greenRefine (const triSurface &surf, const labelList &refineEdges) |
Refine edges by splitting to opposite vertex. More... | |
static triSurface | redGreenRefine (const triSurface &surf, const labelList &refineFaces) |
Refine face by splitting all edges. Neighbouring face is. More... | |
static label | minEdge (const triSurface &surf, const labelList &edgeIndices) |
Returns element in edgeIndices with minimum length. More... | |
static label | maxEdge (const triSurface &surf, const labelList &edgeIndices) |
Returns element in edgeIndices with minimum length. More... | |
static triSurface | mergePoints (const triSurface &surf, const scalar mergeTol) |
Merge points within distance. More... | |
static vector | surfaceNormal (const triSurface &surf, const label nearestFaceI, const point &nearestPt) |
Triangle (unit) normal. If nearest point to triangle on edge use. More... | |
static sideType | edgeSide (const triSurface &surf, const point &sample, const point &nearestPoint, const label edgeI) |
If nearest point is on edgeI, determine on which side of surface. More... | |
static sideType | surfaceSide (const triSurface &surf, const point &sample, const label nearestFaceI) |
Given nearest point (to sample) on surface determines which side. More... | |
static triSurface | triangulate (const polyBoundaryMesh &mBesh, const labelHashSet &includePatches, const bool verbose=false) |
Simple triangulation of (selected patches of) boundaryMesh. Needs. More... | |
static void | calcInterpolationWeights (const triPointRef &, const point &, FixedList< scalar, 3 > &weights) |
Calculate linear interpolation weights for point (guaranteed to be. More... | |
static void | calcInterpolationWeights (const triSurface &s, const pointField &samplePts, List< FixedList< label, 3 > > &verts, List< FixedList< scalar, 3 > > &weights) |
static triSurface | delaunay2D (const List< vector2D > &) |
Do unconstrained Delaunay of points. Returns triSurface with 3D. More... | |
static surfaceLocation | classify (const triSurface &, const label triI, const point &trianglePoint) |
Test point on plane of triangle to see if on edge or point or inside. More... | |
static surfaceLocation | trackToEdge (const triSurface &, const surfaceLocation &start, const surfaceLocation &end, const plane &cutPlane) |
Track on surface to get closer to point. More... | |
static void | track (const triSurface &, const surfaceLocation &endInfo, const plane &cutPlane, surfaceLocation &hitInfo) |
Track from edge to edge across surface. Uses trackToEdge. More... | |
Static Public Attributes | |
static const label | ANYEDGE = -1 |
Face collapse status. More... | |
static const label | NOEDGE = -2 |
static const label | COLLAPSED = -3 |
Private Types | |
enum | refineType { NONE, RED, GREEN } |
Private Member Functions | |
bool | collapseCreatesFold (const triSurface &surf, const label v1, const point &pt, const labelHashSet &collapsedFaces, const HashTable< label, label, Hash< label > > &edgeToEdge, const HashTable< label, label, Hash< label > > &edgeToFace, const scalar minCos) |
Like collapseMinCosAngle but return true for value < minCos. More... | |
Static Private Member Functions | |
static void | calcRefineStatus (const triSurface &surf, const label faceI, List< refineType > &refine) |
static void | greenRefine (const triSurface &surf, const label faceI, const label edgeI, const label newPointI, DynamicList< labelledTri > &newFaces) |
static triSurface | doRefine (const triSurface &surf, const List< refineType > &refineStatus) |
static scalar | faceCosAngle (const point &pStart, const point &pEnd, const point &pLeft, const point &pRight) |
static void | protectNeighbours (const triSurface &surf, const label vertI, labelList &faceStatus) |
static labelHashSet | getCollapsedFaces (const triSurface &surf, label edgeI) |
Faces to collapse because of edge collapse. More... | |
static label | vertexUsesFace (const triSurface &surf, const labelHashSet &faceUsed, const label vertI) |
static void | getMergedEdges (const triSurface &surf, const label edgeI, const labelHashSet &collapsedFaces, HashTable< label, label, Hash< label > > &edgeToEdge, HashTable< label, label, Hash< label > > &edgeToFace) |
static scalar | edgeCosAngle (const triSurface &surf, const label v1, const point &pt, const labelHashSet &collapsedFaces, const HashTable< label, label, Hash< label > > &edgeToEdge, const HashTable< label, label, Hash< label > > &edgeToFace, const label faceI, const label edgeI) |
Calculates (cos of) angle across edgeI of faceI,. More... | |
static scalar | collapseMinCosAngle (const triSurface &surf, const label v1, const point &pt, const labelHashSet &collapsedFaces, const HashTable< label, label, Hash< label > > &edgeToEdge, const HashTable< label, label, Hash< label > > &edgeToFace) |
Calculate minimum (cos of) edge angle using addressing from. More... | |
static surfaceLocation | cutEdge (const triSurface &s, const label triI, const label excludeEdgeI, const label excludePointI, const point &triPoint, const plane &cutPlane, const point &toPoint) |
Finds the triangle edge/point cut by the plane between. More... | |
static void | snapToEnd (const triSurface &s, const surfaceLocation &endInfo, surfaceLocation ¤t) |
Checks if current is on the same triangle as the endpoint. More... | |
static surfaceLocation | visitFaces (const triSurface &s, const labelList &eFaces, const surfaceLocation &start, const label excludeEdgeI, const label excludePointI, const surfaceLocation &end, const plane &cutPlane) |
Visits faces eFaces around start. Does not visit triangle. More... | |
|
private |
Enumerator | |
---|---|
NONE | |
RED | |
GREEN |
Definition at line 68 of file triSurfaceTools.H.
enum sideType |
On which side of surface.
Enumerator | |
---|---|
UNKNOWN | |
INSIDE | |
OUTSIDE |
Definition at line 436 of file triSurfaceTools.H.
|
staticprivate |
Definition at line 54 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::faceFaces(), and forAll.
|
staticprivate |
Definition at line 91 of file triSurfaceTools.C.
References DynamicList::append(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), f(), Foam::findIndex(), and PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces().
|
staticprivate |
Definition at line 160 of file triSurfaceTools.C.
References Foam::DelaunayMeshTools::allPoints(), DynamicList::append(), DynamicList::clear(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), Foam::meshTools::otherFace(), triSurface::patches(), DynamicList::shrink(), and List::size().
|
staticprivate |
Definition at line 307 of file triSurfaceTools.C.
References Foam::mag().
|
staticprivate |
Definition at line 333 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), forAll, and PrimitivePatch< Face, FaceList, PointField, PointType >::pointEdges().
|
staticprivate |
Faces to collapse because of edge collapse.
Definition at line 374 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, HashSet< Key, Hash >::insert(), Foam::meshTools::otherFace(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces(), and List::size().
|
staticprivate |
Definition at line 427 of file triSurfaceTools.C.
References forAll, HashTable::found(), and PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces().
|
staticprivate |
Definition at line 450 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, HashTable::found(), HashSet< Key, Hash >::insert(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces(), and List::size().
|
staticprivate |
Calculates (cos of) angle across edgeI of faceI,.
taking into account updated addressing (resulting from edge collapse)
Definition at line 532 of file triSurfaceTools.C.
References A(), Foam::abort(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), Foam::FatalError, FatalErrorInFunction, HashTable::found(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), and Foam::meshTools::otherFace().
|
staticprivate |
Calculate minimum (cos of) edge angle using addressing from.
Calculate minimum (cos of) edge angle using addressing from collapsing.
/ collapsing edge to v1 at pt. Returns 1 if v1 is on edge without neighbours (and hence no edge angle can be defined)
edge to v1 at pt.
Definition at line 630 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), forAll, HashTable::found(), Foam::min(), and PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces().
|
private |
Like collapseMinCosAngle but return true for value < minCos.
Definition at line 684 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), forAll, HashTable::found(), and PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces().
|
staticprivate |
Finds the triangle edge/point cut by the plane between.
a point inside/on edge of a triangle and a point outside. Returns
Definition at line 843 of file triSurfaceTools.C.
References Foam::abort(), Foam::constant::electromagnetic::e, f(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), forAll, Foam::mag(), Foam::magSqr(), Foam::nl, plane::normal(), points, plane::refPoint(), s(), and Foam::toPoint().
|
staticprivate |
Checks if current is on the same triangle as the endpoint.
and shifts it there. If so updates current and sets a hit.
Definition at line 1036 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, surfaceLocation::elementType(), f(), Foam::findIndex(), PointIndexHit< Point >::index(), s(), and PointIndexHit< Point >::setHit().
|
staticprivate |
Visits faces eFaces around start. Does not visit triangle.
start.triangle() nor edge excludeEdgeI. Returns edge, triangle (if more than one choice) which gets us nearer endpoint. Returns
Definition at line 1166 of file triSurfaceTools.C.
References Foam::abort(), surfaceLocation::elementType(), Foam::FatalError, FatalErrorInFunction, forAll, PointIndexHit< Point >::hit(), PointIndexHit< Point >::index(), Foam::magSqr(), PointIndexHit< Point >::rawPoint(), s(), PointIndexHit< Point >::setHit(), PointIndexHit< Point >::setMiss(), Foam::sqr(), and surfaceLocation::triangle().
|
static |
Write pointField to OBJ format file.
Definition at line 1253 of file triSurfaceTools.C.
References Foam::endl(), forAll, Foam::Pout, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
static |
Write vertex subset to OBJ format file.
Definition at line 1272 of file triSurfaceTools.C.
References Foam::endl(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::Pout, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
static |
Get all triangles using edge endpoint.
Definition at line 1302 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces(), List::setSize(), and List::size().
|
static |
Get all vertices (local numbering) connected to vertices of edge.
Definition at line 1345 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, HashSet< Key, Hash >::insert(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointEdges(), and HashTable::toc().
|
static |
Get face connected to edge not faceI.
Definition at line 1430 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), and List::size().
|
static |
Get the two edges on faceI counterclockwise after edgeI.
Definition at line 1458 of file triSurfaceTools.C.
References Foam::abort(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), Foam::FatalError, FatalErrorInFunction, Foam::findIndex(), and PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces().
|
static |
Get the two vertices (local numbering) on faceI counterclockwise.
vertI
Definition at line 1487 of file triSurfaceTools.C.
References Foam::abort(), f(), Foam::FatalError, FatalErrorInFunction, and PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces().
|
static |
Get edge opposite vertex (local numbering)
Definition at line 1522 of file triSurfaceTools.C.
References Foam::abort(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), Foam::FatalError, FatalErrorInFunction, and forAll.
|
static |
Get vertex (local numbering) opposite edge.
Definition at line 1552 of file triSurfaceTools.C.
References Foam::abort(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), f(), Foam::FatalError, FatalErrorInFunction, forAll, and PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces().
|
static |
Returns edge label connecting v1, v2 (local numbering)
Definition at line 1581 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, and PrimitivePatch< Face, FaceList, PointField, PointType >::pointEdges().
|
static |
Return index of triangle (or -1) using all three edges.
Definition at line 1605 of file triSurfaceTools.C.
References Foam::abort(), PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), Foam::FatalError, FatalErrorInFunction, and forAll.
|
static |
Create new triSurface by collapsing edges to edge mids.
Definition at line 1652 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), and List::size().
|
static |
Create new triSurface by collapsing edges to specified.
positions. faceStatus allows explicit control over which faces need to be protected (see above). faceStatus gets updated to protect collapsing already collapsed faces.
Definition at line 1705 of file triSurfaceTools.C.
References Foam::abort(), Foam::constant::physicoChemical::b, Foam::constant::universal::c, Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::min(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), triSurface::patches(), List::setSize(), and List::size().
|
static |
Refine edges by splitting to opposite vertex.
Definition at line 1886 of file triSurfaceTools.C.
References DynamicList::append(), Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), triSurface::patches(), DynamicList::shrink(), and List::size().
|
static |
Refine face by splitting all edges. Neighbouring face is.
greenRefine'd.
Definition at line 1867 of file triSurfaceTools.C.
References forAll, and List::size().
|
static |
Returns element in edgeIndices with minimum length.
Definition at line 1978 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), and Foam::mag().
|
static |
Returns element in edgeIndices with minimum length.
Definition at line 2008 of file triSurfaceTools.C.
References Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), and Foam::mag().
|
static |
Merge points within distance.
Definition at line 2038 of file triSurfaceTools.C.
References f(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::mergePoints(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), triSurface::patches(), List::setSize(), and List::size().
|
static |
Triangle (unit) normal. If nearest point to triangle on edge use.
edge normal (calculated on the fly); if on vertex use vertex normal. Uses planarTol.
Definition at line 2097 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), f(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceNormals(), forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), Foam::mag(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointNormals(), points, and PrimitivePatch< Face, FaceList, PointField, PointType >::points().
Referenced by immersedBoundaryFvPatch::addIbCornerCells(), and immersedBoundaryFvPatch::makeIbPointsAndNormals().
|
static |
If nearest point is on edgeI, determine on which side of surface.
sample is.
Definition at line 2141 of file triSurfaceTools.C.
References PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceNormals(), n, and List::size().
|
static |
Given nearest point (to sample) on surface determines which side.
sample is. Uses either face normal, edge normal or point normal (non-trivial). Uses triangle::classify.
Definition at line 2178 of file triSurfaceTools.C.
References Foam::abort(), Foam::constant::universal::c, Foam::constant::electromagnetic::e, PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), f(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceEdges(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceNormals(), Foam::FatalError, FatalErrorInFunction, forAll, PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::mag(), Foam::magSqr(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointEdges(), points, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), PointHit::rawPoint(), and Foam::sqr().
Referenced by treeDataTriSurface::getVolumeType().
|
static |
Simple triangulation of (selected patches of) boundaryMesh. Needs.
polyMesh (or polyBoundaryMesh) since only at this level are the triangles on neighbouring patches connected.
Definition at line 2335 of file triSurfaceTools.C.
References DynamicList::append(), Foam::endl(), f(), forAll, forAllConstIter(), PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), mesh, patchIdentifier::name(), geometryBase::name(), points, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), Foam::Pout, and DynamicList::shrink().
Foam::triSurface triangulateFaceCentre | ( | const polyBoundaryMesh & | mBesh, |
const labelHashSet & | includePatches, | ||
const bool | verbose = false |
||
) |
Face-centre triangulation of (selected patches of) boundaryMesh.
Needs polyMesh (or polyBoundaryMesh) since only at this level are the triangles on neighbouring patches connected.
Definition at line 2422 of file triSurfaceTools.C.
References DynamicList::append(), Foam::endl(), f(), forAll, forAllConstIter(), PrimitivePatch< Face, FaceList, PointField, PointType >::localFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), mesh, patchIdentifier::name(), geometryBase::name(), points, Foam::Pout, DynamicList::shrink(), and polyPatch::start().
|
static |
Calculate linear interpolation weights for point (guaranteed to be.
inside triangle)
Definition at line 2589 of file triSurfaceTools.C.
References triangle::a(), triangle::b(), triangle::c(), Foam::mag(), Foam::max(), and p.
|
static |
Definition at line 2621 of file triSurfaceTools.C.
References PointHit::distance(), triangle::EDGE, f(), forAll, PointHit::hit(), Foam::mag(), Foam::max(), Foam::min(), triangle::nearestPointClassify(), triangle::POINT, points, PointHit::rawPoint(), and s().
|
static |
Do unconstrained Delaunay of points. Returns triSurface with 3D.
points with z=0. All triangles in region 0.
Definition at line 2523 of file triSurfaceTools.C.
References Foam::abort(), dtris2(), Foam::FatalError, FatalErrorInFunction, forAll, points, List::setSize(), and List::size().
|
static |
Test point on plane of triangle to see if on edge or point or inside.
Definition at line 2753 of file triSurfaceTools.C.
References triangle::EDGE, surfaceLocation::elementType(), triangle::NONE, triangle::POINT, s(), PointIndexHit< Point >::setHit(), PointIndexHit< Point >::setIndex(), PointIndexHit< Point >::setMiss(), and PointIndexHit< Point >::setPoint().
|
static |
Track on surface to get closer to point.
Possible situations:
Definition at line 2797 of file triSurfaceTools.C.
References triangle::EDGE, surfaceLocation::elementType(), PointIndexHit< Point >::hit(), PointIndexHit< Point >::index(), triangle::NONE, pFaces, PointIndexHit< Point >::rawPoint(), s(), PointIndexHit< Point >::setMiss(), and surfaceLocation::triangle().
|
static |
Track from edge to edge across surface. Uses trackToEdge.
Not really useful by itself, more example of how to use trackToEdge. endInfo should be location on surface. hitInfo should be initialised to starting location (on surface as well). Upon return is set to end location.
Definition at line 2875 of file triSurfaceTools.C.
References PointIndexHit< Point >::hit(), s(), and surfaceLocation::triangle().
|
static |
Face collapse status.
anyEdge: any edge can be collapsed noEdge: no edge can be collapsed collapsed: already collapsed >0: edge label that can be collapsed
Definition at line 366 of file triSurfaceTools.H.
|
static |
Definition at line 367 of file triSurfaceTools.H.
|
static |
Definition at line 368 of file triSurfaceTools.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.