Encapsulation of data needed to search in/for cells. More...
#include <meshTools/octreeDataCell.H>
Encapsulation of data needed to search in/for cells.
Used to find the cell containing a point (e.g. cell-cell mapping).
Definition at line 57 of file octreeDataCell.H.
Public Member Functions | |
octreeDataCell (const polyMesh &, const labelList &cellLabels, const treeBoundBoxList &bbs) | |
Construct from components.
| |
octreeDataCell (const polyMesh &) | |
Construct from mesh. Uses all cells in mesh.
| |
const labelList & | cellLabels () const |
const polyMesh & | mesh () const |
const treeBoundBoxList & | allBb () const |
label | size () const |
label | getSampleType (octree< octreeDataCell > &, const point &) const |
Get type of sample.
| |
bool | overlaps (const label index, const treeBoundBox &sampleBb) const |
Does (bb of) shape at index overlap bb.
| |
bool | contains (const label index, const point &sample) const |
Does shape at index contain sample.
| |
bool | intersects (const label index, const point &start, const point &end, point &intersectionPoint) const |
Segment (from start to end) intersection with shape.
| |
bool | findTightest (const label index, const point &sample, treeBoundBox &tightest) const |
Sets newTightest to bounding box (and returns true) if.
| |
scalar | calcSign (const label index, const point &sample, vector &n) const |
Given index get unit normal and calculate (numerical) sign.
| |
scalar | calcNearest (const Foam::label index, const Foam::point &sample, point &nearest) const |
Calculates nearest (to sample) point in shape.
| |
scalar | calcNearest (const label index, const linePointRef &ln, point &linePt, point &shapePt) const |
Calculates nearest (to line segment) point in shape.
| |
void | write (Ostream &os, const label index) const |
octreeDataCell | ( | const polyMesh & | mesh, |
const labelList & | cellLabels, | ||
const treeBoundBoxList & | bbs | ||
) |
Construct from components.
Definition at line 37 of file octreeDataCell.C.
octreeDataCell | ( | const polyMesh & | mesh ) |
Construct from mesh. Uses all cells in mesh.
Definition at line 51 of file octreeDataCell.C.
References cells, forAll, Foam::max(), Foam::min(), p, and points.
const labelList& cellLabels | ( | ) | const [inline]
|
Definition at line 88 of file octreeDataCell.H.
const polyMesh& mesh | ( | ) | const [inline]
|
Definition at line 93 of file octreeDataCell.H.
const treeBoundBoxList& allBb | ( | ) | const [inline]
|
Definition at line 98 of file octreeDataCell.H.
label size | ( | ) | const [inline]
|
Definition at line 103 of file octreeDataCell.H.
References List< T >::size().
Foam::label getSampleType | ( | octree< octreeDataCell > & | , |
const point & | |||
) | const |
Get type of sample.
Definition at line 96 of file octreeDataCell.C.
bool overlaps | ( | const label | index, |
const treeBoundBox & | sampleBb | ||
) | const |
Does (bb of) shape at index overlap bb.
Definition at line 106 of file octreeDataCell.C.
References treeBoundBox::overlaps().
bool contains | ( | const label | index, |
const point & | sample | ||
) | const |
Does shape at index contain sample.
Definition at line 116 of file octreeDataCell.C.
bool intersects | ( | const label | index, |
const point & | start, | ||
const point & | end, | ||
point & | intersectionPoint | ||
) | const |
Segment (from start to end) intersection with shape.
at index. If intersects returns true and sets intersectionPoint BUG: not yet done.
Definition at line 126 of file octreeDataCell.C.
References notImplemented.
bool findTightest | ( | const label | index, |
const point & | sample, | ||
treeBoundBox & | tightest | ||
) | const |
Sets newTightest to bounding box (and returns true) if.
nearer to sample than tightest bounding box. Otherwise returns false
Definition at line 146 of file octreeDataCell.C.
References treeBoundBox::calcExtremities(), dist, Foam::mag(), boundBox::max(), boundBox::min(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
Given index get unit normal and calculate (numerical) sign.
of sample. Used to determine accuracy of calcNearest or inside/outside. Note: always returns GREAT since no inside/outside.
Definition at line 185 of file octreeDataCell.C.
scalar calcNearest | ( | const Foam::label | index, |
const Foam::point & | sample, | ||
point & | nearest | ||
) | const |
Calculates nearest (to sample) point in shape.
Returns point and mag(nearest - sample)
Foam::scalar calcNearest | ( | const label | index, |
const linePointRef & | ln, | ||
point & | linePt, | ||
point & | shapePt | ||
) | const |
Calculates nearest (to line segment) point in shape.
Returns distance and both point.
Definition at line 213 of file octreeDataCell.C.
References notImplemented.
void write | ( | Ostream & | os, |
const label | index | ||
) | const |
Definition at line 230 of file octreeDataCell.C.