Engine for constructing a star-shaped domain by walking. More...
Classes | |
class | context |
Context class. Returned by populate and resets the star when it. More... | |
struct | edgeLink |
Star-edge structure. Poor man's linked list link. More... | |
Public Member Functions | |
star () | |
Construct null. More... | |
~star () | |
const DynamicList< label > & | starFaceFaces () const |
Access the star-face-faces. More... | |
const DynamicList< label > & | faceStarFaces () const |
Access the face-star-faces. More... | |
const DynamicList< edgeLink > & | starEdgeEdges () const |
Access the star-edge-edges. More... | |
const DynamicList< label > & | edgeStarEdges () const |
Access the edge-star-edges. More... | |
template<class CanCross , class FaceEdges > | |
context | populate (const label faceOrEdgei, const bool isFace, CanCross canCross, const UList< FaceEdges > &faceEdges, const UList< labelPair > &edgeFaces, const label maxIterations=labelMax) |
Populate the star given a seed face or edge, a function. More... | |
template<class CanCross , class FaceEdges > | |
Foam::star::context | populate (const label faceOrEdgei, const bool isFace, CanCross canCross, const UList< FaceEdges > &faceEdges, const UList< labelPair > &edgeFaces, const label maxIterations) |
Engine for constructing a star-shaped domain by walking.
|
inline |
|
inline |
Access the face-star-faces.
Definition at line 151 of file star.H.
Referenced by FacePatchIntersection< SrcPatchType, TgtPatchType >::FacePatchIntersection().
|
inline |
Access the star-edge-edges.
Definition at line 157 of file star.H.
Referenced by FacePatchIntersection< SrcPatchType, TgtPatchType >::FacePatchIntersection().
|
inline |
context populate | ( | const label | faceOrEdgei, |
const bool | isFace, | ||
CanCross | canCross, | ||
const UList< FaceEdges > & | faceEdges, | ||
const UList< labelPair > & | edgeFaces, | ||
const label | maxIterations = labelMax |
||
) |
Populate the star given a seed face or edge, a function.
`canCross(edgei, facei)` to determine whether an edge may be cross, and face-edge and edge-face addressing. After this is called, the forAll... macros below can be user to iterate through the star faces, or around the edges of the star perimeter.
Referenced by FacePatchIntersection< SrcPatchType, TgtPatchType >::FacePatchIntersection().
Foam::star::context populate | ( | const label | faceOrEdgei, |
const bool | isFace, | ||
CanCross | canCross, | ||
const UList< FaceEdges > & | faceEdges, | ||
const UList< labelPair > & | edgeFaces, | ||
const label | maxIterations | ||
) |
Definition at line 127 of file starTemplates.C.
References Foam::cross(), Foam::first(), forAll, DynamicList< T, SizeInc, SizeMult, SizeDiv >::resize(), UList< T >::size(), and List< T >::size().