MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / validEdgeLoop

Function validEdgeLoop

src/dynamicMesh/meshCut/cellCuts/cellCuts.C:1771–1803  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1769
1770
1771bool Foam::cellCuts::validEdgeLoop
1772(
1773 const labelList& loop,
1774 const scalarField& loopWeights
1775) const
1776{
1777 forAll(loop, fp)
1778 {
1779 label cut = loop[fp];
1780
1781 if (isEdge(cut))
1782 {
1783 label edgeI = getEdge(cut);
1784
1785 // Check: cut compatible only if can be snapped to existing one.
1786 if (edgeIsCut_[edgeI])
1787 {
1788 scalar edgeLen = mesh().edges()[edgeI].mag(mesh().points());
1789
1790 if
1791 (
1792 mag(loopWeights[fp] - edgeWeight_[edgeI])
1793 > geomCellLooper::snapTol()*edgeLen
1794 )
1795 {
1796 // Positions differ too much->would create two cuts.
1797 return false;
1798 }
1799 }
1800 }
1801 }
1802 return true;
1803}
1804
1805
1806Foam::label Foam::cellCuts::countFaceCuts

Callers 1

setFromCellLoopFunction · 0.85

Calls 6

meshFunction · 0.85
forAllFunction · 0.50
magClass · 0.50
magMethod · 0.45
edgesMethod · 0.45
pointsMethod · 0.45

Tested by

no test coverage detected