73 (octant & octantBit::rightHalf) ?
max().
x() :
min().
x(),
74 (octant & octantBit::topHalf) ?
max().
y() :
min().
y(),
75 (octant & octantBit::frontHalf) ?
max().z() :
min().z()
83 return subOctant(midpoint(), pt);
99 octant |= octantBit::rightHalf;
102 if (pt.
y() > mid.
y())
104 octant |= octantBit::topHalf;
107 if (pt.
z() > mid.
z())
109 octant |= octantBit::frontHalf;
124 return subOctant(midpoint(), pt, onEdge);
140 if (pt.
x() > mid.
x())
142 octant |= octantBit::rightHalf;
144 else if (pt.
x() == mid.
x())
149 if (pt.
y() > mid.
y())
151 octant |= octantBit::topHalf;
153 else if (pt.
y() == mid.
y())
158 if (pt.
z() > mid.
z())
160 octant |= octantBit::frontHalf;
162 else if (pt.
z() == mid.
z())
186 if (pt.
x() > mid.
x())
188 octant |= octantBit::rightHalf;
190 else if (pt.
x() == mid.
x())
195 octant |= octantBit::rightHalf;
199 if (pt.
y() > mid.
y())
201 octant |= octantBit::topHalf;
203 else if (pt.
y() == mid.
y())
208 octant |= octantBit::topHalf;
212 if (pt.
z() > mid.
z())
214 octant |= octantBit::frontHalf;
216 else if (pt.
z() == mid.
z())
221 octant |= octantBit::frontHalf;
237 vector dist = midpoint() - pt;
243 octant |= octantBit::rightHalf;
249 octant |= octantBit::topHalf;
255 octant |= octantBit::frontHalf;
263 if (dist.
x() < dist.
y())
265 if (dist.
y() < dist.
z())
267 min = octantBit::rightHalf;
268 mid = octantBit::topHalf;
269 max = octantBit::frontHalf;
271 else if (dist.
z() < dist.
x())
273 min = octantBit::frontHalf;
274 mid = octantBit::rightHalf;
275 max = octantBit::topHalf;
279 min = octantBit::rightHalf;
280 mid = octantBit::frontHalf;
281 max = octantBit::topHalf;
286 if (dist.
z() < dist.
y())
288 min = octantBit::frontHalf;
289 mid = octantBit::topHalf;
290 max = octantBit::rightHalf;
292 else if (dist.
x() < dist.
z())
294 min = octantBit::topHalf;
295 mid = octantBit::rightHalf;
296 max = octantBit::frontHalf;
300 min = octantBit::topHalf;
301 mid = octantBit::frontHalf;
302 max = octantBit::rightHalf;
307 octantOrder[0] = octant;
309 octantOrder[1] = octant ^
min;
310 octantOrder[2] = octant ^ mid;
311 octantOrder[3] = octant ^
max;
313 octantOrder[4] = octantOrder[1] ^ mid;
314 octantOrder[5] = octantOrder[1] ^
max;
315 octantOrder[6] = octantOrder[2] ^
max;
317 octantOrder[7] = octantOrder[4] ^
max;
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)....
static Form uniform(const Cmpt &s)
Return a VectorSpace with all elements = s.
A bounding box defined in terms of the points at its extremities.
const point & min() const
Minimum point defining the bounding box.
const point & max() const
Maximum point defining the bounding box.
vector span() const
The bounding box span (from minimum to maximum)
A list of keyword definitions, which are a keyword followed by any number of values (e....
Standard boundBox + extra functionality for use in octree.
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.
point corner(const direction) const
Corner point given octant.
direction subOctant(const point &pt) const
Returns octant number given point and the calculated midpoint.
scalar typDim() const
Typical dimension length,height,width.
treeBoundBox()
Construct null setting points to zero.
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))
vector point
Point is a vector.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< scalar > mag(const dimensioned< Type > &)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)