Encapsulation of data needed to search on PrimitivePatches. More...


Classes | |
| class | findAllIntersectOp |
| class | findIntersectOp |
| class | findNearestOp |
| class | findSelfIntersectOp |
Public Member Functions | |
| treeDataPrimitivePatch (const bool cacheBb, const PatchType &, const scalar planarTol) | |
| Construct from patch. More... | |
| label | size () const |
| pointField | shapePoints () const |
| Get representative point cloud for all shapes inside. More... | |
| const PatchType & | patch () const |
| Return access to the underlying patch. More... | |
| volumeType | getVolumeType (const indexedOctree< treeDataPrimitivePatch< PatchType >> &, const point &) const |
| Get type (inside,outside,mixed,unknown) of point w.r.t. surface. More... | |
| bool | overlaps (const label index, const treeBoundBox &sampleBb) const |
| Does shape at index overlap bb. More... | |
| bool | overlaps (const label index, const point ¢re, const scalar radiusSqr) const |
| Does shape at index overlap sphere. More... | |
| Foam::volumeType | getVolumeType (const indexedOctree< treeDataPrimitivePatch< triSurface >> &oc, const point &sample) const |
| volumeType | getVolumeType (const indexedOctree< treeDataPrimitivePatch< triSurface >> &oc, const point &sample) const |
| Template specialisation of getVolumeType for treeDataTriSurface. More... | |
Static Public Member Functions | |
| static bool | findIntersection (const indexedOctree< treeDataPrimitivePatch< PatchType >> &tree, const label index, const point &start, const point &end, point &intersectionPoint) |
| Helper: find intersection of line with shapes. More... | |
Encapsulation of data needed to search on PrimitivePatches.
Definition at line 61 of file treeDataPrimitivePatch.H.
| treeDataPrimitivePatch | ( | const bool | cacheBb, |
| const PatchType & | patch, | ||
| const scalar | planarTol | ||
| ) |
Construct from patch.
Definition at line 73 of file treeDataPrimitivePatch.C.
|
inline |
Definition at line 212 of file treeDataPrimitivePatch.H.
| Foam::pointField shapePoints |
Get representative point cloud for all shapes inside.
(one point per shape)
Definition at line 136 of file treeDataPrimitivePatch.C.
References forAll.
|
inline |
Return access to the underlying patch.
Definition at line 222 of file treeDataPrimitivePatch.H.
Referenced by treeDataPrimitivePatch< PatchType >::findIntersection(), treeDataPrimitivePatch< PatchType >::findSelfIntersectOp::operator()(), and treeDataPrimitivePatch< PatchType >::findNearestOp::operator()().

| Foam::volumeType getVolumeType | ( | const indexedOctree< treeDataPrimitivePatch< PatchType >> & | oc, |
| const point & | sample | ||
| ) | const |
Get type (inside,outside,mixed,unknown) of point w.r.t. surface.
Only makes sense for closed surfaces.
Definition at line 150 of file treeDataPrimitivePatch.C.
References Foam::abort(), Foam::e, Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, forAll, indexedOctree< Type >::getSide(), PointHit< Point >::hit(), PointIndexHit< Point >::index(), Foam::mag(), Foam::magSqr(), points, Foam::Pout, PointHit< Point >::rawPoint(), Foam::sqr(), volumeType::unknown, and Foam::Zero.

| bool overlaps | ( | const label | index, |
| const treeBoundBox & | sampleBb | ||
| ) | const |
Does shape at index overlap bb.
Definition at line 383 of file treeDataPrimitivePatch.C.
References boundBox::containsAny(), f(), forAll, triangleFuncs::intersectBb(), treeBoundBox::overlaps(), and points.
Referenced by treeDataPrimitivePatch< PatchType >::overlaps().


Does shape at index overlap sphere.
Definition at line 455 of file treeDataPrimitivePatch.C.
References PointHit< Point >::distance(), f(), treeBoundBox::overlaps(), treeDataPrimitivePatch< PatchType >::overlaps(), points, and Foam::sqr().

|
static |
Helper: find intersection of line with shapes.
Definition at line 610 of file treeDataPrimitivePatch.C.
References PointHit< Point >::distance(), f(), intersection::halfRay, PointHit< Point >::hit(), PointHit< Point >::hitPoint(), treeDataPrimitivePatch< PatchType >::patch(), points, and treeBoundBox::posBits().
Referenced by treeDataPrimitivePatch< PatchType >::findIntersectOp::operator()(), treeDataPrimitivePatch< PatchType >::findAllIntersectOp::operator()(), and treeDataPrimitivePatch< PatchType >::findSelfIntersectOp::operator()().


| Foam::volumeType getVolumeType | ( | const indexedOctree< treeDataPrimitivePatch< triSurface >> & | oc, |
| const point & | sample | ||
| ) | const |
Definition at line 32 of file treeDataTriSurface.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, PointIndexHit< Point >::index(), and Foam::sqr().

| volumeType getVolumeType | ( | const indexedOctree< treeDataPrimitivePatch< triSurface >> & | oc, |
| const point & | sample | ||
| ) | const |
Template specialisation of getVolumeType for treeDataTriSurface.