40 Pout<<
"primitiveMesh::edgeCells() : calculating edgeCells" <<
endl;
51 ecPtr_ = std::make_unique<labelListList>(
nEdges());
62 DynamicList<label>& storage
67 return edgeCells()[edgei];
76 const labelList& eFaces = edgeFaces(edgei, eFacesStorage);
81 for (
const label facei : eFaces)
85 if (!storage.contains(own[facei]))
87 storage.push_back(own[facei]);
91 if (isInternalFace(facei))
94 if (!storage.contains(nei[facei]))
96 storage.push_back(nei[facei]);
108 return edgeCells(edgei, labels_);
Various functions to operate on Lists.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
void clear() noexcept
Clear the addressed list, i.e. set the size to zero.
void push_back(const T &val)
Copy append an element to the end of this list.
bool contains(const T &val) const
True if the value is contained in the list.
bool isInternalFace(const label faceIndex) const noexcept
Return true if given face label is internal to the mesh.
virtual const labelList & faceOwner() const =0
Face face-owner addressing.
const labelListList & cellEdges() const
virtual const labelList & faceNeighbour() const =0
Face face-neighbour addressing.
bool hasEdgeCells() const noexcept
const labelListList & edgeFaces() const
const labelListList & edgeCells() const
label nEdges() const
Number of mesh edges.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Namespace for handling debugging switches.
void invertManyToMany(const label len, const UList< InputIntListType > &input, List< OutputIntListType > &output)
Invert many-to-many.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
Ostream & endl(Ostream &os)
Add newline and flush stream.
errorManip< error > abort(error &err)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.