Collection of static functions to do various simple mesh related things. More...
Collection of static functions to do various simple mesh related things.
Functions | |
bool | visNormal (const vector &n, const vectorField &faceNormals, const labelList &faceLabels) |
Check if n is in same direction as normals of all faceLabels.
| |
vectorField | calcBoxPointNormals (const primitivePatch &pp) |
Calculate point normals on a 'box' mesh (all edges aligned with.
| |
vector | normEdgeVec (const primitiveMesh &, const label edgeI) |
Normalized edge vector.
| |
void | writeOBJ (Ostream &os, const point &pt) |
Write obj representation of point.
| |
void | writeOBJ (Ostream &os, const faceList &, const pointField &, const labelList &faceLabels) |
Write obj representation of faces subset.
| |
void | writeOBJ (Ostream &os, const faceList &, const pointField &) |
Write obj representation of faces.
| |
void | writeOBJ (Ostream &os, const cellList &, const faceList &, const pointField &, const labelList &cellLabels) |
Write obj representation of cell subset.
| |
bool | edgeOnCell (const primitiveMesh &, const label cellI, const label edgeI) |
Is edge used by cell.
| |
bool | edgeOnFace (const primitiveMesh &, const label faceI, const label edgeI) |
Is edge used by face.
| |
bool | faceOnCell (const primitiveMesh &, const label cellI, const label faceI) |
Is face used by cell.
| |
label | findEdge (const edgeList &edges, const labelList &candidates, const label v0, const label v1) |
Return edge among candidates that uses the two vertices.
| |
label | findEdge (const primitiveMesh &, const label v0, const label v1) |
Return edge between two vertices. Returns -1 if no edge.
| |
label | getSharedEdge (const primitiveMesh &, const label f0, const label f1) |
Return edge shared by two faces. Throws error if no edge found.
| |
label | getSharedFace (const primitiveMesh &, const label cell0, const label cell1) |
Return face shared by two cells. Throws error if none found.
| |
void | getEdgeFaces (const primitiveMesh &, const label cellI, const label edgeI, label &face0, label &face1) |
Get faces on cell using edgeI. Throws error if no two found.
| |
label | otherEdge (const primitiveMesh &, const labelList &edgeLabels, const label edgeI, const label vertI) |
Return label of other edge (out of candidates edgeLabels)
| |
label | otherFace (const primitiveMesh &, const label cellI, const label faceI, const label edgeI) |
Return face on cell using edgeI but not faceI. Throws error.
| |
label | otherCell (const primitiveMesh &, const label cellI, const label faceI) |
Return cell on other side of face. Throws error.
| |
label | walkFace (const primitiveMesh &, const label faceI, const label startEdgeI, const label startVertI, const label nEdges) |
Returns label of edge nEdges away from startEdge (in the direction.
| |
void | constrainToMeshCentre (const polyMesh &mesh, point &pt) |
Set the constrained components of position to mesh centre.
| |
void | constrainToMeshCentre (const polyMesh &mesh, pointField &pt) |
void | constrainDirection (const polyMesh &mesh, const Vector< label > &dirs, vector &d) |
Set the constrained components of directions/velocity to zero.
| |
void | constrainDirection (const polyMesh &mesh, const Vector< label > &dirs, vectorField &d) |
void | getParallelEdges (const primitiveMesh &, const label cellI, const label e0, label &, label &, label &) |
Given edge on hex find other 'parallel', non-connected edges.
| |
vector | edgeToCutDir (const primitiveMesh &, const label cellI, const label edgeI) |
Given edge on hex find all 'parallel' (i.e. non-connected)
| |
label | cutDirToEdge (const primitiveMesh &, const label cellI, const vector &cutDir) |
Reverse of edgeToCutDir: given direction find edge bundle and.
| |
Variables | |
static const label | mXmYmZ = 0 |
static const label | pXmYmZ = 1 |
static const label | mXpYmZ = 2 |
static const label | pXpYmZ = 3 |
static const label | mXmYpZ = 4 |
static const label | pXmYpZ = 5 |
static const label | mXpYpZ = 6 |
static const label | pXpYpZ = 7 |
static const label | mXmYmZMask = 1 << mXmYmZ |
static const label | pXmYmZMask = 1 << pXmYmZ |
static const label | mXpYmZMask = 1 << mXpYmZ |
static const label | pXpYmZMask = 1 << pXpYmZ |
static const label | mXmYpZMask = 1 << mXmYpZ |
static const label | pXmYpZMask = 1 << pXmYpZ |
static const label | mXpYpZMask = 1 << mXpYpZ |
static const label | pXpYpZMask = 1 << pXpYpZ |
bool visNormal | ( | const vector & | n, |
const vectorField & | faceNormals, | ||
const labelList & | faceLabels | ||
) |
Check if n is in same direction as normals of all faceLabels.
Definition at line 34 of file meshTools.C.
References forAll.
Referenced by calcBoxPointNormals().
Foam::vectorField calcBoxPointNormals | ( | const primitivePatch & | pp ) |
Calculate point normals on a 'box' mesh (all edges aligned with.
coordinate axes)
Definition at line 53 of file meshTools.C.
References Foam::endl(), PrimitivePatch< Face, FaceList, PointField, PointType >::faceNormals(), forAll, Foam::mag(), PrimitivePatch< Face, FaceList, PointField, PointType >::meshPoints(), mXmYmZ, mXmYmZMask, mXmYpZ, mXmYpZMask, mXpYmZ, mXpYmZMask, mXpYpZ, mXpYpZMask, Foam::nl, PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), pFaces, PrimitivePatch< Face, FaceList, PointField, PointType >::pointFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::pointNormals(), PrimitivePatch< Face, FaceList, PointField, PointType >::points(), pXmYmZ, pXmYmZMask, pXmYpZ, pXmYpZMask, pXpYmZ, pXpYmZMask, pXpYpZ, pXpYpZMask, visNormal(), WarningIn, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Foam::vector normEdgeVec | ( | const primitiveMesh & | mesh, |
const label | edgeI | ||
) |
Normalized edge vector.
Definition at line 195 of file meshTools.C.
References primitiveMesh::edges(), Foam::mag(), and primitiveMesh::points().
Referenced by edgeToCutDir(), and cellLooper::getMisAlignedEdge().
void writeOBJ | ( | Ostream & | os, |
const point & | pt | ||
) |
Write obj representation of point.
Definition at line 209 of file meshTools.C.
References Foam::endl(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by polyDualMesh::calcFeatures(), hexCellLooper::cut(), meshRefinement::dumpIntersections(), edgeSurface::edgeSurface(), processorPolyPatch::initOrder(), surfaceFeatures::nearestEdges(), surfaceFeatures::nearestSamples(), processorPolyPatch::order(), cyclicPolyPatch::order(), motionSmoother::setDisplacement(), removeFaces::setRefinement(), hexRef8::setRefinement(), faceCollapser::setRefinement(), duplicatePoints::setRefinement(), refinementIterator::setRefinement(), surfaceIntersection::surfaceIntersection(), cellCuts::writeCellOBJ(), coupledPolyPatch::writeOBJ(), surfaceFeatures::writeObj(), writeOBJ(), enrichedPatch::writeOBJ(), and cellCuts::writeOBJ().
void writeOBJ | ( | Ostream & | os, |
const faceList & | faces, | ||
const pointField & | points, | ||
const labelList & | faceLabels | ||
) |
Write obj representation of faces subset.
Definition at line 219 of file meshTools.C.
References Foam::endl(), f(), forAll, List< T >::size(), and writeOBJ().
void writeOBJ | ( | Ostream & | os, |
const faceList & | faces, | ||
const pointField & | points | ||
) |
Write obj representation of faces.
Definition at line 254 of file meshTools.C.
References forAll, List< T >::size(), and writeOBJ().
void writeOBJ | ( | Ostream & | os, |
const cellList & | cells, | ||
const faceList & | faces, | ||
const pointField & | points, | ||
const labelList & | cellLabels | ||
) |
Write obj representation of cell subset.
Definition at line 270 of file meshTools.C.
References forAll, List< T >::size(), and writeOBJ().
bool edgeOnCell | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | edgeI | ||
) |
Is edge used by cell.
Definition at line 295 of file meshTools.C.
References primitiveMesh::edgeCells(), and Foam::findIndex().
Referenced by cellLooper::getVertEdgesNonFace().
bool edgeOnFace | ( | const primitiveMesh & | mesh, |
const label | faceI, | ||
const label | edgeI | ||
) |
Is edge used by face.
Definition at line 306 of file meshTools.C.
References primitiveMesh::faceEdges(), and Foam::findIndex().
Referenced by cellFeatures::isFeatureVertex().
bool faceOnCell | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | faceI | ||
) |
Is face used by cell.
Definition at line 318 of file meshTools.C.
References primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), and primitiveMesh::isInternalFace().
Referenced by getEdgeFaces(), and cellLooper::getVertFacesNonEdge().
Foam::label findEdge | ( | const edgeList & | edges, |
const labelList & | candidates, | ||
const label | v0, | ||
const label | v1 | ||
) |
Return edge among candidates that uses the two vertices.
Definition at line 347 of file meshTools.C.
Referenced by addPatchCellLayer::calcMeshEdges(), edgeVertex::cutPairToEdge(), faceCollapser::setRefinement(), and directionInfo::updateCell().
Foam::label findEdge | ( | const primitiveMesh & | mesh, |
const label | v0, | ||
const label | v1 | ||
) |
Return edge between two vertices. Returns -1 if no edge.
Definition at line 370 of file meshTools.C.
References e, primitiveMesh::edges(), edge::end(), forAll, primitiveMesh::pointEdges(), edge::start(), and v1.
Foam::label getSharedEdge | ( | const primitiveMesh & | mesh, |
const label | f0, | ||
const label | f1 | ||
) |
Return edge shared by two faces. Throws error if no edge found.
Definition at line 396 of file meshTools.C.
References Foam::abort(), primitiveMesh::faceEdges(), Foam::FatalError, FatalErrorIn, and forAll.
Foam::label getSharedFace | ( | const primitiveMesh & | mesh, |
const label | cell0, | ||
const label | cell1 | ||
) |
Return face shared by two cells. Throws error if none found.
Definition at line 432 of file meshTools.C.
References Foam::abort(), primitiveMesh::cells(), primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), Foam::FatalError, FatalErrorIn, forAll, and primitiveMesh::isInternalFace().
Referenced by undoableMeshCutter::getSplitFaces().
void getEdgeFaces | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | edgeI, | ||
label & | face0, | ||
label & | face1 | ||
) |
Get faces on cell using edgeI. Throws error if no two found.
Definition at line 474 of file meshTools.C.
References Foam::abort(), primitiveMesh::edgeFaces(), primitiveMesh::edges(), faceOnCell(), Foam::FatalError, FatalErrorIn, and forAll.
Referenced by topoCellLooper::cut(), hexCellLooper::cut(), directionInfo::edgeToFaceIndex(), cellLooper::getVertFacesNonEdge(), and otherFace().
Foam::label otherEdge | ( | const primitiveMesh & | mesh, |
const labelList & | edgeLabels, | ||
const label | edgeI, | ||
const label | vertI | ||
) |
Return label of other edge (out of candidates edgeLabels)
connected to vertex but not edgeI. Throws error if none found.
Definition at line 520 of file meshTools.C.
References Foam::abort(), e, primitiveMesh::edges(), edge::end(), Foam::FatalError, FatalErrorIn, forAll, and edge::start().
Referenced by directionInfo::updateCell(), and walkFace().
Foam::label otherFace | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | faceI, | ||
const label | edgeI | ||
) |
Return face on cell using edgeI but not faceI. Throws error.
if none found.
Definition at line 558 of file meshTools.C.
References getEdgeFaces().
Referenced by edgeToCutDir(), getParallelEdges(), wedgeMatcher::matchShape(), tetWedgeMatcher::matchShape(), tetMatcher::matchShape(), pyrMatcher::matchShape(), prismMatcher::matchShape(), hexMatcher::matchShape(), edgeFaceCirculator::operator++(), edgeFaceCirculator::setCanonical(), and directionInfo::updateCell().
Foam::label otherCell | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | faceI | ||
) |
Return cell on other side of face. Throws error.
if face not internal.
Definition at line 583 of file meshTools.C.
References Foam::abort(), primitiveMesh::faceNeighbour(), primitiveMesh::faceOwner(), Foam::FatalError, FatalErrorIn, and primitiveMesh::isInternalFace().
Foam::label walkFace | ( | const primitiveMesh & | mesh, |
const label | faceI, | ||
const label | startEdgeI, | ||
const label | startVertI, | ||
const label | nEdges | ||
) |
Returns label of edge nEdges away from startEdge (in the direction.
of startVertI)
Definition at line 612 of file meshTools.C.
References primitiveMesh::edges(), primitiveMesh::faceEdges(), and otherEdge().
Referenced by edgeToCutDir(), directionInfo::edgeToFaceIndex(), and getParallelEdges().
void constrainToMeshCentre | ( | const polyMesh & | mesh, |
point & | pt | ||
) |
Set the constrained components of position to mesh centre.
Definition at line 638 of file meshTools.C.
References polyMesh::bounds(), polyMesh::geometricD(), boundBox::max(), Foam::max(), boundBox::min(), and Foam::min().
Referenced by InjectionModel< CloudType >::inject(), KinematicParcel< ParcelType >::move(), and DsmcParcel< ParcelType >::move().
void constrainToMeshCentre | ( | const polyMesh & | mesh, |
pointField & | pt | ||
) |
Definition at line 659 of file meshTools.C.
References polyMesh::bounds(), forAll, polyMesh::geometricD(), boundBox::max(), Foam::max(), boundBox::min(), and Foam::min().
void constrainDirection | ( | const polyMesh & | mesh, |
const Vector< label > & | dirs, | ||
vector & | d | ||
) |
Set the constrained components of directions/velocity to zero.
Definition at line 697 of file meshTools.C.
Referenced by KinematicParcel< ParcelType >::calcVelocity(), InjectionModel< CloudType >::inject(), and DsmcParcel< ParcelType >::move().
void constrainDirection | ( | const polyMesh & | mesh, |
const Vector< label > & | dirs, | ||
vectorField & | d | ||
) |
Definition at line 714 of file meshTools.C.
References forAll.
void getParallelEdges | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | e0, | ||
label & | e1, | ||
label & | e2, | ||
label & | e3 | ||
) |
Given edge on hex find other 'parallel', non-connected edges.
Definition at line 747 of file meshTools.C.
References primitiveMesh::edges(), UList< T >::end(), otherFace(), and walkFace().
Referenced by cutDirToEdge().
Foam::vector edgeToCutDir | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const label | edgeI | ||
) |
Given edge on hex find all 'parallel' (i.e. non-connected)
edges and average direction of them
Definition at line 773 of file meshTools.C.
References Foam::abort(), primitiveMesh::edges(), UList< T >::end(), Foam::FatalError, FatalErrorIn, Foam::isA(), Foam::mag(), normEdgeVec(), otherFace(), and walkFace().
Referenced by cutDirToEdge().
Foam::label cutDirToEdge | ( | const primitiveMesh & | mesh, |
const label | cellI, | ||
const vector & | cutDir | ||
) |
Reverse of edgeToCutDir: given direction find edge bundle and.
return one of them.
Definition at line 823 of file meshTools.C.
References Foam::abort(), primitiveMesh::cellEdges(), edgeToCutDir(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, getParallelEdges(), Foam::isA(), Foam::mag(), and List< T >::size().
Referenced by hexCellLooper::cut().
const label mXmYmZ = 0 [static]
|
Definition at line 61 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXmYmZ = 1 [static]
|
Definition at line 62 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXpYmZ = 2 [static]
|
Definition at line 63 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXpYmZ = 3 [static]
|
Definition at line 64 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXmYpZ = 4 [static]
|
Definition at line 66 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXmYpZ = 5 [static]
|
Definition at line 67 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXpYpZ = 6 [static]
|
Definition at line 68 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXpYpZ = 7 [static]
|
Definition at line 69 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXmYmZMask = 1 << mXmYmZ [static]
|
Definition at line 71 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXmYmZMask = 1 << pXmYmZ [static]
|
Definition at line 72 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXpYmZMask = 1 << mXpYmZ [static]
|
Definition at line 73 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXpYmZMask = 1 << pXpYmZ [static]
|
Definition at line 74 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXmYpZMask = 1 << mXmYpZ [static]
|
Definition at line 76 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXmYpZMask = 1 << pXmYpZ [static]
|
Definition at line 77 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label mXpYpZMask = 1 << mXpYpZ [static]
|
Definition at line 78 of file meshTools.H.
Referenced by calcBoxPointNormals().
const label pXpYpZMask = 1 << pXpYpZ [static]
|
Definition at line 79 of file meshTools.H.
Referenced by calcBoxPointNormals().