ENH: edgeMesh: swap out code to use invertManyToMany
This commit is contained in:
parent
0a50fdabe0
commit
77918e9b9e
@ -27,6 +27,7 @@ License
|
|||||||
#include "mergePoints.H"
|
#include "mergePoints.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
#include "addToMemberFunctionSelectionTable.H"
|
#include "addToMemberFunctionSelectionTable.H"
|
||||||
|
#include "ListOps.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -112,35 +113,7 @@ void Foam::edgeMesh::calcPointEdges() const
|
|||||||
pointEdgesPtr_.reset(new labelListList(points_.size()));
|
pointEdgesPtr_.reset(new labelListList(points_.size()));
|
||||||
labelListList& pointEdges = pointEdgesPtr_();
|
labelListList& pointEdges = pointEdgesPtr_();
|
||||||
|
|
||||||
// Count
|
invertManyToMany(pointEdges.size(), edges_, pointEdges);
|
||||||
labelList nEdgesPerPoint(points_.size(), 0);
|
|
||||||
|
|
||||||
forAll(edges_, edgeI)
|
|
||||||
{
|
|
||||||
const edge& e = edges_[edgeI];
|
|
||||||
|
|
||||||
nEdgesPerPoint[e[0]]++;
|
|
||||||
nEdgesPerPoint[e[1]]++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Size
|
|
||||||
forAll(pointEdges, pointI)
|
|
||||||
{
|
|
||||||
pointEdges[pointI].setSize(nEdgesPerPoint[pointI]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fill
|
|
||||||
nEdgesPerPoint = 0;
|
|
||||||
|
|
||||||
forAll(edges_, edgeI)
|
|
||||||
{
|
|
||||||
const edge& e = edges_[edgeI];
|
|
||||||
const label p0 = e[0];
|
|
||||||
const label p1 = e[1];
|
|
||||||
|
|
||||||
pointEdges[p0][nEdgesPerPoint[p0]++] = edgeI;
|
|
||||||
pointEdges[p1][nEdgesPerPoint[p1]++] = edgeI;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user