Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions
triSurfaceTools Class Reference

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 &current)
 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...
 

Detailed Description

A collection of tools for triSurface.

Source files

Definition at line 62 of file triSurfaceTools.H.

Member Enumeration Documentation

◆ refineType

enum refineType
private
Enumerator
NONE 
RED 
GREEN 

Definition at line 68 of file triSurfaceTools.H.

◆ sideType

enum sideType

On which side of surface.

Enumerator
UNKNOWN 
INSIDE 
OUTSIDE 

Definition at line 436 of file triSurfaceTools.H.

Member Function Documentation

◆ calcRefineStatus()

void calcRefineStatus ( const triSurface surf,
const label  faceI,
List< refineType > &  refine 
)
staticprivate

Definition at line 54 of file triSurfaceTools.C.

References PrimitivePatch< Face, FaceList, PointField, PointType >::faceFaces(), and forAll.

Here is the call graph for this function:

◆ greenRefine() [1/2]

void greenRefine ( const triSurface surf,
const label  faceI,
const label  edgeI,
const label  newPointI,
DynamicList< labelledTri > &  newFaces 
)
staticprivate

◆ doRefine()

Foam::triSurface doRefine ( const triSurface surf,
const List< refineType > &  refineStatus 
)
staticprivate

◆ faceCosAngle()

Foam::scalar faceCosAngle ( const point pStart,
const point pEnd,
const point pLeft,
const point pRight 
)
staticprivate

Definition at line 307 of file triSurfaceTools.C.

References Foam::mag().

Here is the call graph for this function:

◆ protectNeighbours()

void protectNeighbours ( const triSurface surf,
const label  vertI,
labelList faceStatus 
)
staticprivate

◆ getCollapsedFaces()

Foam::labelHashSet getCollapsedFaces ( const triSurface surf,
label  edgeI 
)
staticprivate

◆ vertexUsesFace()

Foam::label vertexUsesFace ( const triSurface surf,
const labelHashSet faceUsed,
const label  vertI 
)
staticprivate

Definition at line 427 of file triSurfaceTools.C.

References forAll, HashTable::found(), and PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces().

Here is the call graph for this function:

◆ getMergedEdges()

void getMergedEdges ( const triSurface surf,
const label  edgeI,
const labelHashSet collapsedFaces,
HashTable< label, label, Hash< label > > &  edgeToEdge,
HashTable< label, label, Hash< label > > &  edgeToFace 
)
staticprivate

◆ edgeCosAngle()

Foam::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 
)
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().

Here is the call graph for this function:

◆ collapseMinCosAngle()

Foam::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 
)
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().

Here is the call graph for this function:

◆ collapseCreatesFold()

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 
)
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().

Here is the call graph for this function:

◆ cutEdge()

Foam::surfaceLocation cutEdge ( const triSurface s,
const label  triI,
const label  excludeEdgeI,
const label  excludePointI,
const point triPoint,
const plane cutPlane,
const point toPoint 
)
staticprivate

Finds the triangle edge/point cut by the plane between.

a point inside/on edge of a triangle and a point outside. Returns

  • location on edge/point and hit()
  • or miss() if no intersection found

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().

Here is the call graph for this function:

◆ snapToEnd()

void snapToEnd ( const triSurface s,
const surfaceLocation endInfo,
surfaceLocation current 
)
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().

Here is the call graph for this function:

◆ visitFaces()

Foam::surfaceLocation visitFaces ( const triSurface s,
const labelList eFaces,
const surfaceLocation start,
const label  excludeEdgeI,
const label  excludePointI,
const surfaceLocation end,
const plane cutPlane 
)
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

  • hit() if triangle contains endpoint
  • triangle()=-1 if no triangle found
  • nearest triangle/edge otherwise

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().

Here is the call graph for this function:

◆ writeOBJ() [1/2]

void writeOBJ ( const fileName fName,
const pointField pts 
)
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().

Here is the call graph for this function:

◆ writeOBJ() [2/2]

void writeOBJ ( const triSurface surf,
const fileName fName,
const boolList markedVerts 
)
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().

Here is the call graph for this function:

◆ getVertexTriangles()

void getVertexTriangles ( const triSurface surf,
const label  edgeI,
labelList edgeTris 
)
static

◆ getVertexVertices()

Foam::labelList getVertexVertices ( const triSurface surf,
const edge e 
)
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().

Here is the call graph for this function:

◆ otherFace()

Foam::label otherFace ( const triSurface surf,
const label  faceI,
const label  edgeI 
)
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().

Here is the call graph for this function:

◆ otherEdges()

void otherEdges ( const triSurface surf,
const label  faceI,
const label  edgeI,
label e1,
label e2 
)
static

◆ otherVertices()

void otherVertices ( const triSurface surf,
const label  faceI,
const label  vertI,
label vert1I,
label vert2I 
)
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().

Here is the call graph for this function:

◆ oppositeEdge()

Foam::label oppositeEdge ( const triSurface surf,
const label  faceI,
const label  vertI 
)
static

◆ oppositeVertex()

Foam::label oppositeVertex ( const triSurface surf,
const label  faceI,
const label  edgeI 
)
static

◆ getEdge()

Foam::label getEdge ( const triSurface surf,
const label  vert1I,
const label  vert2I 
)
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().

Here is the call graph for this function:

◆ getTriangle()

Foam::label getTriangle ( const triSurface surf,
const label  e0I,
const label  e1I,
const label  e2I 
)
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.

Here is the call graph for this function:

◆ collapseEdges() [1/2]

Foam::triSurface collapseEdges ( const triSurface surf,
const labelList collapsableEdges 
)
static

◆ collapseEdges() [2/2]

Foam::triSurface collapseEdges ( const triSurface surf,
const labelList collapsableEdges,
const pointField edgeMids,
labelList faceStatus 
)
static

◆ greenRefine() [2/2]

Foam::triSurface greenRefine ( const triSurface surf,
const labelList refineEdges 
)
static

◆ redGreenRefine()

Foam::triSurface redGreenRefine ( const triSurface surf,
const labelList refineFaces 
)
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().

Here is the call graph for this function:

◆ minEdge()

Foam::label minEdge ( const triSurface surf,
const labelList edgeIndices 
)
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().

Here is the call graph for this function:

◆ maxEdge()

Foam::label maxEdge ( const triSurface surf,
const labelList edgeIndices 
)
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().

Here is the call graph for this function:

◆ mergePoints()

Foam::triSurface mergePoints ( const triSurface surf,
const scalar  mergeTol 
)
static

◆ surfaceNormal()

Foam::vector surfaceNormal ( const triSurface surf,
const label  nearestFaceI,
const point nearestPt 
)
static

◆ edgeSide()

Foam::triSurfaceTools::sideType edgeSide ( const triSurface surf,
const point sample,
const point nearestPoint,
const label  edgeI 
)
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().

Here is the call graph for this function:

◆ surfaceSide()

Foam::triSurfaceTools::sideType surfaceSide ( const triSurface surf,
const point sample,
const label  nearestFaceI 
)
static

◆ triangulate()

Foam::triSurface triangulate ( const polyBoundaryMesh mBesh,
const labelHashSet includePatches,
const bool  verbose = false 
)
static

◆ triangulateFaceCentre()

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().

Here is the call graph for this function:

◆ calcInterpolationWeights() [1/2]

void calcInterpolationWeights ( const triPointRef tri,
const point p,
FixedList< scalar, 3 > &  weights 
)
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.

Here is the call graph for this function:

◆ calcInterpolationWeights() [2/2]

void calcInterpolationWeights ( const triSurface s,
const pointField samplePts,
List< FixedList< label, 3 > > &  verts,
List< FixedList< scalar, 3 > > &  weights 
)
static

◆ delaunay2D()

Foam::triSurface delaunay2D ( const List< vector2D > &  pts)
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().

Here is the call graph for this function:

◆ classify()

Foam::surfaceLocation classify ( const triSurface s,
const label  triI,
const point trianglePoint 
)
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().

Here is the call graph for this function:

◆ trackToEdge()

Foam::surfaceLocation trackToEdge ( const triSurface s,
const surfaceLocation start,
const surfaceLocation end,
const plane cutPlane 
)
static

Track on surface to get closer to point.

Possible situations:

  • 1. reached endpoint
  • 2. reached edge (normal situation)
  • 3. reached end of surface (edge on single face) Input:
  • starting position+triangle/edge/point (so has to be on surface!)
  • (optional) previous position+triangle/edge/point to prevent going back. Set index (of triangle/edge/point) to -1 if not used.
  • end position+triangle/edge/point (so has to be on surface!)
  • plane to follow. Has to go through end point! Returns:
  • true if end point reached (situation 1)
  • new position+triangle/edge/point Caller has to check for situation 3 by checking that triangle() is not set.

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().

Here is the call graph for this function:

◆ track()

void track ( const triSurface s,
const surfaceLocation endInfo,
const plane cutPlane,
surfaceLocation hitInfo 
)
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().

Here is the call graph for this function:

Field Documentation

◆ ANYEDGE

const Foam::label ANYEDGE = -1
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.

◆ NOEDGE

const Foam::label NOEDGE = -2
static

Definition at line 367 of file triSurfaceTools.H.

◆ COLLAPSED

const Foam::label COLLAPSED = -3
static

Definition at line 368 of file triSurfaceTools.H.


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