36 point(-vGreat, -vGreat, -vGreat),
37 point(vGreat, vGreat, vGreat)
43 point(vGreat, vGreat, vGreat),
44 point(-vGreat, -vGreat, -vGreat)
50 void Foam::boundBox::calculate(
const UList<point>& points,
const bool doReduce)
60 min_ =
point(vGreat, vGreat, vGreat);
61 max_ =
point(-vGreat, -vGreat, -vGreat);
70 for (
label i = 1; i < points.size(); i++)
80 reduce(min_, minOp<point>());
81 reduce(max_, maxOp<point>());
93 calculate(points, doReduce);
102 calculate(
points(), doReduce);
122 min_ =
point(vGreat, vGreat, vGreat);
123 max_ =
point(-vGreat, -vGreat, -vGreat);
128 min_ = points[indices[0]];
129 max_ = points[indices[0]];
131 for (
label i=1; i < indices.size(); ++i)
155 pt[1] =
point(max_.
x(), min_.
y(), min_.
z());
156 pt[2] =
point(max_.
x(), max_.
y(), min_.
z());
157 pt[3] =
point(min_.
x(), max_.
y(), min_.
z());
158 pt[4] =
point(min_.
x(), min_.
y(), max_.
z());
159 pt[5] =
point(max_.
x(), min_.
y(), max_.
z());
161 pt[7] =
point(min_.
x(), max_.
y(), max_.
z());
310 return point(surfPtx, surfPty, surfPtz);
326 reinterpret_cast<const char*>(&bb.min_),
332 os.
check(
"Ostream& operator<<(Ostream&, const boundBox&)");
341 is >> bb.min_ >> bb.max_;
347 reinterpret_cast<char*>(&bb.min_),
353 is.
check(
"Istream& operator>>(Istream&, boundBox&)");
boundBox()
Construct null, setting points to zero.
#define forAll(list, i)
Loop across all elements in list.
bool empty() const
Return true if the UList is empty (ie, size() is zero)
virtual Ostream & write(const char)=0
Write character.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Inter-processor communication reduction functions.
void clear() const
If object pointer points to valid object:
point nearest(const point &) const
Return the nearest point on the boundBox to the supplied point.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
virtual bool check(const char *operation) const
Check IOstream status for given operation.
T & ref() const
Return non-const reference or generate a fatal error.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static const scalar great
The great value used for greatBox and invertedBox.
static faceList faces()
Return faces with correct point order.
bool contains(const point &) const
Contains point? (inside or on edge)
A bounding box defined in terms of the points at its extremities.
static const boundBox greatBox
A very large boundBox: min/max == -/+ vGreat.
tmp< pointField > points() const
Return corner points in an order corresponding to a 'hex' cell.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().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))
vectorField pointField
pointField is a vectorField.
virtual Istream & read(token &)=0
Return next token from stream.
Istream & operator>>(Istream &, directionInfo &)
scalar mag() const
The magnitude of the bounding box span.
streamFormat format() const
Return current stream format.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void inflate(const scalar s)
Inflate box by factor*mag(span) in all dimensions.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
void setSize(const label)
Reset size of List.
static const boundBox invertedBox
A very large inverted boundBox: min/max == +/- vGreat.
static bool & parRun()
Is this a parallel run?
vector point
Point is a vector.
Ostream & operator<<(Ostream &, const ensightPart &)
static const Vector< scalar > one
A class for managing temporary objects.
bool containsAny(const UList< point > &) const
Contains any of the points? (inside or on edge)