54template<
class T>
class tmp;
145 inline bool empty()
const;
148 inline bool valid()
const;
172 inline scalar
mag()
const;
175 inline scalar
volume()
const;
178 inline scalar
minDim()
const;
181 inline scalar
maxDim()
const;
184 inline scalar
avgDim()
const;
192 inline label
nDim()
const;
238 template<
class IntContainer>
242 const IntContainer& indices
271 const scalar radiusSqr
299 template<
class IntContainer>
303 const IntContainer& indices
322 template<
class IntContainer>
326 const IntContainer& indices
A 1D vector of objects of type <T> with a fixed length <N>.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A bounding box defined in terms of min/max extrema points.
bool containsInside(const point &pt) const
Contains point? (inside only)
friend Ostream & operator<<(Ostream &os, const boundBox &bb)
point nearest(const point &pt) const
Return the nearest point on the boundBox to the supplied point.
bool valid() const
Bounding box is non-inverted.
void operator+=(const boundBox &bb)
Extend box to include the second box, as per the add() method.
bool overlaps(const boundBox &bb) const
Overlaps/touches boundingBox?
const point & min() const
Minimum describing the bounding box.
const point & max() const
Maximum describing the bounding box.
void reduce()
Parallel reduction of min/max values.
directionBit
Bits used for (x/y/z) direction encoding.
@ XDIR
1: x-direction (vector component 0)
@ ZDIR
4: z-direction (vector component 2)
@ YDIR
2: y-direction (vector component 1)
static const boundBox invertedBox
A large inverted boundBox: min/max == +/- ROOTVGREAT.
bool contains(const point &pt) const
Contains point? (inside or on edge)
scalar volume() const
The volume of the bound box.
bool empty() const
Bounding box is inverted, contains no points.
static const boundBox greatBox
A large boundBox: min/max == -/+ ROOTVGREAT.
void add(const boundBox &bb)
Extend to include the second box.
void inflate(const scalar s)
Inflate box by factor*mag(span) in all dimensions.
friend Istream & operator>>(Istream &is, boundBox &bb)
scalar minDim() const
Smallest length/height/width dimension.
label nDim() const
Count the number of positive, non-zero dimensions.
scalar mag() const
The magnitude of the bounding box span.
tmp< pointField > faceCentres() const
Face midpoints.
scalar avgDim() const
Average length/height/width dimension.
boundBox()
Construct without any points - an inverted bounding box.
point faceCentre(const direction facei) const
Face centre of given face index.
static const FixedList< vector, 6 > faceNormals
The unit normal per face.
void clear()
Clear bounding box and make it an inverted box.
bool intersects(const plane &pln) const
Does plane intersect this bounding box.
static const faceList faces
Faces to point addressing, as per a 'hex' cell.
bool intersect(const boundBox &bb)
Intersection (union) with the second box.
point midpoint() const
The midpoint (centre) of the bounding box. Identical to centre()
vector span() const
The bounding box span (from minimum to maximum)
point centre() const
The centre (midpoint) of the bounding box.
bool containsAny(const UList< point > &points) const
Contains any of the points? (inside or on edge)
scalar maxDim() const
Largest length/height/width dimension.
tmp< pointField > points() const
Corner points in an order corresponding to a 'hex' cell.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
A class for managing temporary objects.
OBJstream os(runTime.globalPath()/outputName)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
bool operator!=(const eddy &a, const eddy &b)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
Istream & operator>>(Istream &, directionInfo &)
A template class to specify if a data type is composed solely of Foam::scalar elements.
A template class to specify that a data type can be considered as being contiguous in memory.