Data Structures | Public Member Functions | Private Member Functions | Private Attributes
treeDataCell Class Reference

Encapsulation of data needed to search in/for cells. Used to find the cell containing a point (e.g. cell-cell mapping). More...

Collaboration diagram for treeDataCell:
Collaboration graph
[legend]

Data Structures

class  findIntersectOp
 
class  findNearestOp
 

Public Member Functions

 ClassName ("treeDataCell")
 
 treeDataCell (const bool cacheBb, const polyMesh &, const labelUList &, const polyMesh::cellDecomposition decompMode)
 Construct from mesh and subset of cells. More...
 
 treeDataCell (const bool cacheBb, const polyMesh &, const Xfer< labelList > &, const polyMesh::cellDecomposition decompMode)
 Construct from mesh and subset of cells, transferring contents. More...
 
 treeDataCell (const bool cacheBb, const polyMesh &, const polyMesh::cellDecomposition decompMode)
 Construct from mesh. Uses all cells in mesh. More...
 
const labelListcellLabels () const
 
const polyMeshmesh () const
 
polyMesh::cellDecomposition decompMode () const
 
label size () const
 
pointField shapePoints () const
 Get representative point cloud for all shapes inside. More...
 
volumeType getVolumeType (const indexedOctree< treeDataCell > &, 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 (bb of) shape at index overlap bb. More...
 
bool contains (const label index, const point &sample) const
 Does shape at index contain sample. More...
 

Private Member Functions

treeBoundBox calcCellBb (const label cellI) const
 Calculate cell bounding box. More...
 
void update ()
 Initialise all member data. More...
 

Private Attributes

const polyMeshmesh_
 
const labelList cellLabels_
 Subset of cells to work on. More...
 
const bool cacheBb_
 Whether to precalculate and store cell bounding box. More...
 
const polyMesh::cellDecomposition decompMode_
 How to decide if point is inside cell. More...
 
treeBoundBoxList bbs_
 Cell bounding boxes (valid only if cacheBb_) More...
 

Detailed Description

Encapsulation of data needed to search in/for cells. Used to find the cell containing a point (e.g. cell-cell mapping).

Source files

Definition at line 54 of file treeDataCell.H.

Constructor & Destructor Documentation

◆ treeDataCell() [1/3]

treeDataCell ( const bool  cacheBb,
const polyMesh mesh,
const labelUList cellLabels,
const polyMesh::cellDecomposition  decompMode 
)

Construct from mesh and subset of cells.

Definition at line 87 of file treeDataCell.C.

◆ treeDataCell() [2/3]

treeDataCell ( const bool  cacheBb,
const polyMesh mesh,
const Xfer< labelList > &  cellLabels,
const polyMesh::cellDecomposition  decompMode 
)

Construct from mesh and subset of cells, transferring contents.

Definition at line 104 of file treeDataCell.C.

◆ treeDataCell() [3/3]

treeDataCell ( const bool  cacheBb,
const polyMesh mesh,
const polyMesh::cellDecomposition  decompMode 
)

Construct from mesh. Uses all cells in mesh.

Definition at line 121 of file treeDataCell.C.

Member Function Documentation

◆ calcCellBb()

Foam::treeBoundBox calcCellBb ( const label  cellI) const
private

Calculate cell bounding box.

Definition at line 40 of file treeDataCell.C.

References cells, primitiveMesh::cells(), f(), polyMesh::faces(), forAll, boundBox::max(), Foam::max(), treeDataCell::mesh_, boundBox::min(), Foam::min(), p, points, and polyMesh::points().

Referenced by treeDataCell::findIntersectOp::operator()().

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

◆ update()

void update ( )
private

Initialise all member data.

Definition at line 70 of file treeDataCell.C.

References forAll.

◆ ClassName()

ClassName ( "treeDataCell"  )

◆ cellLabels()

const labelList& cellLabels ( ) const
inline

Definition at line 170 of file treeDataCell.H.

References treeDataCell::cellLabels_.

Referenced by treeDataCell::findNearestOp::operator()().

Here is the caller graph for this function:

◆ mesh()

const polyMesh& mesh ( ) const
inline

Definition at line 175 of file treeDataCell.H.

References treeDataCell::mesh_.

Referenced by treeDataCell::findNearestOp::operator()().

Here is the caller graph for this function:

◆ decompMode()

polyMesh::cellDecomposition decompMode ( ) const
inline

Definition at line 180 of file treeDataCell.H.

References treeDataCell::decompMode_.

◆ size()

label size ( ) const
inline

Definition at line 185 of file treeDataCell.H.

References treeDataCell::cellLabels_, and List::size().

Here is the call graph for this function:

◆ shapePoints()

Foam::pointField shapePoints ( ) const

Get representative point cloud for all shapes inside.

(one point per shape)

Definition at line 156 of file treeDataCell.C.

References forAll.

◆ getVolumeType()

volumeType getVolumeType ( const indexedOctree< treeDataCell > &  ,
const point  
) const
inline

Get type (inside,outside,mixed,unknown) of point w.r.t. surface.

Only makes sense for closed surfaces.

Definition at line 200 of file treeDataCell.H.

References NotImplemented, and volumeType::UNKNOWN.

◆ overlaps()

bool overlaps ( const label  index,
const treeBoundBox sampleBb 
) const

Does (bb of) shape at index overlap bb.

Definition at line 170 of file treeDataCell.C.

References treeBoundBox::overlaps().

Here is the call graph for this function:

◆ contains()

bool contains ( const label  index,
const point sample 
) const

Does shape at index contain sample.

Definition at line 187 of file treeDataCell.C.

Field Documentation

◆ mesh_

const polyMesh& mesh_
private

◆ cellLabels_

const labelList cellLabels_
private

Subset of cells to work on.

Definition at line 61 of file treeDataCell.H.

Referenced by treeDataCell::cellLabels(), treeDataCell::findIntersectOp::operator()(), and treeDataCell::size().

◆ cacheBb_

const bool cacheBb_
private

Whether to precalculate and store cell bounding box.

Definition at line 64 of file treeDataCell.H.

Referenced by treeDataCell::findIntersectOp::operator()().

◆ decompMode_

const polyMesh::cellDecomposition decompMode_
private

How to decide if point is inside cell.

Definition at line 67 of file treeDataCell.H.

Referenced by treeDataCell::decompMode().

◆ bbs_

treeBoundBoxList bbs_
private

Cell bounding boxes (valid only if cacheBb_)

Definition at line 70 of file treeDataCell.H.

Referenced by treeDataCell::findIntersectOp::operator()().


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