Collection of static functions to do various simple mesh related things. More...
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 a point. | |
| void | writeOBJ (Ostream &os, const UList< point > &pts) |
| Write obj representation of points. | |
| void | writeOBJ (Ostream &os, const triad &t, const point &origin) |
| Write obj representation of a triad. Requires the origin of the. | |
| void | writeOBJ (Ostream &os, const point &p1, const point &p2, label &count) |
| Write obj representation of a line connecting two points. | |
| void | writeOBJ (Ostream &os, const point &p1, const point &p2) |
| Write obj representation of a point p1 with a vector from p1 to p2. | |
| void | writeOBJ (Ostream &os, const treeBoundBox &bb) |
| Write obj representation of tree-bounding box as a series of lines. | |
| template<class FaceType> | |
| void | writeOBJ (Ostream &os, const UList< FaceType > &faces, const UList< point > &points, const labelList &faceLabels) |
| Write obj representation of faces subset. | |
| template<class FaceType> | |
| void | writeOBJ (Ostream &os, const UList< FaceType > &faces, const UList< point > &points) |
| Write obj representation of faces. | |
| void | writeOBJ (Ostream &os, const cellList &cells, const faceList &faces, const UList< point > &points, const labelList &cellLabels) |
| Write obj representation of cell subset. | |
| bool | edgeOnCell (const primitiveMesh &mesh, const label celli, const label edgeI) |
| Is edge used by cell. | |
| bool | edgeOnFace (const primitiveMesh &mesh, const label facei, const label edgeI) |
| Is edge used by face. | |
| bool | faceOnCell (const primitiveMesh &mesh, 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 &mesh, const label v0, const label v1) |
| Return edge between two mesh vertices. Returns -1 if no edge. | |
| label | getSharedEdge (const primitiveMesh &mesh, const label f0, const label f1) |
| Return edge shared by two faces. Throws error if no edge found. | |
| label | getSharedFace (const primitiveMesh &mesh, const label cell0, const label cell1) |
| Return face shared by two cells. Throws error if none found. | |
| 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. | |
| label | otherEdge (const primitiveMesh &mesh, const labelList &edgeLabels, const label thisEdgeI, const label thisVertI) |
| Return label of other edge (out of candidates edgeLabels). | |
| 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. | |
| label | otherCell (const primitiveMesh &mesh, const label celli, const label facei) |
| Return cell on other side of face. Throws error. | |
| 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. | |
| 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 &mesh, const label celli, const label e0, label &e1, label &e2, label &e3) |
| Given edge on hex find other 'parallel', non-connected edges. | |
| vector | edgeToCutDir (const primitiveMesh &mesh, const label celli, const label edgeI) |
| Given edge on hex find all 'parallel' (i.e. non-connected). | |
| label | cutDirToEdge (const primitiveMesh &mesh, const label celli, const vector &cutDir) |
| Reverse of edgeToCutDir: given direction find edge bundle and. | |
| labelList | bandCompression (const polyMesh &mesh) |
| Renumber (mesh) addressing to reduce the band of the mesh connectivity, using the Cuthill-McKee algorithm. | |
| labelList | bandCompression (const CompactListList< label > &addressing) |
| Renumber (mesh) addressing to reduce the band of the matrix, using the Cuthill-McKee algorithm. | |
| labelList | bandCompression (const labelListList &addressing) |
| Renumber (mesh) addressing to reduce the band of the matrix, using the Cuthill-McKee algorithm. | |
| labelList | bandCompression (const labelUList &cellCells, const labelUList &offsets) |
| Renumber with addressing in losort form (neighbour + start in neighbour), using the Cuthill-McKee algorithm. | |
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 |
Collection of static functions to do various simple mesh related things.
| 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 29 of file meshTools.C.
References faceLabels(), forAll, and n.
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 49 of file meshTools.C.
References Foam::endl(), forAll, Foam::mag(), mXmYmZ, mXmYmZMask, mXmYpZ, mXmYpZMask, mXpYmZ, mXpYmZMask, mXpYpZ, mXpYpZMask, n, Foam::nl, pFaces, pp(), pXmYmZ, pXmYmZMask, pXmYpZ, pXmYpZMask, pXpYmZ, pXpYmZMask, pXpYpZ, pXpYpZMask, visNormal(), WarningInFunction, and Foam::Zero.

| Foam::vector normEdgeVec | ( | const primitiveMesh & | mesh, |
| const label | edgeI ) |
Normalized edge vector.
Definition at line 185 of file meshTools.C.
References mesh.
Referenced by edgeToCutDir(), and cellLooper::getMisAlignedEdge().

Write obj representation of a point.
Definition at line 195 of file meshTools.C.
References Foam::endl(), os(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by mappedPatchBase::calcAMI(), polyDualMesh::calcFeatures(), mappedPatchBase::calcMapping(), hexCellLooper::cut(), Foam::drawHitProblem(), meshRefinement::dumpIntersections(), surfaceFeatures::nearestEdges(), surfaceFeatures::nearestSamples(), surfaceFeatures::nearestSamples(), Foam::operator<<(), cyclicAMIPolyPatch::resetAMI(), motionSmootherAlgo::setDisplacement(), duplicatePoints::setRefinement(), faceCollapser::setRefinement(), hexRef8::setRefinement(), refinementIterator::setRefinement(), removeFaces::setRefinement(), box::writeBoxes(), AMIInterpolation::writeFaceConnectivity(), advancingFrontAMI::writeIntersectionOBJ(), enrichedPatch::writeOBJ(), writeOBJ(), writeOBJ(), writeOBJ(), writeOBJ(), writeOBJ(), and surfaceFeatures::writeObj().


Write obj representation of points.
Definition at line 205 of file meshTools.C.
References forAll, Foam::nl, os(), pts, Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Write obj representation of a triad. Requires the origin of the.
triad to be supplied
Definition at line 220 of file meshTools.C.
References forAll, os(), and writeOBJ().

Write obj representation of a line connecting two points.
Need to keep track of points that have been added. count starts at 0
Definition at line 234 of file meshTools.C.
References Foam::endl(), Foam::nl, os(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Write obj representation of a point p1 with a vector from p1 to p2.
Definition at line 250 of file meshTools.C.
References Foam::endl(), Foam::nl, os(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

| void writeOBJ | ( | Ostream & | os, |
| const treeBoundBox & | bb ) |
Write obj representation of tree-bounding box as a series of lines.
Definition at line 265 of file meshTools.C.
References e, treeBoundBox::edges, Foam::nl, os(), treeBoundBox::points(), and writeOBJ().

| void writeOBJ | ( | Ostream & | os, |
| const UList< FaceType > & | faces, | ||
| const UList< point > & | points, | ||
| const labelList & | faceLabels ) |
Write obj representation of faces subset.
Definition at line 23 of file meshToolsTemplates.C.
References Foam::endl(), f(), faceLabels(), forAll, HashTable< T, Key, Hash >::insert(), os(), points, and writeOBJ().

| void writeOBJ | ( | Ostream & | os, |
| const UList< FaceType > & | faces, | ||
| const UList< point > & | points ) |
Write obj representation of faces.
Definition at line 59 of file meshToolsTemplates.C.
References forAll, os(), points, UList< T >::size(), and writeOBJ().

| void writeOBJ | ( | Ostream & | os, |
| const cellList & | cells, | ||
| const faceList & | faces, | ||
| const UList< point > & | points, | ||
| const labelList & | cellLabels ) |
Write obj representation of cell subset.
Definition at line 280 of file meshTools.C.
References cells, HashSet< Key, Hash >::insert(), os(), points, UList< T >::size(), HashTable< T, Key, Hash >::toc(), and writeOBJ().

| bool edgeOnCell | ( | const primitiveMesh & | mesh, |
| const label | celli, | ||
| const label | edgeI ) |
Is edge used by cell.
Definition at line 300 of file meshTools.C.
References mesh.
Referenced by cellLooper::getVertEdgesNonFace().

| bool edgeOnFace | ( | const primitiveMesh & | mesh, |
| const label | facei, | ||
| const label | edgeI ) |
Is edge used by face.
Definition at line 311 of file meshTools.C.
References mesh.
Referenced by cellFeatures::isFeatureVertex().

| bool faceOnCell | ( | const primitiveMesh & | mesh, |
| const label | celli, | ||
| const label | facei ) |
Is face used by cell.
Definition at line 322 of file meshTools.C.
References mesh.
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 351 of file meshTools.C.
Referenced by edgeVertex::cutPairToEdge().

| Foam::label findEdge | ( | const primitiveMesh & | mesh, |
| const label | v0, | ||
| const label | v1 ) |
Return edge between two mesh vertices. Returns -1 if no edge.
Definition at line 374 of file meshTools.C.
| 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 400 of file meshTools.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and mesh.

| 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 433 of file meshTools.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, and mesh.
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 471 of file meshTools.C.
References Foam::abort(), faceOnCell(), Foam::FatalError, FatalErrorInFunction, forAll, and mesh.
Referenced by hexCellLooper::cut(), topoCellLooper::cut(), directionInfo::edgeToFaceIndex(), cellLooper::getVertFacesNonEdge(), and otherFace().


| Foam::label otherEdge | ( | const primitiveMesh & | mesh, |
| const labelList & | edgeLabels, | ||
| const label | thisEdgeI, | ||
| const label | thisVertI ) |
Return label of other edge (out of candidates edgeLabels).
connected to vertex but not edgeI. Throws error if none found.
Definition at line 513 of file meshTools.C.
References Foam::abort(), e, Foam::FatalError, FatalErrorInFunction, forAll, and mesh.
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 547 of file meshTools.C.
References getEdgeFaces(), and mesh.
Referenced by edgeToCutDir(), getParallelEdges(), 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 571 of file meshTools.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, and mesh.

| 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 595 of file meshTools.C.
References mesh, and otherEdge().
Referenced by edgeToCutDir(), directionInfo::edgeToFaceIndex(), and getParallelEdges().


Set the constrained components of position to mesh centre.
Definition at line 621 of file meshTools.C.
References Foam::max(), mesh, Foam::min(), and VectorSpace< Form, Cmpt, Ncmpts >::nComponents.
Referenced by twoDPointCorrector::correctDisplacement(), twoDPointCorrector::correctPoints(), particle< Type >::deviationFromMeshCentre(), InjectionModel< Foam::KinematicCloud< Foam::DSMCCloud< dsmcParcel > > >::info(), and InjectionModel< CloudType >::injectSteadyState().


| void constrainToMeshCentre | ( | const polyMesh & | mesh, |
| pointField & | pt ) |
Definition at line 642 of file meshTools.C.
References forAll, Foam::max(), mesh, Foam::min(), VectorSpace< Form, Cmpt, Ncmpts >::nComponents, and pts.

Set the constrained components of directions/velocity to zero.
Definition at line 679 of file meshTools.C.
References mesh, and VectorSpace< Form, Cmpt, Ncmpts >::nComponents.
Referenced by KinematicParcel< particle >::calcVelocity(), InjectionModel< Foam::KinematicCloud< Foam::DSMCCloud< dsmcParcel > > >::info(), InjectionModel< CloudType >::injectSteadyState(), DSMCParcel< ParcelType >::move(), and KinematicSurfaceFilm< CloudType >::splashInteraction().

| void constrainDirection | ( | const polyMesh & | mesh, |
| const Vector< label > & | dirs, | ||
| vectorField & | d ) |
Definition at line 696 of file meshTools.C.
References forAll, mesh, and VectorSpace< Form, Cmpt, Ncmpts >::nComponents.
| 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 729 of file meshTools.C.
References mesh, 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 755 of file meshTools.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, mesh, Vector< Cmpt >::normalise(), normEdgeVec(), otherFace(), hexMatcher::test(), 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 802 of file meshTools.C.
References Foam::abort(), edgeToCutDir(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, HashTable< T, Key, Hash >::found(), getParallelEdges(), HashSet< Key, Hash >::insert(), Foam::mag(), mesh, UList< T >::size(), and hexMatcher::test().
Referenced by hexCellLooper::cut().


| Foam::labelList bandCompression | ( | const polyMesh & | mesh | ) |
Renumber (mesh) addressing to reduce the band of the mesh connectivity, using the Cuthill-McKee algorithm.
Definition at line 323 of file bandCompression.C.
References globalMeshData::calcCellCells(), and mesh.
Referenced by Foam::bandCompression(), Foam::bandCompression(), PrimitivePatch< List< face >, const pointField >::projectFaceCentres(), CuthillMcKeeRenumber::renumber(), CuthillMcKeeRenumber::renumber(), and CuthillMcKeeRenumber::renumber().


| Foam::labelList bandCompression | ( | const CompactListList< label > & | addressing | ) |
Renumber (mesh) addressing to reduce the band of the matrix, using the Cuthill-McKee algorithm.
Definition at line 333 of file bandCompression.C.
| Foam::labelList bandCompression | ( | const labelListList & | addressing | ) |
Renumber (mesh) addressing to reduce the band of the matrix, using the Cuthill-McKee algorithm.
Definition at line 342 of file bandCompression.C.
| Foam::labelList bandCompression | ( | const labelUList & | cellCells, |
| const labelUList & | offsets ) |
Renumber with addressing in losort form (neighbour + start in neighbour), using the Cuthill-McKee algorithm.
Definition at line 171 of file bandCompression.C.
References CircularBuffer< T >::capacity(), DynamicList< T, SizeMin >::clear(), CircularBuffer< T >::empty(), CircularBuffer< T >::front(), Foam::labelMax, Foam::max(), Foam::nl, CircularBuffer< T >::pop_front(), Foam::Pout, CircularBuffer< T >::push_back(), DynamicList< T, SizeMin >::push_back(), DynamicList< T, SizeMin >::resize_nocopy(), UList< T >::size(), and Foam::sortedOrder().

|
static |
Definition at line 62 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 63 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 64 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 65 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 67 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 68 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 69 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 70 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 72 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 73 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 74 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 75 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 77 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 78 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 79 of file meshTools.H.
Referenced by calcBoxPointNormals().
|
static |
Definition at line 80 of file meshTools.H.
Referenced by calcBoxPointNormals().