A bounding box defined in terms of the points at its extremities. More...
Public Member Functions | |
boundBox () | |
Construct null, setting points to zero. More... | |
boundBox (const point &min, const point &max) | |
Construct from components. More... | |
boundBox (const UList< point > &, const bool doReduce=true) | |
Construct as the bounding box of the given points. More... | |
boundBox (const tmp< pointField > &, const bool doReduce=true) | |
Construct as the bounding box of the given temporary pointField. More... | |
boundBox (const UList< point > &, const labelUList &indices, const bool doReduce=true) | |
Construct bounding box as subset of the pointField. More... | |
template<unsigned Size> | |
boundBox (const UList< point > &, const FixedList< label, Size > &indices, const bool doReduce=true) | |
Construct bounding box as subset of the pointField. More... | |
boundBox (const dictionary &) | |
Construct from dictionary. More... | |
boundBox (Istream &) | |
Construct from Istream. More... | |
const point & | min () const |
Minimum point defining the bounding box. More... | |
const point & | max () const |
Maximum point defining the bounding box. More... | |
point & | min () |
Minimum point defining the bounding box, non-const access. More... | |
point & | max () |
Maximum point defining the bounding box, non-const access. More... | |
point | midpoint () const |
The midpoint of the bounding box. More... | |
vector | span () const |
The bounding box span (from minimum to maximum) More... | |
scalar | mag () const |
The magnitude of the bounding box span. More... | |
scalar | volume () const |
The volume of the bound box. More... | |
scalar | minDim () const |
Smallest length/height/width dimension. More... | |
scalar | maxDim () const |
Largest length/height/width dimension. More... | |
scalar | avgDim () const |
Average length/height/width dimension. More... | |
tmp< pointField > | points () const |
Return corner points in an order corresponding to a 'hex' cell. More... | |
void | inflate (const scalar s) |
Inflate box by factor*mag(span) in all dimensions. More... | |
bool | overlaps (const boundBox &) const |
Overlaps/touches boundingBox? More... | |
bool | overlaps (const point &, const scalar radiusSqr) const |
Overlaps boundingSphere (centre + sqr(radius))? More... | |
bool | contains (const point &) const |
Contains point? (inside or on edge) More... | |
bool | contains (const boundBox &) const |
Fully contains other boundingBox? More... | |
bool | containsInside (const point &) const |
Contains point? (inside only) More... | |
bool | contains (const UList< point > &) const |
Contains all of the points? (inside or on edge) More... | |
bool | contains (const UList< point > &, const labelUList &indices) const |
Contains all of the points? (inside or on edge) More... | |
template<unsigned Size> | |
bool | contains (const UList< point > &, const FixedList< label, Size > &indices) const |
Contains all of the points? (inside or on edge) More... | |
bool | containsAny (const UList< point > &) const |
Contains any of the points? (inside or on edge) More... | |
bool | containsAny (const UList< point > &, const labelUList &indices) const |
Contains any of the points? (inside or on edge) More... | |
template<unsigned Size> | |
bool | containsAny (const UList< point > &, const FixedList< label, Size > &indices) const |
Contains any of the points? (inside or on edge) More... | |
point | nearest (const point &) const |
Return the nearest point on the boundBox to the supplied point. More... | |
Static Public Member Functions | |
static faceList | faces () |
Return faces with correct point order. More... | |
Static Public Attributes | |
static const scalar | great |
The great value used for greatBox and invertedBox. More... | |
static const boundBox | greatBox |
A very large boundBox: min/max == -/+ vGreat. More... | |
static const boundBox | invertedBox |
A very large inverted boundBox: min/max == +/- vGreat. More... | |
Friends | |
bool | operator== (const boundBox &, const boundBox &) |
bool | operator!= (const boundBox &, const boundBox &) |
Istream & | operator>> (Istream &, boundBox &) |
Ostream & | operator<< (Ostream &, const boundBox &) |
A bounding box defined in terms of the points at its extremities.
Definition at line 58 of file boundBox.H.
|
inline |
Construct null, setting points to zero.
Definition at line 31 of file boundBoxI.H.
Construct from components.
Definition at line 38 of file boundBoxI.H.
Construct as the bounding box of the given points.
Does parallel communication (doReduce = true)
Definition at line 77 of file boundBox.C.
References boundBox::points().
boundBox | ( | const tmp< pointField > & | points, |
const bool | doReduce = true |
||
) |
Construct as the bounding box of the given temporary pointField.
Does parallel communication (doReduce = true)
Definition at line 86 of file boundBox.C.
References boundBox::points().
boundBox | ( | const UList< point > & | points, |
const labelUList & | indices, | ||
const bool | doReduce = true |
||
) |
Construct bounding box as subset of the pointField.
The indices could be from cell/face etc. Does parallel communication (doReduce = true)
Definition at line 96 of file boundBox.C.
References UList< T >::empty(), Foam::max(), VectorSpace< Form, Cmpt, Ncmpts >::max, Foam::min(), VectorSpace< Form, Cmpt, Ncmpts >::min, UPstream::parRun(), boundBox::points(), and Foam::reduce().
boundBox | ( | const UList< point > & | points, |
const FixedList< label, Size > & | indices, | ||
const bool | doReduce = true |
||
) |
Construct bounding box as subset of the pointField.
The indices could be from edge/triFace etc. Does parallel communication (doReduce = true)
Definition at line 34 of file boundBoxTemplates.C.
References Foam::max(), Foam::min(), UPstream::parRun(), boundBox::points(), and Foam::reduce().
|
inline |
Construct from dictionary.
Definition at line 45 of file boundBoxI.H.
Construct from Istream.
Definition at line 52 of file boundBoxI.H.
References Foam::operator>>().
|
inline |
Minimum point defining the bounding box.
Definition at line 60 of file boundBoxI.H.
Referenced by cell::bb(), searchableSurfacesQueries::bounds(), PatchTools::calcBounds(), Foam::meshCheck::checkGeometry(), Foam::combine(), Foam::meshTools::constrainToMeshCentre(), boundBox::contains(), treeBoundBox::extend(), dynamicIndexedOctree< Type >::findNearest(), dynamicTreeDataPoint::findNearest(), meshSearch::findNearestBoundaryFace(), repatchMesh::getNearest(), triangleFuncs::intersectBb(), cellsToCells::maskCells(), projectVertex::operator point(), searchablePlate::overlaps(), primitiveMesh::pointInCellBB(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), indexedOctree< Foam::treeDataPoint >::print(), rotatedBoxToCell::rotatedBoxToCell(), rotatedBoxToFace::rotatedBoxToFace(), searchableDisk::searchableDisk(), searchableExtrudedCircle::searchableExtrudedCircle(), searchableSurfaceCollection::searchableSurfaceCollection(), treeBoundBox::subBbox(), indexedOctree< Foam::treeDataPoint >::write(), triSurface::writeStats(), and distributedTriSurfaceMesh::writeStats().
|
inline |
Maximum point defining the bounding box.
Definition at line 66 of file boundBoxI.H.
Referenced by cell::bb(), searchableSurfacesQueries::bounds(), PatchTools::calcBounds(), Foam::meshCheck::checkGeometry(), Foam::combine(), Foam::meshTools::constrainToMeshCentre(), boundBox::contains(), treeBoundBox::extend(), dynamicIndexedOctree< Type >::findNearest(), dynamicTreeDataPoint::findNearest(), meshSearch::findNearestBoundaryFace(), repatchMesh::getNearest(), triangleFuncs::intersectBb(), Kmesh::Kmesh(), cellsToCells::maskCells(), projectVertex::operator point(), orientedSurface::orientedSurface(), searchablePlate::overlaps(), primitiveMesh::pointInCellBB(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), searchableDisk::searchableDisk(), searchableExtrudedCircle::searchableExtrudedCircle(), searchableSurfaceCollection::searchableSurfaceCollection(), treeBoundBox::subBbox(), triSurface::writeStats(), and distributedTriSurfaceMesh::writeStats().
|
inline |
Minimum point defining the bounding box, non-const access.
Definition at line 72 of file boundBoxI.H.
|
inline |
Maximum point defining the bounding box, non-const access.
Definition at line 78 of file boundBoxI.H.
|
inline |
The midpoint of the bounding box.
Definition at line 84 of file boundBoxI.H.
Referenced by rotatedBoxToCell::rotatedBoxToCell(), rotatedBoxToFace::rotatedBoxToFace(), searchableBox::searchableBox(), and nearby::srcBox().
|
inline |
The bounding box span (from minimum to maximum)
Definition at line 90 of file boundBoxI.H.
Referenced by booleanSurface::booleanSurface(), mappedPatchBase::calcMapping(), Foam::meshCheck::checkGeometry(), treeBoundBox::extend(), indexedOctree< Foam::treeDataPoint >::findNear(), Kmesh::Kmesh(), projectVertex::operator point(), orientedSurface::orientedSurface(), and primitiveMesh::pointInCellBB().
|
inline |
The magnitude of the bounding box span.
Definition at line 96 of file boundBoxI.H.
References Foam::mag().
Referenced by searchableSurfaces::checkSizes(), patchProbes::findElements(), and streamlinesParticle::move().
|
inline |
The volume of the bound box.
Definition at line 102 of file boundBoxI.H.
References Foam::cmptProduct().
|
inline |
Smallest length/height/width dimension.
Definition at line 108 of file boundBoxI.H.
References Foam::cmptMin().
Referenced by Foam::meshCheck::checkMesh().
|
inline |
Largest length/height/width dimension.
Definition at line 114 of file boundBoxI.H.
References Foam::cmptMax().
Referenced by nearby::srcBox().
|
inline |
Average length/height/width dimension.
Definition at line 120 of file boundBoxI.H.
References Foam::cmptAv().
Referenced by repatchMesh::getNearest().
Foam::tmp< Foam::pointField > points | ( | ) | const |
Return corner points in an order corresponding to a 'hex' cell.
Definition at line 138 of file boundBox.C.
References tmp< T >::ref().
Referenced by boundBox::boundBox(), rotatedBoxToCell::rotatedBoxToCell(), and rotatedBoxToFace::rotatedBoxToFace().
|
static |
Return faces with correct point order.
Definition at line 156 of file boundBox.C.
References forAll, and List< T >::setSize().
void inflate | ( | const scalar | s | ) |
Inflate box by factor*mag(span) in all dimensions.
Definition at line 199 of file boundBox.C.
Referenced by surfaceFeatures::nearestFeatEdge(), surfaceFeatures::nearestSurfEdge(), patchToPatch::srcBox(), and patchToPatch::tgtBox().
|
inline |
Overlaps/touches boundingBox?
Definition at line 126 of file boundBoxI.H.
References Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Referenced by tetOverlapVolume::cellCellOverlapMinDecomp(), tetOverlapVolume::cellCellOverlapVolumeMinDecomp(), searchableBox::overlaps(), searchableSphere::overlaps(), and indexedOctree< Type >::overlaps().
|
inline |
Overlaps boundingSphere (centre + sqr(radius))?
Definition at line 137 of file boundBoxI.H.
References Foam::mag(), and VectorSpace< Form, Cmpt, Ncmpts >::nComponents.
|
inline |
Contains point? (inside or on edge)
Definition at line 176 of file boundBoxI.H.
References Vector< Cmpt >::x(), and Vector< Cmpt >::y().
Referenced by primitiveMesh::pointInCellBB(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), and Foam::selectBox().
|
inline |
Fully contains other boundingBox?
Definition at line 188 of file boundBoxI.H.
References boundBox::max(), and boundBox::min().
|
inline |
Contains point? (inside only)
Definition at line 194 of file boundBoxI.H.
References Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Contains all of the points? (inside or on edge)
Definition at line 208 of file boundBox.C.
References UList< T >::empty(), forAll, and points.
bool contains | ( | const UList< point > & | points, |
const labelUList & | indices | ||
) | const |
Contains all of the points? (inside or on edge)
Definition at line 227 of file boundBox.C.
References UList< T >::empty(), forAll, and points.
Contains all of the points? (inside or on edge)
Definition at line 78 of file boundBoxTemplates.C.
References UList< T >::empty(), forAll, and points.
Contains any of the points? (inside or on edge)
Definition at line 250 of file boundBox.C.
References UList< T >::empty(), forAll, and points.
Referenced by treeDataFace::overlaps(), treeDataPrimitivePatch< PatchType >::overlaps(), and triSurfaceTools::triangulate().
bool containsAny | ( | const UList< point > & | points, |
const labelUList & | indices | ||
) | const |
Contains any of the points? (inside or on edge)
Definition at line 269 of file boundBox.C.
References UList< T >::empty(), forAll, and points.
Contains any of the points? (inside or on edge)
Definition at line 103 of file boundBoxTemplates.C.
References UList< T >::empty(), forAll, and points.
Foam::point nearest | ( | const point & | pt | ) | const |
Return the nearest point on the boundBox to the supplied point.
If point is inside the boundBox then the point is returned unchanged.
Definition at line 292 of file boundBox.C.
References Foam::max(), Foam::min(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
static |
The great value used for greatBox and invertedBox.
Definition at line 76 of file boundBox.H.
|
static |
A very large boundBox: min/max == -/+ vGreat.
Definition at line 79 of file boundBox.H.
|
static |
A very large inverted boundBox: min/max == +/- vGreat.
Definition at line 82 of file boundBox.H.
Referenced by cell::bb(), PatchTools::calcBounds(), and triSurface::writeStats().