void Foam::boundBox::calculate(const pointField& points, const bool doReduce) { if (points.empty()) { min_ = point::zero; max_ = point::zero; if (doReduce && Pstream::parRun()) { // Use values that get overwritten by reduce minOp, maxOp below min_ = point(VGREAT, VGREAT, VGREAT); max_ = point(-VGREAT, -VGREAT, -VGREAT); } } else { min_ = points[0]; max_ = points[0]; forAll(points, i) { min_ = ::Foam::min(min_, points[i]); max_ = ::Foam::max(max_, points[i]); } }
void Foam::boundBox::calculate(const pointField& points, const bool doReduce) { if (points.empty()) { min_ = point::zero; max_ = point::zero; if (doReduce && Pstream::parRun()) { // Use values that get overwritten by reduce minOp, maxOp below min_ = point(VGREAT, VGREAT, VGREAT); max_ = point(-VGREAT, -VGREAT, -VGREAT); } } else { min_ = points[0]; max_ = points[0]; for (label i = 1; i < points.size(); i++) { min_ = ::Foam::min(min_, points[i]); max_ = ::Foam::max(max_, points[i]); } } // Reduce parallel information if (doReduce) { reduce(min_, minOp<point>()); reduce(max_, maxOp<point>()); } }