57 #ifndef treeBoundBox_H
58 #define treeBoundBox_H
70 class randomGenerator;
77 bool operator==(
const treeBoundBox&,
const treeBoundBox&);
78 bool operator!=(
const treeBoundBox&,
const treeBoundBox&);
80 Istream&
operator>>(Istream& is, treeBoundBox&);
81 Ostream&
operator<<(Ostream& os,
const treeBoundBox&);
103 static const scalar
great;
207 template<
unsigned Size>
226 inline scalar
typDim()
const;
308 const point& overallStart,
A 1D vector of objects of type <T> with a fixed size <Size>.
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 the points at its extremities.
point nearest(const point &) const
Return the nearest point on the boundBox to the supplied point.
const point & min() const
Minimum point defining the bounding box.
const point & max() const
Maximum point defining the bounding box.
bool overlaps(const boundBox &) const
Overlaps/touches boundingBox?
bool contains(const point &) const
Contains point? (inside or on edge)
A list of keyword definitions, which are a keyword followed by any number of values (e....
A class for handling file names.
A class for managing temporary objects.
Standard boundBox + extra functionality for use in octree.
void writeOBJ(const fileName &fName) const
void calcExtremities(const point &pt, point &nearest, point &furthest) const
Calculate nearest and furthest (to point) vertex coords of.
friend Istream & operator>>(Istream &is, treeBoundBox &)
friend Ostream & operator<<(Ostream &os, const treeBoundBox &)
scalar maxDist(const point &) const
Returns distance point to furthest away corner.
label distanceCmp(const point &, const treeBoundBox &other) const
Compare distance to point with other bounding box.
direction faceBits(const point &) const
Code position of point on bounding box faces.
void searchOrder(const point &pt, FixedList< direction, 8 > &octantOrder) const
Calculates optimal order to look for nearest to point.
treeBoundBox extend(const scalar s) const
Return asymmetrically extended bounding box, with guaranteed.
friend bool operator!=(const treeBoundBox &, const treeBoundBox &)
treeBoundBox subBbox(const direction) const
Sub box given by octant number. Midpoint calculated.
static const scalar great
The great value used for greatBox and invertedBox.
static const edgeList edges
Edge to point addressing.
point corner(const direction) const
Corner point given octant.
bool contains(const point &) const
Contains point or other bounding box?
bool intersects(const point &overallStart, const vector &overallVec, const point &start, const point &end, point &pt, direction &ptBits) const
Intersects segment; set point to intersection position and face,.
static const treeBoundBox invertedBox
As per boundBox::invertedBox, but with great instead of vGreat.
static const treeBoundBox greatBox
As per boundBox::greatBox, but with great instead of vGreat.
direction subOctant(const point &pt) const
Returns octant number given point and the calculated midpoint.
static const FixedList< vector, 6 > faceNormals
Per face the unit normal.
scalar typDim() const
Typical dimension length,height,width.
static const faceList faces
Face to point addressing.
friend bool operator==(const treeBoundBox &, const treeBoundBox &)
direction posBits(const point &) const
Position of point relative to bounding box.
treeBoundBox()
Construct null setting points to zero.
tmp< pointField > points() const
Vertex coordinates. In octant coding.
Direction is an 8-bit unsigned integer type used to represent the Cartesian directions etc.
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.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
bool operator!=(const particle &, const particle &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
bool contiguous< boundBox >()
Data associated with boundBox type are contiguous.
bool contiguous< treeBoundBox >()
Data associated with treeBoundBox type are contiguous.
Istream & operator>>(Istream &, pistonPointEdgeData &)
Ostream & operator<<(Ostream &os, const fvConstraints &constraints)
Bits used for face coding.
Bits used for octant/point coding.