ENH: boundBox: Change distanceFromBoxSqr to nearest()

Returns the nearest point instead of a distance
This commit is contained in:
laurence
2012-12-12 11:07:52 +00:00
parent ec634a897c
commit 44d1ed3eae
3 changed files with 18 additions and 20 deletions

View File

@ -300,21 +300,14 @@ bool Foam::boundBox::containsAny
}
Foam::scalar Foam::boundBox::distanceFromBoxSqr(const point& pt) const
Foam::point Foam::boundBox::nearest(const point& pt) const
{
if (contains(pt))
{
return 0;
}
// Clip the point to the range of the bounding box
const scalar surfPtx = Foam::max(Foam::min(pt.x(), max_.x()), min_.x());
const scalar surfPty = Foam::max(Foam::min(pt.y(), max_.y()), min_.y());
const scalar surfPtz = Foam::max(Foam::min(pt.z(), max_.z()), min_.z());
const point surfacePt(surfPtx, surfPty, surfPtz);
return magSqr(pt - surfacePt);
return point(surfPtx, surfPty, surfPtz);
}