Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
PrimitivePatch< Face, FaceList, PointField, PointType > Class Template Reference

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

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

Public Types

enum  surfaceTopo {
  MANIFOLD, OPEN, ILLEGAL, MANIFOLD,
  OPEN, ILLEGAL
}
 Enumeration defining the surface type. Used in check routines. More...
 
enum  surfaceTopo {
  MANIFOLD, OPEN, ILLEGAL, MANIFOLD,
  OPEN, ILLEGAL
}
 Enumeration defining the surface type. Used in check routines. More...
 
typedef Face FaceType
 
typedef FaceList< Face > FaceListType
 
typedef PointField PointFieldType
 
typedef Face FaceType
 
typedef FaceList< Face > FaceListType
 
typedef PointField PointFieldType
 

Public Member Functions

 PrimitivePatch (const FaceList< Face > &faces, const Field< PointType > &points)
 Construct from components. More...
 
 PrimitivePatch (FaceList< Face > &faces, Field< PointType > &points, const bool reUse)
 Construct from components, reuse storage. More...
 
 PrimitivePatch (const PrimitivePatch< Face, FaceList, PointField, PointType > &)
 Construct as copy. More...
 
virtual ~PrimitivePatch ()
 
void clearOut ()
 
void clearGeom ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
const Field< PointType > & points () const
 Return reference to global points. More...
 
label nPoints () const
 Return number of points supporting patch faces. More...
 
label nEdges () const
 Return number of edges in patch. More...
 
const edgeListedges () const
 Return list of edges, address into LOCAL point list. More...
 
label nInternalEdges () const
 Number of internal edges. More...
 
bool isInternalEdge (const label edgeI) const
 Is internal edge? More...
 
const labelListboundaryPoints () const
 Return list of boundary points,. 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 > & localFaces () const
 Return patch faces addressing into local point list. More...
 
const labelListmeshPoints () const
 Return labelList of mesh points in patch. More...
 
const Map< label > & meshPointMap () const
 Mesh point map. Given the global point index find its. More...
 
const Field< PointType > & 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. More...
 
label whichEdge (const edge &e) const
 Given an edge in local point labels, return its index. More...
 
labelList meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
 Return labels of patch edges in the global edge list using. More...
 
labelList meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const
 Return labels of patch edges in the global edge list using. More...
 
const Field< PointType > & faceCentres () const
 Return face centres for patch. More...
 
const Field< PointType > & faceNormals () const
 Return face normals for patch. More...
 
const Field< PointType > & pointNormals () const
 Return point normals for patch. More...
 
template<class ToPatch >
List< objectHitprojectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const
 Project vertices of patch onto another patch. More...
 
template<class ToPatch >
List< objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=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=NULL) const
 Check surface formed by patch for manifoldness (see above). More...
 
bool checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const
 Checks primitivePatch for faces sharing point but not edge. More...
 
void writeVTK (const fileName &name) const
 Write VTK patch. More...
 
void writeVTKNormals (const fileName &name) const
 Write VTK patch normals. More...
 
virtual void movePoints (const Field< PointType > &)
 Correct patch after moving points. More...
 
void operator= (const PrimitivePatch< Face, FaceList, PointField, PointType > &)
 Assignment. More...
 
 PrimitivePatch (const FaceList< Face > &faces, const Field< PointType > &points)
 Construct from components. More...
 
 PrimitivePatch (const Xfer< FaceList< Face > > &faces, const Xfer< List< PointType > > &points)
 Construct from components. More...
 
 PrimitivePatch (FaceList< Face > &faces, Field< PointType > &points, const bool reUse)
 Construct from components, reuse storage. More...
 
 PrimitivePatch (const PrimitivePatch< Face, FaceList, PointField, PointType > &)
 Construct as copy. More...
 
virtual ~PrimitivePatch ()
 Destructor. More...
 
void clearOut ()
 
void clearGeom ()
 
void clearTopology ()
 
void clearPatchMeshAddr ()
 
const Field< PointType > & points () const
 Return reference to global points. More...
 
label nPoints () const
 Return number of points supporting patch faces. More...
 
label nEdges () const
 Return number of edges in patch. More...
 
const edgeListedges () const
 Return list of edges, address into LOCAL point list. More...
 
label nInternalEdges () const
 Number of internal edges. More...
 
bool isInternalEdge (const label edgeI) const
 Is internal edge? More...
 
const labelListboundaryPoints () const
 Return list of boundary points,. 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 > & localFaces () const
 Return patch faces addressing into local point list. More...
 
const labelListmeshPoints () const
 Return labelList of mesh points in patch. They are constructed. More...
 
const Map< label > & meshPointMap () const
 Mesh point map. Given the global point index find its. More...
 
const Field< PointType > & 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...
 
label whichEdge (const edge &) const
 Given an edge in local point labels, return its. More...
 
labelList meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const
 Return labels of patch edges in the global edge list using. More...
 
labelList meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const
 Return labels of patch edges in the global edge list using. More...
 
const Field< PointType > & faceCentres () const
 Return face centres for patch. More...
 
const Field< PointType > & faceNormals () const
 Return face normals for patch. More...
 
const Field< PointType > & pointNormals () const
 Return point normals for patch. More...
 
template<class ToPatch >
List< objectHitprojectPoints (const ToPatch &targetPatch, const Field< PointType > &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< PointType > &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=NULL) const
 Check surface formed by patch for manifoldness (see above). More...
 
bool checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const
 Checks primitivePatch for faces sharing point but not edge. More...
 
virtual void movePoints (const Field< PointType > &)
 Correct patch after moving points. More...
 
void operator= (const PrimitivePatch< Face, FaceList, PointField, PointType > &)
 Assignment. More...
 
template<class ToPatch >
Foam::List< Foam::objectHitprojectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 
template<class ToPatch >
Foam::List< Foam::objectHitprojectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const
 

Static Public Member Functions

static void writeVTK (const fileName &name, const FaceListType &faces, const Field< PointType > &points)
 Write generic VTK patch, HJ, 14/Jan/2009. More...
 
static void writeVTKNormals (const fileName &name, const FaceListType &faces, const Field< PointType > &points)
 Write generic VTK patch normals, HJ, 14/Jan/2009. More...
 

Private Member Functions

void calcBdryPoints () const
 Calculated boundary points on a patch. More...
 
void calcAddressing () const
 Calculate addressing. More...
 
void calcPointEdges () const
 Calculate point-edge addressing. More...
 
void calcPointFaces () const
 Calculate point-face addressing. More...
 
void calcMeshData () const
 Calculate mesh addressing. More...
 
void calcMeshPointMap () const
 Calculate mesh point map. More...
 
void calcEdgeLoops () const
 Calculate outside edge loops. More...
 
void calcLocalPoints () const
 Calculate local points. More...
 
void calcLocalPointOrder () const
 Calculate local point order. More...
 
void calcFaceCentres () const
 Calculate face centres. More...
 
void calcFaceNormals () const
 Calculate unit face normals. More...
 
void calcPointNormals () const
 Calculate unit point normals. More...
 
void calcEdgeOwner () const
 Calculate edge owner. More...
 
void visitPointRegion (const label pointI, const labelList &pFaces, const label startFaceI, const label startEdgeI, boolList &pFacesHad) const
 Face-edge-face walk while remaining on a patch point. More...
 
void calcIntBdryEdges () const
 Calculate edges of the patch. More...
 
void calcBdryPoints () const
 Calculated boundary points on a patch. More...
 
void calcAddressing () const
 Calculate addressing. More...
 
void calcPointEdges () const
 Calculate point-edge addressing. More...
 
void calcPointFaces () const
 Calculate point-face addressing. More...
 
void calcMeshData () const
 Calculate mesh addressing. More...
 
void calcMeshPointMap () const
 Calculate mesh point map. More...
 
void calcEdgeLoops () const
 Calculate outside edge loops. More...
 
void calcLocalPoints () const
 Calculate local points. More...
 
void calcLocalPointOrder () const
 Calculate local point order. More...
 
void calcFaceCentres () const
 Calculate face centres. More...
 
void calcFaceNormals () const
 Calculate unit face normals. More...
 
void calcPointNormals () const
 Calculate unit point normals. More...
 
void calcEdgeOwner () const
 Calculate edge owner. More...
 
void visitPointRegion (const label pointI, const labelList &pFaces, const label startFaceI, const label startEdgeI, boolList &pFacesHad) const
 Face-edge-face walk while remaining on a patch point. More...
 

Private Attributes

PointField points_
 Reference to global list of points. More...
 
edgeListedgesPtr_
 Edges of the patch; address into local point list;. More...
 
label nInternalEdges_
 Which part of edgesPtr_ is internal edges. More...
 
labelListboundaryPointsPtr_
 Boundary point labels, addressing into local point list. More...
 
labelListListfaceFacesPtr_
 Face-face addressing. More...
 
labelListListedgeFacesPtr_
 Edge-face addressing. More...
 
labelListListfaceEdgesPtr_
 Face-edge addressing. More...
 
labelListListpointEdgesPtr_
 Point-edge addressing. More...
 
labelListListpointFacesPtr_
 Point-face addressing. More...
 
List< Face > * localFacesPtr_
 Faces addressing into local point list. More...
 
labelListmeshPointsPtr_
 Labels of mesh points. More...
 
Map< label > * meshPointMapPtr_
 Mesh point map. Given the global point index find its. More...
 
labelListListedgeLoopsPtr_
 Outside edge loops. More...
 
Field< PointType > * localPointsPtr_
 Points local to patch. More...
 
labelListlocalPointOrderPtr_
 Local point order for most efficient search. More...
 
Field< PointType > * faceCentresPtr_
 Face centres. More...
 
Field< PointType > * faceNormalsPtr_
 Face unit normals. More...
 
Field< PointType > * pointNormalsPtr_
 Point unit normals. More...
 

Static Private Attributes

static const debug::optimisationSwitch nSquaredProjection_
 N-squared projection forced. More...
 

Detailed Description

template<class Face, template< class > class FaceList, class PointField, class PointType = point>
class Foam::PrimitivePatch< Face, FaceList, PointField, PointType >

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

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 88 of file PrimitivePatchTemplate.H.

Member Typedef Documentation

◆ FaceType [1/2]

typedef Face FaceType

Definition at line 98 of file PrimitivePatchTemplate.H.

◆ FaceListType [1/2]

typedef FaceList<Face> FaceListType

Definition at line 99 of file PrimitivePatchTemplate.H.

◆ PointFieldType [1/2]

typedef PointField PointFieldType

Definition at line 100 of file PrimitivePatchTemplate.H.

◆ FaceType [2/2]

typedef Face FaceType

Definition at line 97 of file PrimitivePatch.H.

◆ FaceListType [2/2]

typedef FaceList<Face> FaceListType

Definition at line 98 of file PrimitivePatch.H.

◆ PointFieldType [2/2]

typedef PointField PointFieldType

Definition at line 99 of file PrimitivePatch.H.

Member Enumeration Documentation

◆ surfaceTopo [1/2]

Enumeration defining the surface type. Used in check routines.

Enumerator
MANIFOLD 
OPEN 
ILLEGAL 
MANIFOLD 
OPEN 
ILLEGAL 

Definition at line 106 of file PrimitivePatchTemplate.H.

◆ surfaceTopo [2/2]

Enumeration defining the surface type. Used in check routines.

Enumerator
MANIFOLD 
OPEN 
ILLEGAL 
MANIFOLD 
OPEN 
ILLEGAL 

Definition at line 105 of file PrimitivePatch.H.

Constructor & Destructor Documentation

◆ PrimitivePatch() [1/7]

PrimitivePatch ( const FaceList< Face > &  faces,
const Field< PointType > &  points 
)

Construct from components.

Definition at line 58 of file PrimitivePatchTemplate.C.

◆ PrimitivePatch() [2/7]

PrimitivePatch ( FaceList< Face > &  faces,
Field< PointType > &  points,
const bool  reUse 
)

Construct from components, reuse storage.

Definition at line 95 of file PrimitivePatchTemplate.C.

◆ PrimitivePatch() [3/7]

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

Construct as copy.

Definition at line 132 of file PrimitivePatchTemplate.C.

◆ ~PrimitivePatch() [1/2]

~PrimitivePatch
virtual

Definition at line 169 of file PrimitivePatchTemplate.C.

◆ PrimitivePatch() [4/7]

PrimitivePatch ( const FaceList< Face > &  faces,
const Field< PointType > &  points 
)

Construct from components.

◆ PrimitivePatch() [5/7]

PrimitivePatch ( const Xfer< FaceList< Face > > &  faces,
const Xfer< List< PointType > > &  points 
)

Construct from components.

Definition at line 75 of file PrimitivePatch.C.

◆ PrimitivePatch() [6/7]

PrimitivePatch ( FaceList< Face > &  faces,
Field< PointType > &  points,
const bool  reUse 
)

Construct from components, reuse storage.

◆ PrimitivePatch() [7/7]

PrimitivePatch ( const PrimitivePatch< Face, FaceList, PointField, PointType > &  )

Construct as copy.

◆ ~PrimitivePatch() [2/2]

virtual ~PrimitivePatch ( )
virtual

Destructor.

Member Function Documentation

◆ calcBdryPoints() [1/2]

void calcBdryPoints
private

Calculated boundary points on a patch.

Definition at line 40 of file PrimitivePatchBdryPoints.C.

◆ calcAddressing() [1/2]

void calcAddressing
private

Calculate addressing.

Definition at line 52 of file PrimitivePatchAddressing.C.

◆ calcPointEdges() [1/2]

void calcPointEdges
private

Calculate point-edge addressing.

Definition at line 44 of file PrimitivePatchPointAddressing.C.

◆ calcPointFaces() [1/2]

void calcPointFaces
private

Calculate point-face addressing.

Definition at line 115 of file PrimitivePatchPointAddressing.C.

◆ calcMeshData() [1/2]

void calcMeshData
private

Calculate mesh addressing.

1.5 code:

If the point is used, set the mark to 1

Definition at line 40 of file PrimitivePatchMeshData.C.

◆ calcMeshPointMap() [1/2]

void calcMeshPointMap
private

Calculate mesh point map.

Definition at line 160 of file PrimitivePatchMeshData.C.

◆ calcEdgeLoops() [1/2]

void calcEdgeLoops
private

Calculate outside edge loops.

Definition at line 44 of file PrimitivePatchEdgeLoops.C.

◆ calcLocalPoints() [1/2]

void calcLocalPoints
private

Calculate local points.

Definition at line 211 of file PrimitivePatchMeshData.C.

◆ calcLocalPointOrder() [1/2]

void calcLocalPointOrder
private

Calculate local point order.

Definition at line 43 of file PrimitivePatchLocalPointOrder.C.

◆ calcFaceCentres() [1/2]

void calcFaceCentres
private

Calculate face centres.

Definition at line 329 of file PrimitivePatchMeshData.C.

◆ calcFaceNormals() [1/2]

void calcFaceNormals
private

Calculate unit face normals.

Definition at line 379 of file PrimitivePatchMeshData.C.

◆ calcPointNormals() [1/2]

void calcPointNormals
private

Calculate unit point normals.

Definition at line 263 of file PrimitivePatchMeshData.C.

◆ calcEdgeOwner() [1/2]

void calcEdgeOwner ( ) const
private

Calculate edge owner.

◆ visitPointRegion() [1/2]

void visitPointRegion ( const label  pointI,
const labelList pFaces,
const label  startFaceI,
const label  startEdgeI,
boolList pFacesHad 
) const
private

Face-edge-face walk while remaining on a patch point.

Used to determine if surface multiply connected through point.

Definition at line 46 of file PrimitivePatchCheck.C.

◆ clearOut() [1/2]

void clearOut

Definition at line 132 of file PrimitivePatchClear.C.

Referenced by processorPolyPatch::updateMesh().

Here is the caller graph for this function:

◆ clearGeom() [1/2]

void clearGeom

Definition at line 40 of file PrimitivePatchClear.C.

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

Here is the caller graph for this function:

◆ clearTopology() [1/2]

void clearTopology

Definition at line 65 of file PrimitivePatchClear.C.

Referenced by polyPatch::clearAddressing().

Here is the caller graph for this function:

◆ clearPatchMeshAddr() [1/2]

void clearPatchMeshAddr

Definition at line 107 of file PrimitivePatchClear.C.

Referenced by polyPatch::clearAddressing().

Here is the caller graph for this function:

◆ points() [1/2]

const Field<PointType>& points ( ) const
inline

Return reference to global points.

Definition at line 282 of file PrimitivePatchTemplate.H.

Referenced by geometrySurface::addGeometryToScene(), singleCellFvMesh::agglomerateMesh(), pairPatchAgglomeration::agglomeratePatch(), booleanSurface::booleanSurface(), isoSurfaceCell::calcAddressing(), Foam::meshTools::calcBoxPointNormals(), calcCurvature(), addPatchCellLayer::calcExtrudeInfo(), perfectInterface::calcFaceCentres(), patchCloudSet::calcSamples(), patchSeedSet::calcSamples(), cyclicAMIPolyPatch::calcTransforms(), cyclicPolyPatch::calcTransforms(), calcVertexCoordSys(), calcVertexNormals(), Foam::checkCoupledPoints(), Foam::checkTopology(), deleteEdges(), distributedTriSurfaceMesh::distribute(), drawHitProblem(), dumpCyclicMatch(), edgeIntersections::edgeIntersections(), PointEdgeWave< Type, TrackingData >::enterDomain(), extrudePatchMesh::extrudeMesh(), patchProbes::findElements(), mappedPatchBase::findSamples(), oldCyclicPolyPatch::getCentresAndAnchors(), cyclicPolyPatch::getCentresAndAnchors(), oldCyclicPolyPatch::getGeometricHalves(), autoLayerDriver::getPatchDisplacement(), processorPointPatch::initGeometry(), processorPolyPatch::initOrder(), cyclicPolyPatch::initOrder(), PointEdgeWave< Type, TrackingData >::leaveDomain(), main(), immersedBoundaryFvPatch::makeTriSf(), momentOfInertia::massPropertiesPatch(), momentOfInertia::massPropertiesShell(), momentOfInertia::massPropertiesSolid(), oldCyclicPolyPatch::matchAnchors(), offsetSurface::operator()(), triSurface::operator=(), oldCyclicPolyPatch::order(), processorPolyPatch::order(), cyclicPolyPatch::order(), orientedSurface::orientedSurface(), autoSnapDriver::outwardsDisplacement(), sampledCuttingPlane::points(), distanceSurface::points(), sampledIsoSurface::points(), boundaryMesh::read(), triSurf::readSurface(), cyclicPeriodicAMIPolyPatch::resetAMI(), globalPoints::reverseMeshPoints(), refinementSurfaces::setMinLevelFields(), patchInjectionBase::setPositionAndCell(), addPatchCellLayer::setRefinement(), cellDistFuncs::smallestDist(), autoSnapDriver::smoothPatchDisplacement(), isoSurface::stitchTriPoints(), MeshedSurface< Foam::face >::storedPoints(), triSurface::storedPoints(), triSurfaceTools::surfaceNormal(), triSurfaceTools::surfaceSide(), faceShading::triangulate(), faceHeatShading::triangulate(), triSurfaceTools::triangulate(), sampledSurfaces::update(), patchEdgeFaceInfo::updateEdge(), patchInjectionBase::updateMesh(), combineFaces::validFace(), isoSurfaceCell::validTri(), isoSurface::validTri(), immersedBoundaryFvPatchField< Type >::write(), and faceCoupleInfo::writePointsFaces().

◆ nPoints() [1/2]

label nPoints ( ) const
inline

Return number of points supporting patch faces.

Definition at line 293 of file PrimitivePatchTemplate.H.

Referenced by booleanSurface::booleanSurface(), Foam::meshTools::calcBoxPointNormals(), autoSnapDriver::calcNearestFacePointProperties(), autoLayerDriver::calculateLayerThickness(), calcVertexNormals(), Foam::checkTopology(), meshStructure::correct(), globalPoints::countPatchPoints(), autoSnapDriver::detectNearSurfaces(), autoSnapDriver::determineBaffleFeatures(), triSurfaceTools::doRefine(), autoSnapDriver::doSnap(), polyDualMesh::dualPatch(), autoSnapDriver::edgePatchDist(), autoSnapDriver::featureAttractionUsingFeatureEdges(), medialAxisMeshMover::findIsolatedRegions(), cyclicPolyPatch::getCentresAndAnchors(), autoSnapDriver::getFacePoints(), boundaryMesh::getNPoints(), autoSnapDriver::getZoneSurfacePoints(), triSurfaceTools::greenRefine(), PointEdgeWave< Type, TrackingData >::handleCyclicPatches(), autoLayerDriver::handleNonManifolds(), PointEdgeWave< Type, TrackingData >::handleProcPatches(), main(), PatchTools::matchPoints(), triSurfaceTools::mergePoints(), globalMeshData::mergePoints(), fieldSmoother::minSmoothField(), medialAxisMeshMover::move(), offsetSurface::offsetSurface(), patchWriter::patchWriter(), autoSnapDriver::reverseAttractMeshPoints(), globalPoints::sendPatchPoints(), addPatchCellLayer::setRefinement(), autoLayerDriver::setupLayerInfoTruncation(), autoSnapDriver::smoothAndConstrain(), autoSnapDriver::smoothPatchDisplacement(), surfaceIntersection::surfaceIntersection(), surfaceMeshWriter::surfaceMeshWriter(), syncTools::syncPointList(), syncPoints(), isoSurface::syncUnseparatedPoints(), AC3DsurfaceFormat< Face >::write(), triSurface::writeAC(), and surfaceIntersection::writeIntersectedEdges().

Here is the caller graph for this function:

◆ nEdges() [1/2]

label nEdges ( ) const
inline

◆ edges() [1/2]

const Foam::edgeList & edges

Return list of edges, address into LOCAL point list.

Definition at line 212 of file PrimitivePatchTemplate.C.

Referenced by layerAdditionRemoval::addCellLayer(), booleanSurface::booleanSurface(), addPatchCellLayer::calcExtrudeInfo(), polyDualMesh::calcFeatures(), autoSnapDriver::calcNearestFacePointProperties(), createShellMesh::calcPointRegions(), autoSnapDriver::calcSnapDistance(), edgeIntersections::checkEdges(), checkFlatRegionEdge(), searchableSurfaces::checkIntersection(), autoLayerDriver::checkManifold(), surfaceIntersection::classifyHit(), triSurfaceTools::collapseEdges(), meshStructure::correct(), patchPatchDist::correct(), cyclicPolyPatch::coupledEdges(), slidingInterface::coupleInterface(), deleteBox(), deleteEdges(), attachDetach::detachInterface(), autoSnapDriver::determineBaffleFeatures(), surfaceIntersection::doCutEdges(), triSurfaceTools::doRefine(), polyDualMesh::dualPatch(), triSurfaceTools::edgeCosAngle(), edgeSurface::edgeSurface(), surfaceIntersection::excludeEdgeHit(), extrudedMesh::extrudedCells(), extrudedMesh::extrudedFaces(), medialAxisMeshMover::findIsolatedRegions(), faceCoupleInfo::findMappedEdges(), triSurfaceTools::getCollapsedFaces(), surfaceIntersection::getEdge(), triSurfaceTools::getEdge(), addPatchCellLayer::getEdgeString(), triSurfaceTools::getMergedEdges(), combineFaces::getOutsideFace(), autoLayerDriver::getPatchDisplacement(), polyDualMesh::getPointEdges(), triSurfaceTools::getVertexTriangles(), triSurfaceTools::getVertexVertices(), triSurfaceTools::greenRefine(), autoLayerDriver::handleFeatureAngle(), medialAxisMeshMover::handleFeatureAngleLayerTerminations(), autoLayerDriver::handleNonManifolds(), edgeIntersections::inlinePerturb(), edgeIntersections::intersectEdges(), autoSnapDriver::isFeaturePoint(), main(), cellClassification::markFaces(), PatchTools::matchEdges(), triSurfaceTools::maxEdge(), triSurfaceTools::minEdge(), surfaceIntersection::minEdgeLen(), edgeIntersections::minEdgeLength(), fieldSmoother::minSmoothField(), slidingInterface::modifyMotionPoints(), PrimitivePatch< labelledTri, List, pointField, point >::nEdges(), polyBoundaryMesh::neighbourEdges(), edgeIntersections::offsetPerturb(), triSurfaceTools::oppositeEdge(), triSurfaceTools::oppositeVertex(), triSurfaceTools::otherEdges(), slidingInterface::projectPoints(), booleanSurface::propagateEdgeSide(), booleanSurface::propagateSide(), edgeIntersections::rotatePerturb(), addPatchCellLayer::sameEdgeNeighbour(), pairPatchAgglomeration::setBasedEdgeWeights(), pairPatchAgglomeration::setEdgeWeights(), addPatchCellLayer::setFaceProps(), perfectInterface::setRefinement(), addPatchCellLayer::setRefinement(), autoSnapDriver::smoothAndConstrain(), fieldSmoother::smoothPatchNormals(), autoSnapDriver::stringFeatureEdges(), surfaceIntersection::surfaceIntersection(), triSurfaceTools::surfaceSide(), syncTools::syncEdgeMap(), testSparseData(), autoLayerDriver::truncateDisplacement(), patchFaceOrientation::updateEdge(), patchEdgeFaceInfo::updateEdge(), patchFaceOrientation::updateFace(), OBJstream::write(), faceCoupleInfo::writeEdges(), and surfaceIntersection::writeIntersectedEdges().

◆ nInternalEdges() [1/2]

Foam::label nInternalEdges

◆ isInternalEdge() [1/2]

bool isInternalEdge ( const label  edgeI) const
inline

Is internal edge?

Definition at line 311 of file PrimitivePatchTemplate.H.

Referenced by pairPatchAgglomeration::setBasedEdgeWeights(), and pairPatchAgglomeration::setEdgeWeights().

Here is the caller graph for this function:

◆ boundaryPoints() [1/2]

const Foam::labelList & boundaryPoints

Return list of boundary points,.

address into LOCAL point list

Definition at line 252 of file PrimitivePatchTemplate.C.

Referenced by globalPoints::initOwnPoints().

Here is the caller graph for this function:

◆ faceFaces() [1/2]

const Foam::labelListList & faceFaces

◆ edgeFaces() [1/2]

const Foam::labelListList & edgeFaces

Return edge-face addressing.

Definition at line 292 of file PrimitivePatchTemplate.C.

Referenced by layerAdditionRemoval::addCellLayer(), booleanSurface::booleanSurface(), polyDualMesh::calcDual(), addPatchCellLayer::calcExtrudeInfo(), polyDualMesh::calcFeatures(), autoSnapDriver::calcNearestFacePointProperties(), createShellMesh::calcPointRegions(), checkFlatRegionEdge(), booleanSurface::checkIncluded(), autoLayerDriver::checkManifold(), surfaceIntersection::classifyHit(), triSurfaceTools::collapseEdges(), polyDualMesh::collectPatchInternalFace(), polyDualMesh::collectPatchSideFace(), autoSnapDriver::determineBaffleFeatures(), polyDualMesh::dualPatch(), triSurfaceTools::edgeSide(), edgeSurface::edgeSurface(), patchZones::edgeToFace(), extendedEdgeMesh::extendedEdgeMesh(), extrudedMesh::extrudedCells(), extrudedMesh::extrudedFaces(), extrudePatchMesh::extrudeMesh(), cellClassification::fillRegionEdges(), meshRefinement::findEdgeConnectedProblemCells(), triSurfaceTools::getCollapsedFaces(), oldCyclicPolyPatch::getGeometricHalves(), combineFaces::getOutsideFace(), triSurfaceTools::getTriangle(), triSurfaceTools::getVertexTriangles(), addPatchCellLayer::globalEdgeFaces(), triSurfaceTools::greenRefine(), autoLayerDriver::handleFeatureAngle(), medialAxisMeshMover::handleFeatureAngleLayerTerminations(), autoLayerDriver::handleNonManifolds(), main(), triSurfaceTools::otherFace(), slidingInterface::projectPoints(), triSurfaceTools::protectNeighbours(), pairPatchAgglomeration::setBasedEdgeWeights(), pairPatchAgglomeration::setEdgeWeights(), addPatchCellLayer::setRefinement(), surfaceIntersection::surfaceIntersection(), triSurfaceTools::surfaceNormal(), autoLayerDriver::truncateDisplacement(), and unmarkBaffles().

Here is the caller graph for this function:

◆ faceEdges() [1/2]

const Foam::labelListList & faceEdges

◆ pointEdges() [1/2]

const Foam::labelListList & pointEdges

◆ pointFaces() [1/2]

const Foam::labelListList & pointFaces

◆ localFaces() [1/2]

const Foam::List< Face > & localFaces

Return patch faces addressing into local point list.

Definition at line 372 of file PrimitivePatchTemplate.C.

Referenced by layerAdditionRemoval::addCellLayer(), autoLayerDriver::avgPointData(), autoSnapDriver::avoidDiagonalAttraction(), mappedPatchBase::calcAMI(), enrichedPatch::calcCutFaces(), autoSnapDriver::calcNearestSurfaceFeature(), attachDetach::calcPointMatchMap(), createShellMesh::calcPointRegions(), autoLayerDriver::calculateLayerThickness(), autoLayerDriver::checkAndUnmark(), checkFlatRegionEdge(), surfaceIntersection::classifyHit(), triSurfaceTools::collapseEdges(), faceSource::combineMeshGeometry(), autoLayerDriver::countExtrusion(), attachDetach::detachInterface(), autoSnapDriver::detectWarpedFaces(), AMIInterpolation< SourcePatch, TargetPatch >::distributePatches(), triSurfaceTools::doRefine(), surfaceIntersection::excludeEdgeHit(), extractSurface(), extrudedMesh::extrudedCells(), extrudedMesh::extrudedFaces(), extrudePatchMesh::extrudeMesh(), autoSnapDriver::findDiagonalAttraction(), localPointRegion::findDuplicateFaces(), medialAxisMeshMover::findIsolatedRegions(), surfaceIntersection::getEdge(), combineFaces::getOutsideFace(), polyDualMesh::getPointEdges(), cellDistFuncs::getPointNeighbours(), autoLayerDriver::getVertexString(), triSurfaceTools::greenRefine(), autoLayerDriver::growNoExtrusion(), medialAxisMeshMover::handleFeatureAngleLayerTerminations(), autoLayerDriver::handleWarpedFaces(), processorPolyPatch::initOrder(), intersectedSurface::intersectedSurface(), main(), Foam::mergeAndWrite(), removeFaces::mergeFaces(), triSurfaceTools::mergePoints(), MeshedSurface< Foam::face >::MeshedSurface(), meshTriangulation::meshTriangulation(), edgeIntersections::offsetPerturb(), triSurfaceTools::oppositeVertex(), oldCyclicPolyPatch::order(), processorPolyPatch::order(), triSurfaceTools::otherEdges(), triSurfaceTools::otherVertices(), pairPatchAgglomeration::pairPatchAgglomeration(), patchWriter::patchWriter(), autoSnapDriver::preventFaceSqueeze(), slidingInterface::projectPoints(), booleanSurface::propagateSide(), boundaryMesh::read(), boundaryMesh::readTriSurface(), autoSnapDriver::releasePointsNextToMultiPatch(), autoSnapDriver::repatchToSurface(), regionCoupledBase::resetAMI(), cyclicAMIPolyPatch::resetAMI(), autoSnapDriver::reverseAttractMeshPoints(), autoLayerDriver::setNumLayers(), addPatchCellLayer::setRefinement(), autoLayerDriver::setupLayerInfoTruncation(), autoSnapDriver::splitDiagonals(), intersectedSurface::splitFace(), surfaceMeshWriter::surfaceMeshWriter(), triSurfaceTools::surfaceNormal(), triSurfaceTools::surfaceSide(), faceShading::triangulate(), faceHeatShading::triangulate(), triSurfaceTools::triangulate(), triSurfaceTools::triangulateFaceCentre(), boundaryMesh::triangulateLocal(), autoLayerDriver::truncateDisplacement(), sampledPatch::update(), patchFaceOrientation::updateEdge(), patchFaceOrientation::updateFace(), AC3DsurfaceFormat< Face >::write(), OBJstream::write(), triSurface::writeAC(), externalCoupledFunctionObject::writeGeometry(), removeFaces::writeOBJ(), faceCoupleInfo::writePointsFaces(), and meshRefinement::zonify().

◆ meshPoints() [1/2]

const Foam::labelList & meshPoints

Return labelList of mesh points in patch.

Definition at line 392 of file PrimitivePatchTemplate.C.

Referenced by layerAdditionRemoval::addCellLayer(), globalPoints::addToSend(), singleCellFvMesh::agglomerateMesh(), pairPatchAgglomeration::agglomeratePatch(), attachDetach::attachInterface(), autoSnapDriver::avgCellCentres(), slidingInterface::calcAttachedAddressing(), Foam::meshTools::calcBoxPointNormals(), calcCurvature(), addPatchCellLayer::calcExtrudeInfo(), polyDualMesh::calcFeatures(), enrichedPatch::calcMasterPointFaces(), autoSnapDriver::calcNearestFacePointProperties(), autoSnapDriver::calcNearestSurface(), autoSnapDriver::calcNearestSurfaceFeature(), attachDetach::calcPointMatchMap(), patchCloudSet::calcSamples(), patchSeedSet::calcSamples(), autoSnapDriver::calcSnapDistance(), medialAxisMeshMover::calculateDisplacement(), autoLayerDriver::calculateLayerThickness(), calcVertexNormals(), autoLayerDriver::checkManifold(), Foam::checkTopology(), Foam::checkWedges(), polyDualMesh::collectPatchSideFace(), enrichedPatch::completePointMap(), inversePointDistanceDiffusivity::correct(), meshStructure::correct(), patchPatchDist::correct(), cellDistFuncs::correctBoundaryPointCells(), cyclicPolyPatch::coupledEdges(), slidingInterface::coupleInterface(), deleteEdges(), attachDetach::detachInterface(), autoSnapDriver::detectNearSurfaces(), polyDualMesh::dualPatch(), autoSnapDriver::edgePatchDist(), PointEdgeWave< Type, TrackingData >::enterDomain(), extractSurface(), extrudePatchMesh::extrudeMesh(), layerAdditionRemoval::extrusionDir(), autoSnapDriver::featureAttractionUsingFeatureEdges(), medialAxisMeshMover::findIsolatedRegions(), mappedPatchBase::findSamples(), syncTools::getMasterPoints(), combineFaces::getOutsideFace(), autoLayerDriver::getPatchDisplacement(), globalPoints::globalPoints(), autoLayerDriver::growNoExtrusion(), PointEdgeWave< Type, TrackingData >::handleCollocatedPoints(), PointEdgeWave< Type, TrackingData >::handleCyclicPatches(), autoLayerDriver::handleNonManifolds(), PointEdgeWave< Type, TrackingData >::handleProcPatches(), globalPoints::initOwnPoints(), edgeIntersections::inlinePerturb(), edgeIntersections::intersectEdges(), PointEdgeWave< Type, TrackingData >::leaveDomain(), localPointRegion::localPointRegion(), main(), pointConstraints::makePatchPatchAddressing(), meshRefinement::markFacesOnProblemCells(), meshRefinement::markFacesOnProblemCellsGeometric(), PatchTools::matchEdges(), hexRef8::matchHexShape(), PatchTools::matchPoints(), removeFaces::mergeFaces(), globalMeshData::mergePoints(), polyMeshAdder::mergePrimitives(), facePointPatch::meshPoints(), fieldSmoother::minSmoothField(), medialAxisMeshMover::move(), polyBoundaryMesh::neighbourEdges(), linearValveLayersFvMesh::newPoints(), PrimitivePatch< labelledTri, List, pointField, point >::nPoints(), edgeIntersections::offsetPerturb(), orientedSurface::orientedSurface(), autoSnapDriver::outwardsDisplacement(), volPointInterpolation::pushUntransformedData(), globalPoints::receivePatchPoints(), autoSnapDriver::reverseAttractMeshPoints(), edgeIntersections::rotatePerturb(), globalPoints::sendPatchPoints(), motionSmootherAlgo::setDisplacement(), addPatchCellLayer::setFaceProps(), autoLayerDriver::setNumLayers(), perfectInterface::setRefinement(), addPatchCellLayer::setRefinement(), autoLayerDriver::setupLayerInfoTruncation(), autoSnapDriver::smoothAndConstrain(), autoSnapDriver::smoothDisplacement(), autoSnapDriver::smoothInternalDisplacement(), autoSnapDriver::smoothPatchDisplacement(), fieldSmoother::smoothPatchNormals(), polyDualMesh::splitFace(), syncTools::syncEdgeMap(), medialAxisMeshMover::syncPatchDisplacement(), autoLayerDriver::syncPatchDisplacement(), globalMeshData::syncPointData(), syncTools::syncPointList(), syncTools::syncPointMap(), syncPoints(), isoSurface::syncUnseparatedPoints(), pointConstraints::syncUntransformedData(), testSparseData(), boundaryMesh::triangulateLocal(), medialAxisMeshMover::update(), patchEdgeFaceInfo::updateEdge(), and externalCoupledFunctionObject::writeGeometry().

◆ meshPointMap() [1/2]

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

◆ localPoints() [1/2]

const Foam::Field< PointType > & localPoints

Return pointField of points in patch.

Definition at line 432 of file PrimitivePatchTemplate.C.

Referenced by autoSnapDriver::avoidDiagonalAttraction(), booleanSurface::booleanSurface(), meshToMesh0::calcAddressing(), mappedPatchBase::calcAMI(), autoSnapDriver::calcNearestSurface(), autoSnapDriver::calcNearestSurfaceFeature(), autoSnapDriver::calcSnapDistance(), edgeIntersections::checkEdges(), searchableSurfaces::checkIntersection(), surfaceIntersection::classifyHit(), triSurfaceTools::collapseEdges(), faceSource::combineMeshGeometry(), enrichedPatch::completePointMap(), cyclicPolyPatch::coupledEdges(), slidingInterface::coupleInterface(), deleteBox(), autoSnapDriver::detectNearSurfaces(), autoSnapDriver::detectWarpedFaces(), autoSnapDriver::determineBaffleFeatures(), autoSnapDriver::determineFeatures(), AMIInterpolation< SourcePatch, TargetPatch >::distributePatches(), surfaceIntersection::doCutEdges(), triSurfaceTools::doRefine(), autoSnapDriver::doSnap(), autoLayerDriver::dumpDisplacement(), triSurfaceTools::edgeCosAngle(), autoSnapDriver::edgePatchDist(), edgeSurface::edgeSurface(), extrudedMesh::extrudedFaces(), extrudedMesh::extrudedPoints(), autoSnapDriver::featureAttractionUsingFeatureEdges(), autoSnapDriver::featureAttractionUsingReconstruction(), autoSnapDriver::findDiagonalAttraction(), autoSnapDriver::findNearFeatureEdge(), autoSnapDriver::findNearFeaturePoint(), oldCyclicPolyPatch::getCentresAndAnchors(), cyclicPolyPatch::getCentresAndAnchors(), autoLayerDriver::getPatchDisplacement(), triSurfaceTools::greenRefine(), autoLayerDriver::handleFeatureAngle(), processorPolyPatch::initOrder(), autoSnapDriver::isFeaturePoint(), facePointPatch::localPoints(), main(), cellClassification::markFaces(), meshRefinement::markFacesOnProblemCells(), triSurfaceTools::maxEdge(), Foam::mergeAndWrite(), triSurfaceTools::mergePoints(), MeshedSurface< Foam::face >::MeshedSurface(), meshTriangulation::meshTriangulation(), triSurfaceTools::minEdge(), surfaceIntersection::minEdgeLen(), edgeIntersections::minEdgeLength(), slidingInterface::modifyMotionPoints(), polyBoundaryMesh::neighbourEdges(), edgeIntersections::offsetPerturb(), processorPolyPatch::order(), pairPatchAgglomeration::pairPatchAgglomeration(), patchWriter::patchWriter(), autoSnapDriver::preventFaceSqueeze(), slidingInterface::projectPoints(), boundaryMesh::read(), boundaryMesh::readTriSurface(), autoSnapDriver::releasePointsNextToMultiPatch(), regionCoupledBase::resetAMI(), autoSnapDriver::reverseAttractMeshPoints(), pairPatchAgglomeration::setBasedEdgeWeights(), pairPatchAgglomeration::setEdgeWeights(), autoLayerDriver::setNumLayers(), perfectInterface::setRefinement(), addPatchCellLayer::setRefinement(), autoSnapDriver::smoothDisplacement(), autoSnapDriver::smoothPatchDisplacement(), autoSnapDriver::stringFeatureEdges(), surfaceIntersection::surfaceIntersection(), surfaceMeshWriter::surfaceMeshWriter(), triSurfaceTools::surfaceSide(), testSparseData(), faceHeatShading::triangulate(), faceShading::triangulate(), triSurfaceTools::triangulate(), triSurfaceTools::triangulateFaceCentre(), boundaryMesh::triangulateLocal(), sampledPatch::update(), AC3DsurfaceFormat< Face >::write(), OBJstream::write(), triSurface::writeAC(), faceCoupleInfo::writeEdges(), surfaceIntersection::writeIntersectedEdges(), removeFaces::writeOBJ(), triSurfaceTools::writeOBJ(), faceCoupleInfo::writePointsFaces(), and meshRefinement::zonify().

◆ localPointOrder() [1/2]

const Foam::labelList & localPointOrder

Return orders the local points for most efficient search.

Definition at line 452 of file PrimitivePatchTemplate.C.

◆ whichPoint() [1/2]

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 473 of file PrimitivePatchTemplate.C.

Referenced by slidingInterface::modifyMotionPoints().

Here is the caller graph for this function:

◆ whichEdge() [1/2]

Foam::label whichEdge ( const edge e) const

Given an edge in local point labels, return its index.

in the edge list. If the edge is not found, return -1

Definition at line 175 of file PrimitivePatchMeshEdges.C.

Referenced by slidingInterface::modifyMotionPoints().

Here is the caller graph for this function:

◆ meshEdges() [1/4]

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

◆ meshEdges() [2/4]

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

Return labels of patch edges in the global edge list using.

basic edge addressing.

Definition at line 118 of file PrimitivePatchMeshEdges.C.

◆ faceCentres() [1/2]

const Foam::Field< PointType > & faceCentres

◆ faceNormals() [1/2]

const Foam::Field< PointType > & faceNormals

Return face normals for patch.

Definition at line 520 of file PrimitivePatchTemplate.C.

Referenced by ThermoSurfaceFilm< CloudType >::absorbInteraction(), geometrySurface::addGeometryToScene(), ThermoSurfaceFilm< CloudType >::bounceInteraction(), Foam::meshTools::calcBoxPointNormals(), polyDualMesh::calcFeatures(), symmetryPlanePolyPatch::calcGeometry(), wedgePolyPatch::calcGeometry(), isoSurfaceCell::calcSnappedPoint(), faceHeatShading::calculate(), faceShading::calculate(), solarLoad::calculateQdiff(), solarHeatLoad::calculateQdiff(), checkFlatRegionEdge(), surfaceIntersection::classifyHit(), isoSurfaceCell::collapseSurface(), autoSnapDriver::determineBaffleFeatures(), surfaceToCell::differingPointNormals(), directions::directions(), ThermoSurfaceFilm< CloudType >::drySplashInteraction(), triSurfaceTools::edgeSide(), extrudePatchMesh::extrudeMesh(), meshRefinement::findEdgeConnectedProblemCells(), oldCyclicPolyPatch::getGeometricHalves(), autoLayerDriver::getPatchDisplacement(), autoLayerDriver::handleFeatureAngle(), medialAxisMeshMover::handleFeatureAngleLayerTerminations(), autoLayerDriver::handleWarpedFaces(), singleLayerRegion::initialise(), regionModel1D::initialise(), processorPolyPatch::initOrder(), edgeIntersections::intersectEdges(), intersectedSurface::intersectedSurface(), main(), regionModel1D::moveMesh(), processorPolyPatch::order(), autoSnapDriver::outwardsDisplacement(), pairPatchAgglomeration::setBasedEdgeWeights(), removeFaces::setRefinement(), ThermoSurfaceFilm< CloudType >::splashInteraction(), intersectedSurface::splitFace(), triSurfaceTools::surfaceNormal(), triSurfaceTools::surfaceSide(), unmarkBaffles(), solarLoad::updateDirectHitRadiation(), solarHeatLoad::updateDirectHitRadiation(), solarLoad::updateSkyDiffusiveRadiation(), solarHeatLoad::updateSkyDiffusiveRadiation(), wallLayerCells::wallLayerCells(), and ThermoSurfaceFilm< CloudType >::wetSplashInteraction().

Here is the caller graph for this function:

◆ pointNormals() [1/2]

const Foam::Field< PointType > & pointNormals

◆ projectPoints() [1/3]

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

Project vertices of patch onto another patch.

Referenced by slidingInterface::projectPoints().

Here is the caller graph for this function:

◆ projectFaceCentres() [1/3]

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

Project vertices of patch onto another patch.

◆ edgeLoops() [1/2]

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 176 of file PrimitivePatchEdgeLoops.C.

Referenced by singleCellFvMesh::agglomerateMesh(), pairPatchAgglomeration::agglomeratePatch(), combineFaces::getOutsideFace(), hexRef8::matchHexShape(), removeFaces::mergeFaces(), combineFaces::setRefinement(), and combineFaces::validFace().

Here is the caller graph for this function:

◆ surfaceType() [1/2]

Foam::PrimitivePatch< Face, FaceList, PointField, PointType >::surfaceTopo surfaceType

Calculate surface type formed by patch.

  • all edges have two neighbours (manifold)

some edges have more than two neighbours (illegal)

  • other (open)

Definition at line 123 of file PrimitivePatchCheck.C.

Referenced by Foam::checkTopology().

Here is the caller graph for this function:

◆ checkTopology() [1/2]

bool checkTopology ( const bool  report = false,
labelHashSet setPtr = NULL 
) 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 177 of file PrimitivePatchCheck.C.

Referenced by Foam::checkTopology().

Here is the caller graph for this function:

◆ checkPointManifold() [1/2]

bool checkPointManifold ( const bool  report = false,
labelHashSet setPtr = NULL 
) 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 247 of file PrimitivePatchCheck.C.

Referenced by polyDualMesh::calcDual(), autoLayerDriver::checkManifold(), Foam::checkTopology(), cellClassification::fillRegionPoints(), and combineFaces::validFace().

Here is the caller graph for this function:

◆ writeVTK() [1/2]

void writeVTK ( const fileName name,
const FaceListType faces,
const Field< PointType > &  points 
)
static

Write generic VTK patch, HJ, 14/Jan/2009.

Definition at line 345 of file PrimitivePatchCheck.C.

◆ writeVTKNormals() [1/2]

void writeVTKNormals ( const fileName name,
const FaceListType faces,
const Field< PointType > &  points 
)
static

Write generic VTK patch normals, HJ, 14/Jan/2009.

Definition at line 429 of file PrimitivePatchCheck.C.

◆ writeVTK() [2/2]

void writeVTK ( const fileName name) const

Write VTK patch.

Definition at line 509 of file PrimitivePatchCheck.C.

◆ writeVTKNormals() [2/2]

void writeVTKNormals ( const fileName name) const

Write VTK patch normals.

Definition at line 532 of file PrimitivePatchCheck.C.

◆ movePoints() [1/2]

void movePoints ( const Field< PointType > &  )
virtual

Correct patch after moving points.

Definition at line 187 of file PrimitivePatchTemplate.C.

Referenced by cyclicAMIPolyPatch::initMovePoints(), immersedBoundaryPolyPatch::movePoints(), polyPatch::movePoints(), and cyclicPeriodicAMIPolyPatch::resetAMI().

Here is the caller graph for this function:

◆ operator=() [1/2]

void operator= ( const PrimitivePatch< Face, FaceList, PointField, PointType > &  pp)

Assignment.

Definition at line 563 of file PrimitivePatchTemplate.C.

Referenced by polyPatch::operator=().

Here is the caller graph for this function:

◆ calcIntBdryEdges()

void calcIntBdryEdges ( ) const
private

Calculate edges of the patch.

◆ calcBdryPoints() [2/2]

void calcBdryPoints ( ) const
private

Calculated boundary points on a patch.

◆ calcAddressing() [2/2]

void calcAddressing ( ) const
private

Calculate addressing.

◆ calcPointEdges() [2/2]

void calcPointEdges ( ) const
private

Calculate point-edge addressing.

◆ calcPointFaces() [2/2]

void calcPointFaces ( ) const
private

Calculate point-face addressing.

◆ calcMeshData() [2/2]

void calcMeshData ( ) const
private

Calculate mesh addressing.

◆ calcMeshPointMap() [2/2]

void calcMeshPointMap ( ) const
private

Calculate mesh point map.

◆ calcEdgeLoops() [2/2]

void calcEdgeLoops ( ) const
private

Calculate outside edge loops.

◆ calcLocalPoints() [2/2]

void calcLocalPoints ( ) const
private

Calculate local points.

◆ calcLocalPointOrder() [2/2]

void calcLocalPointOrder ( ) const
private

Calculate local point order.

◆ calcFaceCentres() [2/2]

void calcFaceCentres ( ) const
private

Calculate face centres.

◆ calcFaceNormals() [2/2]

void calcFaceNormals ( ) const
private

Calculate unit face normals.

◆ calcPointNormals() [2/2]

void calcPointNormals ( ) const
private

Calculate unit point normals.

◆ calcEdgeOwner() [2/2]

void calcEdgeOwner ( ) const
private

Calculate edge owner.

◆ visitPointRegion() [2/2]

void visitPointRegion ( const label  pointI,
const labelList pFaces,
const label  startFaceI,
const label  startEdgeI,
boolList pFacesHad 
) const
private

Face-edge-face walk while remaining on a patch point.

Used to determine if surface multiply connected through point.

◆ clearOut() [2/2]

void clearOut ( )

◆ clearGeom() [2/2]

void clearGeom ( )

◆ clearTopology() [2/2]

void clearTopology ( )

◆ clearPatchMeshAddr() [2/2]

void clearPatchMeshAddr ( )

◆ points() [2/2]

const Field<PointType>& points ( ) const
inline

Return reference to global points.

Definition at line 284 of file PrimitivePatch.H.

◆ nPoints() [2/2]

label nPoints ( ) const
inline

Return number of points supporting patch faces.

Definition at line 295 of file PrimitivePatch.H.

◆ nEdges() [2/2]

label nEdges ( ) const
inline

Return number of edges in patch.

Definition at line 301 of file PrimitivePatch.H.

◆ edges() [2/2]

const edgeList& edges ( ) const

Return list of edges, address into LOCAL point list.

◆ nInternalEdges() [2/2]

label nInternalEdges ( ) const

Number of internal edges.

◆ isInternalEdge() [2/2]

bool isInternalEdge ( const label  edgeI) const
inline

Is internal edge?

Definition at line 313 of file PrimitivePatch.H.

◆ boundaryPoints() [2/2]

const labelList& boundaryPoints ( ) const

Return list of boundary points,.

address into LOCAL point list

◆ faceFaces() [2/2]

const labelListList& faceFaces ( ) const

Return face-face addressing.

◆ edgeFaces() [2/2]

const labelListList& edgeFaces ( ) const

Return edge-face addressing.

◆ faceEdges() [2/2]

const labelListList& faceEdges ( ) const

Return face-edge addressing.

◆ pointEdges() [2/2]

const labelListList& pointEdges ( ) const

Return point-edge addressing.

◆ pointFaces() [2/2]

const labelListList& pointFaces ( ) const

Return point-face addressing.

◆ localFaces() [2/2]

const List<Face>& localFaces ( ) const

Return patch faces addressing into local point list.

◆ meshPoints() [2/2]

const labelList& meshPoints ( ) const

Return labelList of mesh points in patch. They are constructed.

walking through the faces in incremental order and not sorted anymore.

◆ meshPointMap() [2/2]

const Map<label>& meshPointMap ( ) const

Mesh point map. Given the global point index find its.

location in the patch

◆ localPoints() [2/2]

const Field<PointType>& localPoints ( ) const

Return pointField of points in patch.

◆ localPointOrder() [2/2]

const labelList& localPointOrder ( ) const

Return orders the local points for most efficient search.

◆ whichPoint() [2/2]

label whichPoint ( const label  gp) const

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

If the point is not found, return -1

◆ whichEdge() [2/2]

label whichEdge ( const edge ) const

Given an edge in local point labels, return its.

index in the edge list. If the edge is not found, return -1

◆ meshEdges() [3/4]

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

◆ meshEdges() [4/4]

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

Return labels of patch edges in the global edge list using.

basic edge addressing.

◆ faceCentres() [2/2]

const Field<PointType>& faceCentres ( ) const

Return face centres for patch.

◆ faceNormals() [2/2]

const Field<PointType>& faceNormals ( ) const

Return face normals for patch.

◆ pointNormals() [2/2]

const Field<PointType>& pointNormals ( ) const

Return point normals for patch.

◆ projectPoints() [2/3]

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

Project vertices of patch onto another patch.

◆ projectFaceCentres() [2/3]

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

Project vertices of patch onto another patch.

◆ edgeLoops() [2/2]

const labelListList& edgeLoops ( ) const

Return list of closed loops of boundary vertices.

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

◆ surfaceType() [2/2]

surfaceTopo surfaceType ( ) const

Calculate surface type formed by patch.

Types:

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

◆ checkTopology() [2/2]

bool checkTopology ( const bool  report = false,
labelHashSet setPtr = NULL 
) 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.

◆ checkPointManifold() [2/2]

bool checkPointManifold ( const bool  report = false,
labelHashSet setPtr = NULL 
) 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.

◆ movePoints() [2/2]

virtual void movePoints ( const Field< PointType > &  )
virtual

Correct patch after moving points.

◆ operator=() [2/2]

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

Assignment.

◆ projectPoints() [3/3]

Foam::List< Foam::objectHit > projectPoints ( const ToPatch &  targetPatch,
const Field< PointType > &  projectionDirection,
const intersection::algorithm  alg,
const intersection::direction  dir 
) const

Definition at line 48 of file PrimitivePatchProjectPoints.C.

◆ projectFaceCentres() [3/3]

Foam::List< Foam::objectHit > projectFaceCentres ( const ToPatch &  targetPatch,
const Field< PointType > &  projectionDirection,
const intersection::algorithm  alg,
const intersection::direction  dir 
) const

Definition at line 317 of file PrimitivePatchProjectPoints.C.

Field Documentation

◆ points_

PointField points_
private

Reference to global list of points.

Definition at line 118 of file PrimitivePatchTemplate.H.

Referenced by PrimitivePatch< labelledTri, List, pointField, point >::points().

◆ edgesPtr_

edgeList * edgesPtr_
mutableprivate

Edges of the patch; address into local point list;.

sorted with internal edges first in upper-triangular order and external edges last.

Definition at line 126 of file PrimitivePatchTemplate.H.

◆ nInternalEdges_

label nInternalEdges_
mutableprivate

Which part of edgesPtr_ is internal edges.

Definition at line 129 of file PrimitivePatchTemplate.H.

◆ boundaryPointsPtr_

labelList * boundaryPointsPtr_
mutableprivate

Boundary point labels, addressing into local point list.

Definition at line 132 of file PrimitivePatchTemplate.H.

◆ faceFacesPtr_

labelListList * faceFacesPtr_
mutableprivate

Face-face addressing.

Definition at line 135 of file PrimitivePatchTemplate.H.

◆ edgeFacesPtr_

labelListList * edgeFacesPtr_
mutableprivate

Edge-face addressing.

Definition at line 138 of file PrimitivePatchTemplate.H.

◆ faceEdgesPtr_

labelListList * faceEdgesPtr_
mutableprivate

Face-edge addressing.

Definition at line 141 of file PrimitivePatchTemplate.H.

◆ pointEdgesPtr_

labelListList * pointEdgesPtr_
mutableprivate

Point-edge addressing.

Definition at line 144 of file PrimitivePatchTemplate.H.

◆ pointFacesPtr_

labelListList * pointFacesPtr_
mutableprivate

Point-face addressing.

Definition at line 147 of file PrimitivePatchTemplate.H.

◆ localFacesPtr_

List< Face > * localFacesPtr_
mutableprivate

Faces addressing into local point list.

Definition at line 150 of file PrimitivePatchTemplate.H.

◆ meshPointsPtr_

labelList * meshPointsPtr_
mutableprivate

Labels of mesh points.

Definition at line 153 of file PrimitivePatchTemplate.H.

◆ meshPointMapPtr_

Map< label > * meshPointMapPtr_
mutableprivate

Mesh point map. Given the global point index find its.

location in the patch

Definition at line 157 of file PrimitivePatchTemplate.H.

◆ edgeLoopsPtr_

labelListList * edgeLoopsPtr_
mutableprivate

Outside edge loops.

Definition at line 160 of file PrimitivePatchTemplate.H.

◆ localPointsPtr_

Field< PointType > * localPointsPtr_
mutableprivate

Points local to patch.

Definition at line 163 of file PrimitivePatchTemplate.H.

◆ localPointOrderPtr_

labelList * localPointOrderPtr_
mutableprivate

Local point order for most efficient search.

Definition at line 166 of file PrimitivePatchTemplate.H.

◆ faceCentresPtr_

Field< PointType > * faceCentresPtr_
mutableprivate

Face centres.

Definition at line 169 of file PrimitivePatchTemplate.H.

◆ faceNormalsPtr_

Field< PointType > * faceNormalsPtr_
mutableprivate

Face unit normals.

Definition at line 172 of file PrimitivePatchTemplate.H.

◆ pointNormalsPtr_

Field< PointType > * pointNormalsPtr_
mutableprivate

Point unit normals.

Definition at line 175 of file PrimitivePatchTemplate.H.

◆ nSquaredProjection_

const Foam::debug::optimisationSwitch nSquaredProjection_
staticprivate

N-squared projection forced.

Definition at line 181 of file PrimitivePatchTemplate.H.


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