TriPatchIntersection< SrcPatchType, TgtPatchType > Class Template Reference

Patch intersection based on triangular faces. Intersects and combines two triangulated patches incrementally. The intersected surface is valid at every stage of the process. Failure to intersect does not produce a catastrophic error. Rather, it results in regions of the surface remaining associated with only one of the source or the target patch. More...

Inheritance diagram for TriPatchIntersection< SrcPatchType, TgtPatchType >:
Collaboration diagram for TriPatchIntersection< SrcPatchType, TgtPatchType >:

Public Member Functions

virtual word type () const
 
 TriPatchIntersection (const SrcPatchType &srcPatch, const TgtPatchType &tgtPatch, const scalar snapTol)
 Construct from a source and a target patch. More...
 
 TriPatchIntersection (const SrcPatchType &srcPatch, const vectorField &srcPointNormals, const TgtPatchType &tgtPatch, const scalar snapTol)
 Construct from a source and a target patch, and specified source. More...
 
const DynamicList< labelList > & faceEdges () const
 ... More...
 
const DynamicList< labelPair > & intersectEdgeFaces () const
 ... More...
 
const DynamicList< labelPair > & nonIntersectEdgeFaces () const
 ... More...
 
virtual ~TriPatchIntersection ()
 Destructor. More...
 
template<class Type >
Foam::FixedList< Type, 3 > triPointValues (const label trii, const UList< Type > values) const
 
template<class Type >
Foam::FixedList< Type, 3 > patchFacePointValues (const label patchFacei, const bool isSrc, const UList< Type > &values) const
 
- Public Member Functions inherited from PatchIntersection< SrcPatchType, TgtPatchType >
 PatchIntersection (const SrcPatchType &srcPatch, const TgtPatchType &tgtPatch)
 Construct from a source and a target patch. More...
 
virtual ~PatchIntersection ()
 Destructor. More...
 
const SrcPatchType & srcPatch () const
 The source patch. More...
 
const TgtPatchType & tgtPatch () const
 The target patch. More...
 
- Public Member Functions inherited from patchIntersection
 ClassName ("patchIntersection")
 
 patchIntersection (const label srcNPoints, const label tgtNPoints, const label srcNEdges, const label tgtNEdges, const label srcNFaces, const label tgtNFaces)
 Construct given sizes. More...
 
virtual ~patchIntersection ()
 Destructor. More...
 
const pointFieldpoints () const
 The intersection points. More...
 
const labelListsrcPointPoints () const
 The source points' corresponding intersection points. More...
 
const labelListtgtPointPoints () const
 The target points' corresponding intersection points. More...
 
const DynamicList< label > & pointSrcPoints () const
 The intersection points' corresponding source points, or -1. More...
 
const DynamicList< label > & pointTgtPoints () const
 The intersection points' corresponding target points, or -1. More...
 
const List< DynamicList< label > > & srcEdgePoints () const
 The source edges' intersection points. Ordered along the edge. More...
 
const List< DynamicList< label > > & tgtEdgePoints () const
 The target edges' intersection points. Ordered along the edge. More...
 
const DynamicList< label > & pointSrcEdges () const
 The intersection points' source edges, or -1 if the point. More...
 
const DynamicList< label > & pointTgtEdges () const
 The intersection points' target edges, or -1 if the point. More...
 
const DynamicList< label > & pointSrcFaces () const
 The intersection points' source faces, or -1 if the point. More...
 
const DynamicList< label > & pointTgtFaces () const
 The intersection points' target faces, or -1 if the point. More...
 
const faceListfaces () const
 The intersection faces. More...
 
const List< DynamicList< label > > & srcFaceFaces () const
 The source faces' intersection faces. More...
 
const List< DynamicList< label > > & tgtFaceFaces () const
 The target faces' intersection faces. More...
 
const DynamicList< label > & faceSrcFaces () const
 The intersection faces' corresponding source faces, or -1. More...
 
const DynamicList< label > & faceTgtFaces () const
 The intersection faces' corresponding target faces, or -1. More...
 

Additional Inherited Members

- Protected Member Functions inherited from patchIntersection
void report (const word &writeSuffix=word::null)
 Report properties of the intersection process. More...
 
- Protected Attributes inherited from PatchIntersection< SrcPatchType, TgtPatchType >
const SrcPatchType & srcPatch_
 Reference to the source patch. More...
 
const TgtPatchType & tgtPatch_
 Reference to the target patch. More...
 
- Protected Attributes inherited from patchIntersection
DynamicField< pointpoints_
 The intersection points. More...
 
labelList srcPointPoints_
 The source points' corresponding intersection points. More...
 
labelList tgtPointPoints_
 The target points' corresponding intersection points. More...
 
DynamicList< labelpointSrcPoints_
 The intersection points' corresponding source points, or -1. More...
 
DynamicList< labelpointTgtPoints_
 The intersection points' corresponding target points, or -1. More...
 
List< DynamicList< label > > srcEdgePoints_
 The source edges' intersection points. Ordered along the edge. More...
 
List< DynamicList< label > > tgtEdgePoints_
 The target edges' intersection points. Ordered along the edge. More...
 
DynamicList< labelpointSrcEdges_
 The intersection points' source edges, or -1 if the point. More...
 
DynamicList< labelpointTgtEdges_
 The intersection points' target edges, or -1 if the point. More...
 
DynamicList< labelpointSrcFaces_
 The intersection points' source faces, or -1 if the point. More...
 
DynamicList< labelpointTgtFaces_
 The intersection points' target faces, or -1 if the point. More...
 
DynamicList< facefaces_
 The intersection faces. More...
 
List< DynamicList< label > > srcFaceFaces_
 The source faces' intersection faces. More...
 
List< DynamicList< label > > tgtFaceFaces_
 The target faces' intersection faces. More...
 
DynamicList< labelfaceSrcFaces_
 The intersection faces' corresponding source faces, or -1. More...
 
DynamicList< labelfaceTgtFaces_
 The intersection faces' corresponding target faces, or -1. More...
 
- Static Protected Attributes inherited from patchIntersection
static const bool orientToSource_ = true
 Flag to set whether the faces of the intersection are oriented the. More...
 

Detailed Description

template<class SrcPatchType, class TgtPatchType>
class Foam::TriPatchIntersection< SrcPatchType, TgtPatchType >

Patch intersection based on triangular faces. Intersects and combines two triangulated patches incrementally. The intersected surface is valid at every stage of the process. Failure to intersect does not produce a catastrophic error. Rather, it results in regions of the surface remaining associated with only one of the source or the target patch.

Source files

Definition at line 55 of file TriPatchIntersection.H.

Constructor & Destructor Documentation

◆ TriPatchIntersection() [1/2]

TriPatchIntersection ( const SrcPatchType &  srcPatch,
const TgtPatchType &  tgtPatch,
const scalar  snapTol 
)

Construct from a source and a target patch.

Definition at line 3702 of file TriPatchIntersection.C.

◆ TriPatchIntersection() [2/2]

◆ ~TriPatchIntersection()

Destructor.

Definition at line 4094 of file TriPatchIntersection.C.

Member Function Documentation

◆ type()

virtual word type ( ) const
inlinevirtual

Implements patchIntersection.

Definition at line 418 of file TriPatchIntersection.H.

References word::capitalise().

Referenced by TriPatchIntersection< SrcPatchType, TgtPatchType >::TriPatchIntersection().

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

◆ faceEdges()

const DynamicList<labelList>& faceEdges ( ) const
inline

...

Definition at line 450 of file TriPatchIntersection.H.

Referenced by FacePatchIntersection< SrcPatchType, TgtPatchType >::FacePatchIntersection().

Here is the caller graph for this function:

◆ intersectEdgeFaces()

const DynamicList<labelPair>& intersectEdgeFaces ( ) const
inline

...

Definition at line 456 of file TriPatchIntersection.H.

Referenced by FacePatchIntersection< SrcPatchType, TgtPatchType >::FacePatchIntersection().

Here is the caller graph for this function:

◆ nonIntersectEdgeFaces()

const DynamicList<labelPair>& nonIntersectEdgeFaces ( ) const
inline

...

Definition at line 462 of file TriPatchIntersection.H.

Referenced by FacePatchIntersection< SrcPatchType, TgtPatchType >::FacePatchIntersection().

Here is the caller graph for this function:

◆ triPointValues()

Foam::FixedList<Type, 3> triPointValues ( const label  trii,
const UList< Type >  values 
) const

Definition at line 381 of file TriPatchIntersection.C.

References forAll.

◆ patchFacePointValues()

Foam::FixedList<Type, 3> patchFacePointValues ( const label  patchFacei,
const bool  isSrc,
const UList< Type > &  values 
) const

Definition at line 541 of file TriPatchIntersection.C.

References forAll.


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