39 for (label i=0; i<n; i++)
52 treeElem<Type>(bb), size_(0), indices_(size)
60 treeElem<Type>(bb), size_(indices.size()), indices_(indices)
94 Pout<<
"treeLeaf::redistribute with bb:" << this->bb() <<
endl;
103 Pout<<
"end of treeLeaf::redistribute : small enough" <<
endl;
125 Pout<<
"end of treeLeaf::redistribute : done creating node"
126 << this->bb() <<
endl;
136 template <
class Type>
148 "treeLeaf<Type>::setSubNodeType(const label, octree<Type>&, "
150 ) <<
"empty leaf. bb:" << this->bb()
157 template <
class Type>
170 template <
class Type>
179 if (shapes.contains(indices_[i], sample))
189 template <
class Type>
197 bool changed =
false;
201 changed |= shapes.findTightest
213 template <
class Type>
223 bool changed =
false;
227 if (shapes.overlaps(indices_[i], tightest))
232 Pout<<
"treeLeaf<Type>::findNearest : sample:" << sample
233 <<
" shape:" << indices_[i] <<
" overlaps:" << tightest
237 scalar thisDist = shapes.calcNearest(indices_[i], sample, nearest);
239 if (thisDist < tightestDist)
242 point dist(thisDist, thisDist, thisDist);
244 tightest.
min() = sample -
dist;
245 tightest.
max() = sample +
dist;
248 tightestI = indices_[i];
250 tightestDist = thisDist;
257 Pout<<
"treeLeaf<Type>::findNearest : Found nearer : shape:"
258 << tightestI <<
" distance:" << tightestDist
259 <<
" to sample:" << sample <<
endl;
270 Pout<<
"treeLeaf<Type>::findNearest : sample:" << sample
271 <<
" new nearer:" << tightestDist
279 template <
class Type>
291 scalar tightestDist =
mag(linePoint - shapePoint);
293 bool changed =
false;
297 if (shapes.overlaps(indices_[i], tightest))
300 point linePt, shapePt;
301 scalar thisDist = shapes.calcNearest
309 if (thisDist < tightestDist)
312 tightestDist = thisDist;
313 tightestI = indices_[i];
315 shapePoint = shapePt;
318 vector span(thisDist, thisDist, thisDist);
332 template <
class Type>
340 bool changed =
false;
344 if (shapes.overlaps(indices_[i], box))
346 elements.
insert(indices_[i]);
356 template <
class Type>
365 os <<
"leaf:" << this->bb()
366 <<
" number of entries:" << indices().size() <<
endl;
370 os << indices() <<
endl;
375 template <
class Type>
386 os <<
"v " << min.
x() <<
" " << min.
y() <<
" " << min.
z() <<
endl;
387 os <<
"v " << max.
x() <<
" " << min.
y() <<
" " << min.
z() <<
endl;
388 os <<
"v " << max.
x() <<
" " << max.
y() <<
" " << min.
z() <<
endl;
389 os <<
"v " << min.
x() <<
" " << max.
y() <<
" " << min.
z() <<
endl;
391 os <<
"v " << min.
x() <<
" " << min.
y() <<
" " << max.
z() <<
endl;
392 os <<
"v " << max.
x() <<
" " << min.
y() <<
" " << max.
z() <<
endl;
393 os <<
"v " << max.
x() <<
" " << max.
y() <<
" " << max.
z() <<
endl;
394 os <<
"v " << min.
x() <<
" " << max.
y() <<
" " << max.
z() <<
endl;
396 os <<
"l " << vertNo <<
" " << vertNo+1 <<
endl;
397 os <<
"l " << vertNo+1 <<
" " << vertNo+2 <<
endl;
398 os <<
"l " << vertNo+2 <<
" " << vertNo+3 <<
endl;
399 os <<
"l " << vertNo+3 <<
" " << vertNo <<
endl;
401 os <<
"l " << vertNo+4 <<
" " << vertNo+5 <<
endl;
402 os <<
"l " << vertNo+5 <<
" " << vertNo+6 <<
endl;
403 os <<
"l " << vertNo+6 <<
" " << vertNo+7 <<
endl;
404 os <<
"l " << vertNo+7 <<
" " << vertNo <<
endl;
406 os <<
"l " << vertNo <<
" " << vertNo+4 <<
endl;
407 os <<
"l " << vertNo+1 <<
" " << vertNo+5 <<
endl;
408 os <<
"l " << vertNo+2 <<
" " << vertNo+6 <<
endl;
409 os <<
"l " << vertNo+3 <<
" " << vertNo+7 <<
endl;
415 template <
class Type>
422 label nItems = size();
426 os <<
"leaf:" << this->bb() <<
" has size:" << nItems <<
endl;
434 template <
class Type>
437 is >> leaf.
bb() >> leaf.indices_;
440 leaf.size_ = leaf.indices_.
size();
445 template <
class Type>
450 if (leaf.indices().size() == leaf.size())
452 os << leaf.indices();
458 for (label i = 0; i < leaf.size(); i++)