PrimitivePatch< FaceList, PointField > Class Template Reference

A list of faces which address into the list of points. More...

Inheritance diagram for PrimitivePatch< FaceList, PointField >:
[legend]
Collaboration diagram for PrimitivePatch< FaceList, PointField >:
[legend]

Public Types

enum  surfaceTopo { MANIFOLD , OPEN , ILLEGAL }
 Enumeration defining the surface type. Used in check routines. More...
 
typedef std::remove_reference< FaceList >::type::value_type face_type
 The face type. More...
 
typedef std::remove_reference< PointField >::type::value_type point_type
 The point type. More...
 
typedef FaceList FaceListType
 The face list type. More...
 
typedef PointField PointFieldType
 The point field type. More...
 
typedef face_type FaceType
 Deprecated(2020-03) prefer face_type typedef. More...
 

Public Member Functions

 PrimitivePatch (const FaceList &faces, const PointField &points)
 Construct from components. More...
 
 PrimitivePatch (FaceList &&faces, const PointField &points)
 Construct from components, transferring faces. More...
 
 PrimitivePatch (FaceList &faces, PointField &points, const bool reuse)
 Construct from components, reuse storage. More...
 
 PrimitivePatch (const PrimitivePatch< FaceList, PointField > &pp)
 Copy construct. More...
 
virtual ~PrimitivePatch ()
 Destructor. More...
 
void clearOut ()
 
void clearGeom ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
void swap (PrimitivePatch &)=delete
 Suppress direct swapping, since storage containers may be const. More...
 
const Field< point_type > & points () const noexcept
 Return reference to global points. More...
 
label nFaces () const noexcept
 Number of faces in the patch. More...
 
label nPoints () const
 Number of points supporting patch faces. More...
 
label nEdges () const
 Number of edges in patch. More...
 
const edgeListedges () const
 Return list of edges, address into LOCAL point list. More...
 
const edgeList::subList internalEdges () const
 Return sub-list of internal edges, address into LOCAL point list. More...
 
const edgeList::subList boundaryEdges () const
 Return sub-list of boundary edges, address into LOCAL point list. More...
 
label nInternalEdges () const
 Number of internal edges. More...
 
label nBoundaryEdges () const
 Number of boundary edges == (nEdges() - nInternalEdges()) More...
 
bool isInternalEdge (const label edgei) const
 Is internal edge? More...
 
const labelListboundaryPoints () const
 Return list of boundary points, address into LOCAL point list. More...
 
const labelListListfaceFaces () const
 Return face-face addressing. More...
 
const labelListListedgeFaces () const
 Return edge-face addressing. More...
 
const labelListListfaceEdges () const
 Return face-edge addressing. More...
 
const labelListListpointEdges () const
 Return point-edge addressing. More...
 
const labelListListpointFaces () const
 Return point-face addressing. More...
 
const List< face_type > & localFaces () const
 Return patch faces addressing into local point list. More...
 
labelList boundaryFaces () const
 
labelList uniqBoundaryFaces () const
 
const labelListmeshPoints () const
 Return labelList of mesh points in patch. More...
 
const Map< label > & meshPointMap () const
 Mesh point map. More...
 
const Field< point_type > & localPoints () const
 Return pointField of points in patch. More...
 
const labelListlocalPointOrder () const
 Return orders the local points for most efficient search. More...
 
label whichPoint (const label gp) const
 Given a global point index, return the local point index. More...
 
edge meshEdge (const label edgei) const
 From patch edge to global edge using meshPoints. More...
 
edge meshEdge (const edge &e) const
 From patch edge to global edge using meshPoints. More...
 
label findEdge (const edge &e) const
 
labelList meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
 
labelList meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const
 
label meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const
 
labelList meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const
 
const Field< point_type > & faceCentres () const
 Return face centres for patch. More...
 
const Field< point_type > & faceAreas () const
 Return face area vectors for patch. More...
 
const Field< scalar > & magFaceAreas () const
 Return face area magnitudes for patch. More...
 
const Field< point_type > & faceNormals () const
 Return face unit normals for patch. More...
 
const Field< point_type > & pointNormals () const
 Return point normals for patch. More...
 
bool hasFaceAreas () const
 
bool hasFaceCentres () const
 
bool hasFaceNormals () const
 
bool hasPointNormals () const
 
bool hasBoundaryPoints () const
 
bool hasEdges () const
 
bool hasFaceFaces () const
 
bool hasEdgeFaces () const
 
bool hasFaceEdges () const
 
bool hasPointEdges () const
 
bool hasPointFaces () const
 
bool hasMeshPointMap () const
 
template<class ToPatch >
List< objectHitprojectPoints (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const
 Project vertices of patch onto another patch. More...
 
template<class ToPatch >
List< objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const
 Project vertices of patch onto another patch. More...
 
const labelListListedgeLoops () const
 Return list of closed loops of boundary vertices. More...
 
surfaceTopo surfaceType () const
 Calculate surface type formed by patch. More...
 
bool checkTopology (const bool report=false, labelHashSet *setPtr=nullptr) const
 Check surface formed by patch for manifoldness (see above). More...
 
bool checkPointManifold (const bool report=false, labelHashSet *setPtr=nullptr) const
 Checks primitivePatch for faces sharing point but not edge. More...
 
virtual void movePoints (const Field< point_type > &)
 Correct patch after moving points. More...
 
void operator= (const PrimitivePatch< FaceList, PointField > &rhs)
 Copy assign faces. Leave points alone (could be a reference). More...
 
void operator= (PrimitivePatch< FaceList, PointField > &&rhs)
 Move assign faces. Leave points alone (could be a reference). More...
 
label whichEdge (const edge &e) const
 Identical to findEdge. More...
 
template<class ToPatch >
Foam::List< Foam::objectHitprojectPoints (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
template<class ToPatch >
Foam::List< Foam::objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
- Public Member Functions inherited from PrimitivePatchBase
 ClassName ("PrimitivePatch")
 Runtime type information. More...
 
 PrimitivePatchBase ()=default
 Default construct. More...
 

Detailed Description

template<class FaceList, class PointField>
class Foam::PrimitivePatch< FaceList, PointField >

A list of faces which address into the list of points.

The class is templated on the face type (e.g. triangle, polygon etc.) and on the list type of faces and points so that it can refer to existing lists using UList and const pointField& or hold the storage using List and pointField.

Source files

Definition at line 79 of file PrimitivePatch.H.

Member Typedef Documentation

◆ face_type

typedef std::remove_reference<FaceList>::type::value_type face_type

The face type.

Definition at line 90 of file PrimitivePatch.H.

◆ point_type

typedef std::remove_reference<PointField>::type::value_type point_type

The point type.

Definition at line 94 of file PrimitivePatch.H.

◆ FaceListType

typedef FaceList FaceListType

The face list type.

Definition at line 97 of file PrimitivePatch.H.

◆ PointFieldType

The point field type.

Definition at line 100 of file PrimitivePatch.H.

◆ FaceType

Deprecated(2020-03) prefer face_type typedef.

Deprecated:
(2020-03) prefer face_type typedef

Definition at line 104 of file PrimitivePatch.H.

Member Enumeration Documentation

◆ surfaceTopo

Enumeration defining the surface type. Used in check routines.

Enumerator
MANIFOLD 
OPEN 
ILLEGAL 

Definition at line 110 of file PrimitivePatch.H.

Constructor & Destructor Documentation

◆ PrimitivePatch() [1/4]

PrimitivePatch ( const FaceList &  faces,
const PointField points 
)

Construct from components.

Definition at line 34 of file PrimitivePatch.C.

◆ PrimitivePatch() [2/4]

PrimitivePatch ( FaceList &&  faces,
const PointField points 
)

Construct from components, transferring faces.

Definition at line 65 of file PrimitivePatch.C.

◆ PrimitivePatch() [3/4]

PrimitivePatch ( FaceList &  faces,
PointField points,
const bool  reuse 
)

Construct from components, reuse storage.

Definition at line 96 of file PrimitivePatch.C.

◆ PrimitivePatch() [4/4]

PrimitivePatch ( const PrimitivePatch< FaceList, PointField > &  pp)

Copy construct.

Definition at line 128 of file PrimitivePatch.C.

◆ ~PrimitivePatch()

~PrimitivePatch
virtual

Destructor.

Definition at line 160 of file PrimitivePatch.C.

Member Function Documentation

◆ clearOut()

void clearOut

Definition at line 85 of file PrimitivePatchClear.C.

Referenced by MeshedSurface< Face >::swap(), UnsortedMeshedSurface< Face >::swap(), and processorPolyPatch::updateMesh().

Here is the caller graph for this function:

◆ clearGeom()

void clearGeom

Definition at line 35 of file PrimitivePatchClear.C.

References DebugInFunction, and Foam::nl.

Referenced by polyPatch::clearGeom(), and polyPatch::updateMesh().

Here is the caller graph for this function:

◆ clearTopology()

void clearTopology

Definition at line 50 of file PrimitivePatchClear.C.

References DebugInFunction, and Foam::nl.

Referenced by polyPatch::clearAddressing().

Here is the caller graph for this function:

◆ clearPatchMeshAddr()

void clearPatchMeshAddr

Definition at line 73 of file PrimitivePatchClear.C.

References DebugInFunction, and Foam::nl.

Referenced by polyPatch::clearAddressing().

Here is the caller graph for this function:

◆ swap()

void swap ( PrimitivePatch< FaceList, PointField > &  )
delete

Suppress direct swapping, since storage containers may be const.

◆ points()

const Field< point_type > & points ( ) const
inlinenoexcept

Return reference to global points.

Definition at line 299 of file PrimitivePatch.H.

Referenced by booleanSurface::booleanSurface(), Foam::meshTools::calcBoxPointNormals(), addPatchCellLayer::calcExtrudeInfo(), cyclicAMIPolyPatch::calcTransforms(), cyclicPolyPatch::calcTransforms(), AMIInterpolation::calculate(), polySurface::copySurface(), surfMesh::copySurface(), triSurfaceTools::curvatures(), distributedTriSurfaceMesh::distribute(), Foam::drawHitProblem(), edgeIntersections::edgeIntersections(), Foam::edgeMeshTools::featureProximity(), patchProbes::findElements(), mappedPatchBase::findLocalSamples(), PatchTools::gatherAndMerge(), cyclicPolyPatch::initOrder(), processorPolyPatch::initOrder(), isoSurfaceTopo::isoSurfaceTopo(), inverseDistance::markBoundaries(), trackingInverseDistance::markBoundaries(), momentOfInertia::massPropertiesPatch(), momentOfInertia::massPropertiesShell(), momentOfInertia::massPropertiesSolid(), offsetSurface::operator()(), MeshedSurface< Face >::operator=(), triSurface::operator=(), cyclicPolyPatch::order(), oldCyclicPolyPatch::order(), processorPolyPatch::order(), orientedSurface::orientedSurface(), sampledDistanceSurface::points(), sampledIsoSurface::points(), sampledCuttingPlane::points(), sampledInterface::points(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), boundaryMesh::read(), refinementSurfaces::setMinLevelFields(), addPatchCellLayer::setRefinement(), AMIInterpolation::srcPointFace(), triSurfaceTools::surfaceNormal(), triSurfaceTools::surfaceSide(), AMIInterpolation::tgtPointFace(), triSurfaceMeshPointSet::triSurfaceMeshPointSet(), triSurfaceTools::validTri(), triSurfaceTools::vertexNormals(), triSurfaceTools::vertexTriads(), cuttingSurfaceBase::walkCellCuts(), GTSsurfaceFormat< Face >::write(), AC3DsurfaceFormat< Face >::write(), TRIsurfaceFormat< Face >::write(), VTKsurfaceFormat< Face >::write(), VTPsurfaceFormat< Face >::write(), STLsurfaceFormat< Face >::writeAscii(), STLsurfaceFormat< Face >::writeBinary(), and surfaceNoise::writeSurfaceData().

◆ nFaces()

label nFaces ( ) const
inlinenoexcept

Number of faces in the patch.

Definition at line 305 of file PrimitivePatch.H.

Referenced by faMeshDistributor::distribute().

Here is the caller graph for this function:

◆ nPoints()

◆ nEdges()

◆ edges()

const Foam::edgeList & edges

Return list of edges, address into LOCAL point list.

Definition at line 183 of file PrimitivePatch.C.

Referenced by meshRefinement::blockLeakFaces(), booleanSurface::booleanSurface(), holeToFace::calcClosure(), addPatchCellLayer::calcExtrudeInfo(), polyDualMesh::calcFeatures(), snappySnapDriver::calcSnapDistance(), searchableSurfaces::checkIntersection(), triSurfaceTools::collapseEdges(), patchPatchDist::correct(), cyclicPolyPatch::coupledEdges(), faMeshDecomposition::decomposeMesh(), edgeSurface::edgeSurface(), triSurfaceTools::getEdge(), combineFaces::getOutsideFace(), triSurfaceTools::getVertexTriangles(), triSurfaceTools::getVertexVertices(), triSurfaceTools::greenRefine(), isoSurfaceTopo::isoSurfaceTopo(), PatchTools::matchEdges(), triSurfaceTools::maxEdge(), triSurfaceTools::minEdge(), edgeIntersections::minEdgeLength(), fieldSmoother::minSmoothField(), slidingInterface::modifyMotionPoints(), PrimitivePatch< FaceList, PointField >::nEdges(), polyBoundaryMesh::neighbourEdges(), triSurfaceTools::oppositeEdge(), triSurfaceTools::oppositeVertex(), triSurfaceTools::otherEdges(), addPatchCellLayer::setRefinement(), perfectInterface::setRefinement(), fieldSmoother::smoothPatchNormals(), surfaceFeatures::surfaceFeatures(), triSurfaceTools::surfaceSide(), syncTools::syncEdgeList(), syncTools::syncEdgeMap(), GTSsurfaceFormat< Face >::write(), and OBJstream::write().

Here is the caller graph for this function:

◆ internalEdges()

const Foam::edgeList::subList internalEdges

Return sub-list of internal edges, address into LOCAL point list.

Definition at line 196 of file PrimitivePatch.C.

◆ boundaryEdges()

const Foam::edgeList::subList boundaryEdges

Return sub-list of boundary edges, address into LOCAL point list.

Definition at line 205 of file PrimitivePatch.C.

◆ nInternalEdges()

Foam::label nInternalEdges

◆ nBoundaryEdges()

Foam::label nBoundaryEdges

Number of boundary edges == (nEdges() - nInternalEdges())

Definition at line 227 of file PrimitivePatch.C.

References UList< T >::size().

Referenced by faMesh::updateMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isInternalEdge()

bool isInternalEdge ( const label  edgei) const
inline

Is internal edge?

Definition at line 343 of file PrimitivePatch.H.

References PrimitivePatch< FaceList, PointField >::nInternalEdges().

Here is the call graph for this function:

◆ boundaryPoints()

const Foam::labelList & boundaryPoints

Return list of boundary points, address into LOCAL point list.

Uses edge addressing (if it exists) or calculates directly from localFaces()

Definition at line 236 of file PrimitivePatch.C.

Referenced by PatchTools::gatherAndMerge().

Here is the caller graph for this function:

◆ faceFaces()

const Foam::labelListList & faceFaces

Return face-face addressing.

Definition at line 249 of file PrimitivePatch.C.

Referenced by triSurfaceTools::validTri().

Here is the caller graph for this function:

◆ edgeFaces()

◆ faceEdges()

◆ pointEdges()

const Foam::labelListList & pointEdges

Return point-edge addressing.

Definition at line 288 of file PrimitivePatch.C.

Referenced by polyDualMesh::calcFeatures(), snappySnapDriver::calcSnapDistance(), triSurfaceTools::getEdge(), triSurfaceTools::getVertexVertices(), edgeIntersections::minEdgeLength(), and triSurfaceTools::surfaceSide().

Here is the caller graph for this function:

◆ pointFaces()

const Foam::labelListList & pointFaces

Return point-face addressing.

Definition at line 301 of file PrimitivePatch.C.

Referenced by snappySnapDriver::avgCellCentres(), Foam::meshTools::calcBoxPointNormals(), cellClassification::fillRegionPoints(), localPointRegion::findDuplicateFaces(), triSurfaceTools::getVertexTriangles(), oldCyclicPolyPatch::order(), and triSurfaceTools::vertexNormals().

Here is the caller graph for this function:

◆ localFaces()

const Foam::List< typename Foam::PrimitivePatch< FaceList, PointField >::face_type > & localFaces

◆ boundaryFaces()

Foam::labelList boundaryFaces

Extract list of local faces corresponding to the boundary edges.

Definition at line 34 of file PrimitivePatchBdryFaces.C.

References forAll, and UList< T >::size().

Here is the call graph for this function:

◆ uniqBoundaryFaces()

Foam::labelList uniqBoundaryFaces

Extract sorted list of unique local faces associated with the boundary edges.

Definition at line 58 of file PrimitivePatchBdryFaces.C.

References List< T >::resize(), UList< T >::size(), and Foam::sort().

Here is the call graph for this function:

◆ meshPoints()

const Foam::labelList & meshPoints

Return labelList of mesh points in patch.

They are constructed by walking through the faces in incremental order and not sorted anymore.

Definition at line 330 of file PrimitivePatch.C.

Referenced by snappySnapDriver::avgCellCentres(), meshRefinement::blockLeakFaces(), Foam::meshTools::calcBoxPointNormals(), holeToFace::calcClosure(), addPatchCellLayer::calcExtrudeInfo(), polyDualMesh::calcFeatures(), snappySnapDriver::calcNearestSurface(), snappySnapDriver::calcSnapDistance(), patchPatchDist::correct(), cyclicPolyPatch::coupledEdges(), triSurfaceTools::curvatures(), faMeshDecomposition::decomposeMesh(), snappySnapDriver::detectNearSurfaces(), faMeshDistributor::distribute(), mappedPatchBase::findLocalSamples(), syncTools::getMasterPoints(), combineFaces::getOutsideFace(), globalIndexAndTransform::globalIndexAndTransform(), globalPoints::globalPoints(), isoSurfaceTopo::isoSurfaceTopo(), localPointRegion::localPointRegion(), processorFaPatch::makeNonGlobalPatchPoints(), PatchTools::matchPoints(), globalMeshData::mergePoints(), facePointPatch::meshPoints(), fieldSmoother::minSmoothField(), polyBoundaryMesh::neighbourEdges(), PrimitivePatch< FaceList, PointField >::nPoints(), orientedSurface::orientedSurface(), motionSmootherAlgo::setDisplacement(), addPatchCellLayer::setRefinement(), perfectInterface::setRefinement(), shortestPathSet::shortestPathSet(), snappySnapDriver::smoothDisplacement(), fieldSmoother::smoothPatchNormals(), syncTools::syncEdgeList(), syncTools::syncEdgeMap(), globalMeshData::syncPointData(), syncTools::syncPointList(), syncTools::syncPointMap(), pointConstraints::syncUntransformedData(), ensightFaces::uniqueMeshPoints(), triSurfaceTools::vertexNormals(), GTSsurfaceFormat< Face >::write(), ensightFaces::write(), and AMIWeights::writeWeightField().

Here is the caller graph for this function:

◆ meshPointMap()

const Foam::Map< Foam::label > & meshPointMap

◆ localPoints()

const Foam::Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > & localPoints

Return pointField of points in patch.

Definition at line 359 of file PrimitivePatch.C.

Referenced by snappyLayerDriver::addLayers(), booleanSurface::booleanSurface(), mappedPatchBase::calcAMI(), enrichedPatch::calcEnrichedFaces(), snappySnapDriver::calcNearestSurface(), snappySnapDriver::calcSnapDistance(), searchableSurfaces::checkIntersection(), triSurfaceTools::collapseEdges(), cyclicPolyPatch::coupledEdges(), snappySnapDriver::detectNearSurfaces(), snappySnapDriver::doSnap(), edgeSurface::edgeSurface(), localPointRegion::findDuplicateFaces(), PatchTools::gatherAndMerge(), triSurfaceTools::greenRefine(), processorPolyPatch::initOrder(), processorCyclicPolyPatch::initOrder(), facePointPatch::localPoints(), triSurfaceTools::maxEdge(), triSurfaceTools::mergePoints(), triSurfaceTools::minEdge(), edgeIntersections::minEdgeLength(), slidingInterface::modifyMotionPoints(), polyBoundaryMesh::neighbourEdges(), processorPolyPatch::order(), boundaryMesh::read(), boundaryMesh::readTriSurface(), cyclicAMIPolyPatch::resetAMI(), addPatchCellLayer::setRefinement(), perfectInterface::setRefinement(), shortestPathSet::shortestPathSet(), snappySnapDriver::smoothDisplacement(), triSurfaceTools::surfaceSide(), syncTools::syncEdgeList(), triSurfaceTools::triangulate(), triSurfaceTools::triangulateFaceCentre(), sampledFaceZone::update(), sampledPatch::update(), OBJstream::write(), triSurfaceTools::writeOBJ(), patchMeshWriter::writePoints(), and lumpedPointMovement::writeZonesVTP().

Here is the caller graph for this function:

◆ localPointOrder()

const Foam::labelList & localPointOrder

Return orders the local points for most efficient search.

Definition at line 372 of file PrimitivePatch.C.

◆ whichPoint()

Foam::label whichPoint ( const label  gp) const

Given a global point index, return the local point index.

If the point is not found, return -1

Definition at line 385 of file PrimitivePatch.C.

Referenced by slidingInterface::modifyMotionPoints().

Here is the caller graph for this function:

◆ meshEdge() [1/3]

Foam::edge meshEdge ( const label  edgei) const

From patch edge to global edge using meshPoints.

Definition at line 35 of file PrimitivePatchMeshEdges.C.

Referenced by PatchTools::matchEdges().

Here is the caller graph for this function:

◆ meshEdge() [2/3]

Foam::edge meshEdge ( const edge e) const

From patch edge to global edge using meshPoints.

Definition at line 43 of file PrimitivePatchMeshEdges.C.

References e.

◆ findEdge()

Foam::label findEdge ( const edge e) const

Search for edge (local point labels) and return its index in the edge list or -1 if not found.

Ignores invalid or out-of-range edges

Definition at line 182 of file PrimitivePatchMeshEdges.C.

References e, and nPoints.

Referenced by PrimitivePatch< FaceList, PointField >::whichEdge().

Here is the caller graph for this function:

◆ meshEdges() [1/3]

Foam::labelList meshEdges ( const edgeList allEdges,
const labelListList cellEdges,
const labelList faceCells 
) const

Return labels of patch edges in the global edge list using cell addressing

Definition at line 51 of file PrimitivePatchMeshEdges.C.

References DebugInFunction, forAll, found, nEdges(), and Foam::nl.

Referenced by addPatchCellLayer::calcExtrudeInfo(), polyDualMesh::calcFeatures(), addPatchCellLayer::globalEdgeFaces(), and addPatchCellLayer::setRefinement().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshEdges() [2/3]

Foam::labelList meshEdges ( const edgeList allEdges,
const labelListList pointEdges 
) const

Return labels of patch edges into the global edge list using basic edge addressing.

Definition at line 102 of file PrimitivePatchMeshEdges.C.

References DebugInFunction, forAll, nEdges(), Foam::nl, and edge::start().

Here is the call graph for this function:

◆ meshEdge() [3/3]

Foam::label meshEdge ( const label  edgei,
const edgeList allEdges,
const labelListList pointEdges 
) const

Return label of the local patch edge into the global edge list using basic edge addressing.

Definition at line 136 of file PrimitivePatchMeshEdges.C.

References edge::start().

Here is the call graph for this function:

◆ meshEdges() [3/3]

Foam::labelList meshEdges ( const labelUList edgeLabels,
const edgeList allEdges,
const labelListList pointEdges 
) const

Return labels of specified patch edges into the global edge list using basic edge addressing.

Definition at line 161 of file PrimitivePatchMeshEdges.C.

References forAll, and UList< T >::size().

Here is the call graph for this function:

◆ faceCentres()

const Foam::Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > & faceCentres

Return face centres for patch.

Definition at line 400 of file PrimitivePatch.C.

Referenced by symmetryPlanePolyPatch::calcGeometry(), wedgePolyPatch::calcGeometry(), triSurfaceMesh::coordinates(), processorPolyPatch::initOrder(), processorPolyPatch::order(), triSurfaceTools::writeCloseness(), and AMIInterpolation::writeFaceConnectivity().

Here is the caller graph for this function:

◆ faceAreas()

const Foam::Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > & faceAreas

Return face area vectors for patch.

Definition at line 416 of file PrimitivePatch.C.

Referenced by cyclicACMIPolyPatch::scalePatchFaceAreas().

Here is the caller graph for this function:

◆ magFaceAreas()

const Foam::Field< Foam::scalar > & magFaceAreas

Return face area magnitudes for patch.

Definition at line 429 of file PrimitivePatch.C.

◆ faceNormals()

◆ pointNormals()

const Foam::Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > & pointNormals

Return point normals for patch.

Definition at line 461 of file PrimitivePatch.C.

Referenced by Foam::meshTools::calcBoxPointNormals(), slidingInterface::modifyMotionPoints(), facePointPatch::pointNormals(), and triSurfaceTools::surfaceNormal().

Here is the caller graph for this function:

◆ hasFaceAreas()

bool hasFaceAreas ( ) const
inline

Definition at line 466 of file PrimitivePatch.H.

References bool.

◆ hasFaceCentres()

bool hasFaceCentres ( ) const
inline

Definition at line 467 of file PrimitivePatch.H.

References bool.

◆ hasFaceNormals()

bool hasFaceNormals ( ) const
inline

Definition at line 468 of file PrimitivePatch.H.

References bool.

◆ hasPointNormals()

bool hasPointNormals ( ) const
inline

Definition at line 469 of file PrimitivePatch.H.

References bool.

◆ hasBoundaryPoints()

bool hasBoundaryPoints ( ) const
inline

Definition at line 471 of file PrimitivePatch.H.

References bool.

◆ hasEdges()

bool hasEdges ( ) const
inline

Definition at line 476 of file PrimitivePatch.H.

References bool.

◆ hasFaceFaces()

bool hasFaceFaces ( ) const
inline

Definition at line 477 of file PrimitivePatch.H.

References bool.

◆ hasEdgeFaces()

bool hasEdgeFaces ( ) const
inline

Definition at line 478 of file PrimitivePatch.H.

References bool.

◆ hasFaceEdges()

bool hasFaceEdges ( ) const
inline

Definition at line 479 of file PrimitivePatch.H.

References bool.

◆ hasPointEdges()

bool hasPointEdges ( ) const
inline

Definition at line 481 of file PrimitivePatch.H.

References bool.

◆ hasPointFaces()

bool hasPointFaces ( ) const
inline

Definition at line 482 of file PrimitivePatch.H.

References bool.

◆ hasMeshPointMap()

bool hasMeshPointMap ( ) const
inline

Definition at line 484 of file PrimitivePatch.H.

References bool.

◆ projectPoints() [1/2]

List< objectHit > projectPoints ( const ToPatch &  targetPatch,
const Field< point_type > &  projectionDirection,
const intersection::algorithm  = intersection::FULL_RAY,
const intersection::direction  = intersection::VECTOR 
) const

Project vertices of patch onto another patch.

◆ projectFaceCentres() [1/2]

List< objectHit > projectFaceCentres ( const ToPatch &  targetPatch,
const Field< point_type > &  projectionDirection,
const intersection::algorithm  = intersection::FULL_RAY,
const intersection::direction  = intersection::VECTOR 
) const

Project vertices of patch onto another patch.

◆ edgeLoops()

const Foam::labelListList & edgeLoops

Return list of closed loops of boundary vertices.

Edge loops are given as ordered lists of vertices in local addressing

Definition at line 146 of file PrimitivePatchEdgeLoops.C.

Referenced by combineFaces::getOutsideFace(), and combineFaces::setRefinement().

Here is the caller graph for this function:

◆ surfaceType()

Calculate surface type formed by patch.

Types:

  • all edges have two neighbours (manifold)
  • some edges have more than two neighbours (illegal)
  • other (open)

Definition at line 108 of file PrimitivePatchCheck.C.

References DebugInFunction, forAll, Foam::nl, and UList< T >::size().

Here is the call graph for this function:

◆ checkTopology()

bool checkTopology ( const bool  report = false,
labelHashSet setPtr = nullptr 
) const

Check surface formed by patch for manifoldness (see above).

Return true if any incorrect edges are found. Insert vertices of incorrect edges into set.

Definition at line 142 of file PrimitivePatchCheck.C.

References DebugInFunction, e, Foam::endl(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::nl, and UList< T >::size().

Here is the call graph for this function:

◆ checkPointManifold()

bool checkPointManifold ( const bool  report = false,
labelHashSet setPtr = nullptr 
) const

Checks primitivePatch for faces sharing point but not edge.

This denotes a surface that is pinched at a single point (test for pinched at single edge is already in PrimitivePatch) Returns true if this situation found and puts conflicting (mesh)point in set. Based on all the checking routines in primitiveMesh.

Definition at line 189 of file PrimitivePatchCheck.C.

References Foam::endl(), UList< T >::find(), forAll, Foam::Info, HashSet< Key, Hash >::insert(), Foam::nl, and pFaces.

Referenced by cellClassification::fillRegionPoints().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ movePoints()

void movePoints ( const Field< point_type > &  )
virtual

Correct patch after moving points.

Reimplemented in polyPatch.

Definition at line 170 of file PrimitivePatch.C.

References DebugInFunction, and Foam::endl().

Referenced by snappyLayerDriver::addLayers().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

void operator= ( const PrimitivePatch< FaceList, PointField > &  rhs)

Copy assign faces. Leave points alone (could be a reference).

Definition at line 476 of file PrimitivePatch.C.

Referenced by polyPatch::operator=().

Here is the caller graph for this function:

◆ operator=() [2/2]

void operator= ( PrimitivePatch< FaceList, PointField > &&  rhs)

Move assign faces. Leave points alone (could be a reference).

Definition at line 496 of file PrimitivePatch.C.

◆ whichEdge()

label whichEdge ( const edge e) const
inline

Identical to findEdge.

Definition at line 564 of file PrimitivePatch.H.

References PrimitivePatch< FaceList, PointField >::findEdge().

Referenced by slidingInterface::modifyMotionPoints().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ projectPoints() [2/2]

Foam::List< Foam::objectHit > projectPoints ( const ToPatch &  targetPatch,
const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &  projectionDirection,
const intersection::algorithm  alg,
const intersection::direction  dir 
) const

Definition at line 43 of file PrimitivePatchProjectPoints.C.

References Foam::abort(), DebugInfo, PointHit< PointType >::distance(), PointHit< PointType >::eligibleMiss(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, PointHit< PointType >::hit(), Foam::mag(), Foam::magSqr(), PointHit< PointType >::missPoint(), Foam::nl, nPoints, and points.

Here is the call graph for this function:

◆ projectFaceCentres() [2/2]

Foam::List< Foam::objectHit > projectFaceCentres ( const ToPatch &  targetPatch,
const Field< typename Foam::PrimitivePatch< FaceList, PointField >::point_type > &  projectionDirection,
const intersection::algorithm  alg,
const intersection::direction  dir 
) const

Definition at line 274 of file PrimitivePatchProjectPoints.C.

References Foam::abort(), DebugInfo, PointHit< PointType >::distance(), PointHit< PointType >::eligibleMiss(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, PointHit< PointType >::hit(), Foam::mag(), Foam::magSqr(), PointHit< PointType >::missPoint(), Foam::nl, and points.

Here is the call graph for this function:

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