ENH: surfaceFeatures: survive zero length edge. Fixes #616.

This commit is contained in:
mattijs 2017-10-09 15:34:10 +01:00
parent b5dc2a5e65
commit 051d1d661f

View File

@ -243,12 +243,16 @@ void Foam::surfaceFeatures::calcFeatPoints
if (edgeStat[edgeI] != NONE)
{
edgeVecs.append(edges[edgeI].vec(localPoints));
edgeVecs.last() /= mag(edgeVecs.last());
vector vec = edges[edgeI].vec(localPoints);
scalar magVec = mag(vec);
if (magVec > SMALL)
{
edgeVecs.append(vec/magVec);
}
}
}
if (mag(edgeVecs[0] & edgeVecs[1]) < minCos)
if (edgeVecs.size() == 2 && mag(edgeVecs[0] & edgeVecs[1]) < minCos)
{
featurePoints.append(pointi);
}