treeDataPrimitivePatch< PatchType > Class Template Reference

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

Inheritance diagram for treeDataPrimitivePatch< PatchType >:
Collaboration diagram for treeDataPrimitivePatch< PatchType >:

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 &centre, 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...
 

Detailed Description

template<class PatchType>
class Foam::treeDataPrimitivePatch< PatchType >

Encapsulation of data needed to search on PrimitivePatches.

Source files

Definition at line 61 of file treeDataPrimitivePatch.H.

Constructor & Destructor Documentation

◆ treeDataPrimitivePatch()

treeDataPrimitivePatch ( const bool  cacheBb,
const PatchType &  patch,
const scalar  planarTol 
)

Construct from patch.

Definition at line 73 of file treeDataPrimitivePatch.C.

Member Function Documentation

◆ size()

label size ( ) const
inline

Definition at line 212 of file treeDataPrimitivePatch.H.

◆ shapePoints()

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.

◆ patch()

const PatchType& patch ( ) const
inline

◆ getVolumeType() [1/3]

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.

Here is the call graph for this function:

◆ overlaps() [1/2]

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ overlaps() [2/2]

bool overlaps ( const label  index,
const point centre,
const scalar  radiusSqr 
) const

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().

Here is the call graph for this function:

◆ findIntersection()

bool findIntersection ( const indexedOctree< treeDataPrimitivePatch< PatchType >> &  tree,
const label  index,
const point start,
const point end,
point intersectionPoint 
)
static

◆ getVolumeType() [2/3]

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().

Here is the call graph for this function:

◆ getVolumeType() [3/3]

volumeType getVolumeType ( const indexedOctree< treeDataPrimitivePatch< triSurface >> &  oc,
const point sample 
) const

Template specialisation of getVolumeType for treeDataTriSurface.


The documentation for this class was generated from the following files: