Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
cuttingSurfaceBase Class Referenceabstract

Base for creating a MeshedSurface by performing some type of cell cutting/intersection. More...

Inheritance diagram for cuttingSurfaceBase:
Inheritance graph
[legend]
Collaboration diagram for cuttingSurfaceBase:
Collaboration graph
[legend]

Public Member Functions

 cuttingSurfaceBase ()=default
 
virtual ~cuttingSurfaceBase ()=default
 
const labelListmeshCells () const
 
labelListmeshCells ()
 
bool cut () const
 
void operator= (const cuttingSurfaceBase &rhs)
 
- Public Member Functions inherited from MeshedSurface
 ClassName ("MeshedSurface")
 
 MeshedSurface ()
 
 MeshedSurface (const MeshedSurface &surf)
 
 MeshedSurface (const UnsortedMeshedSurface< Face > &surf)
 
 MeshedSurface (MeshedSurface &&surf)
 
 MeshedSurface (UnsortedMeshedSurface< Face > &&surf)
 
 MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const UList< surfZone > &zoneLst)
 
 MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const UList< surfZone > &zoneLst)
 
 MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >())
 
 MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >())
 
 MeshedSurface (const polyBoundaryMesh &bMesh, const bool globalPoints=false)
 
 MeshedSurface (const surfMesh &mesh)
 
 MeshedSurface (const fileName &name)
 
 MeshedSurface (const fileName &name, const word &fileType)
 
 MeshedSurface (Istream &is)
 
 MeshedSurface (const Time &runTime)
 
 MeshedSurface (const Time &runTime, const word &surfName)
 
 MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true)
 
 declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name))
 
virtual ~MeshedSurface ()
 
 declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const MeshedSurface< Face > &surf, IOstreamOption streamOpt, const dictionary &options),(name, surf, streamOpt, options))
 
label size () const
 
const List< Face > & surfFaces () const
 
const labelListfaceIds () const
 
const surfZoneListsurfZones () const
 
const vectorFieldSf () const
 
const scalarFieldmagSf () const
 
const vectorFieldCf () const
 
virtual void clear ()
 
virtual void addZones (const UList< surfZone > &, const bool cullEmpty=false)
 
virtual void addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false)
 
virtual void addZones (const labelUList &sizes, const bool cullEmpty=false)
 
bool addZonesToFaces ()
 
virtual void removeZones ()
 
virtual void movePoints (const pointField &newPoints)
 
virtual void scalePoints (const scalar scaleFactor)
 
virtual void cleanup (const bool verbose)
 
virtual void compactPoints (labelList &pointMap=const_cast< labelList & >(labelList::null()))
 
virtual bool stitchFaces (const scalar tol=SMALL, const bool verbose=false)
 
virtual bool checkFaces (const bool verbose=false)
 
virtual label nTriangles () const
 
virtual label nTriangles (labelList &faceMap) const
 
virtual label triangulate ()
 
virtual label triangulate (labelList &faceMap)
 
template<class BoolListType >
void subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const
 
MeshedSurface subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const
 
MeshedSurface subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const
 
MeshedSurface subsetMesh (const UList< bool > &include) const
 
MeshedSurface subsetMesh (const bitSet &include) const
 
MeshedSurface subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const
 
void swap (MeshedSurface< Face > &surf)
 
void transfer (pointField &pointLst, List< Face > &faceLst)
 
void transfer (MeshedSurface< Face > &surf)
 
void transfer (UnsortedMeshedSurface< Face > &surf)
 
autoPtr< MeshedSurface< Face > > releaseGeom ()
 
void swapFaces (List< Face > &faces)
 
void swapPoints (pointField &points)
 
bool read (const fileName &name, const word &fileType)
 
virtual bool read (const fileName &name)
 
void writeStats (Ostream &os) const
 
virtual void write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const
 
virtual void write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const
 
void write (const Time &runTime, const word &surfName=word::null) const
 
void operator= (const MeshedSurface< Face > &surf)
 
void operator= (MeshedSurface< Face > &&surf)
 
 operator MeshedSurfaceProxy< Face > () const
 
template<class Face >
 MeshedSurface ()
 
template<class Face >
 MeshedSurface (const MeshedSurface< Face > &surf)
 
template<class Face >
 MeshedSurface (const UnsortedMeshedSurface< Face > &surf)
 
template<class Face >
 MeshedSurface (MeshedSurface< Face > &&surf)
 
template<class Face >
 MeshedSurface (UnsortedMeshedSurface< Face > &&surf)
 
template<class Face >
 MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const UList< surfZone > &zoneLst)
 
template<class Face >
 MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const UList< surfZone > &zoneLst)
 
template<class Face >
 MeshedSurface (const pointField &pointLst, const UList< Face > &faceLst, const labelUList &zoneSizes, const UList< word > &zoneNames)
 
template<class Face >
 MeshedSurface (pointField &&pointLst, List< Face > &&faceLst, const labelUList &zoneSizes, const UList< word > &zoneNames)
 
template<class Face >
 MeshedSurface (const surfMesh &mesh)
 
template<class Face >
 MeshedSurface (const polyBoundaryMesh &bMesh, const bool useGlobalPoints)
 
template<class Face >
 MeshedSurface (const fileName &name, const word &fileType)
 
template<class Face >
 MeshedSurface (const fileName &name)
 
template<class Face >
 MeshedSurface (Istream &is)
 
template<class Face >
 MeshedSurface (const Time &runTime)
 
template<class Face >
 MeshedSurface (const Time &runTime, const word &surfName)
 
template<class Face >
 MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal)
 
bool addZonesToFaces ()
 
bool addZonesToFaces ()
 

Static Public Attributes

static int debug
 

Protected Types

typedef meshedSurface Mesh
 

Protected Member Functions

template<class EdgeOrientIntersect , class EdgeAlphaIntersect >
void walkCellCuts (const primitiveMesh &mesh, const bitSet &cellCuts, const EdgeOrientIntersect &edgeOrientIntersect, const EdgeAlphaIntersect &edgeAlphaIntersect, const bool triangulate, label nFaceCuts=0)
 
virtual void performCut (const primitiveMesh &mesh, const bool triangulate, const labelUList &cellIdLabels)
 
virtual void performCut (const primitiveMesh &mesh, const bool triangulate, const bitSet &cellSelectionMask=bitSet())
 
virtual void performCut (const primitiveMesh &mesh, const bool triangulate, bitSet &&cellSelectionMask)=0
 
virtual void remapFaces (const labelUList &faceMap)
 
- Protected Member Functions inherited from MeshedSurface
void transcribe (MeshedSurface< face > &surf)
 
void checkZones (const bool verbose=true)
 
pointFieldstoredPoints ()
 
List< Face > & storedFaces ()
 
labelListstoredFaceIds ()
 
surfZoneListstoredZones ()
 
void sortFacesAndStore (DynamicList< Face > &unsortedFaces, DynamicList< label > &zoneIds, DynamicList< label > &elemIds, bool sorted)
 
void transcribe (MeshedSurface< face > &surf)
 
void transcribe (MeshedSurface< face > &surf)
 
void transcribe (MeshedSurface< face > &surf)
 

Static Protected Member Functions

static void checkOverlap (const word callerName, const boundBox &meshBounds, const boundBox &userBounds)
 
static bitSet cellSelection (const polyMesh &mesh, const boundBox &userBounds, const wordRes &zoneNames, boundBox &meshBounds)
 
static bitSet cellSelection (const polyMesh &mesh, const boundBox &userBounds, const wordRes &zoneNames, const word callerName, const bool warn)
 

Protected Attributes

labelList meshCells_
 

Additional Inherited Members

- Public Types inherited from MeshedSurface
typedef Face face_type
 
typedef point point_type
 
- Static Public Member Functions inherited from MeshedSurface
static wordHashSet readTypes ()
 
static wordHashSet writeTypes ()
 
static bool canReadType (const word &fileType, bool verbose=false)
 
static bool canWriteType (const word &fileType, bool verbose=false)
 
static bool canRead (const fileName &name, bool verbose=false)
 
static autoPtr< MeshedSurfaceNew (const fileName &name, const word &fileType, bool mandatory=true)
 
static autoPtr< MeshedSurfaceNew (const fileName &name)
 
static void write (const fileName &name, const MeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null)
 
static void write (const fileName &name, const word &fileType, const MeshedSurface< Face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null)
 

Detailed Description

Base for creating a MeshedSurface by performing some type of cell cutting/intersection.

No attempt at resolving degenerate cases. Since the cut faces can be quite ugly, they will often be triangulated.

Source files

Definition at line 56 of file cuttingSurfaceBase.H.

Member Typedef Documentation

◆ Mesh

typedef meshedSurface Mesh
protected

Definition at line 63 of file cuttingSurfaceBase.H.

Constructor & Destructor Documentation

◆ cuttingSurfaceBase()

cuttingSurfaceBase ( )
default

◆ ~cuttingSurfaceBase()

virtual ~cuttingSurfaceBase ( )
virtualdefault

Member Function Documentation

◆ walkCellCuts()

void walkCellCuts ( const primitiveMesh mesh,
const bitSet cellCuts,
const EdgeOrientIntersect &  edgeOrientIntersect,
const EdgeAlphaIntersect &  edgeAlphaIntersect,
const bool  triangulate,
label  nFaceCuts = 0 
)
protected

◆ performCut() [1/3]

void performCut ( const primitiveMesh mesh,
const bool  triangulate,
const labelUList cellIdLabels 
)
protectedvirtual

Definition at line 47 of file cuttingSurfaceBase.C.

References mesh, Foam::notNull(), PackedList::resize(), and bitSet::set().

Here is the call graph for this function:

◆ performCut() [2/3]

void performCut ( const primitiveMesh mesh,
const bool  triangulate,
const bitSet cellSelectionMask = bitSet() 
)
protectedvirtual

Definition at line 34 of file cuttingSurfaceBase.C.

References mesh.

◆ performCut() [3/3]

virtual void performCut ( const primitiveMesh mesh,
const bool  triangulate,
bitSet &&  cellSelectionMask 
)
protectedpure virtual

Implemented in cuttingPlane, and cuttingSurface.

◆ remapFaces()

void remapFaces ( const labelUList faceMap)
protectedvirtual

Reimplemented from MeshedSurface.

Definition at line 66 of file cuttingSurfaceBase.C.

References Foam::faceMap(), forAll, cuttingSurfaceBase::meshCells_, MeshedSurface::remapFaces(), and List::transfer().

Here is the call graph for this function:

◆ checkOverlap()

void checkOverlap ( const word  callerName,
const boundBox meshBounds,
const boundBox userBounds 
)
staticprotected

Definition at line 27 of file cuttingSurfaceBaseSelection.C.

References Foam::endl(), Foam::nl, boundBox::overlaps(), boundBox::valid(), and WarningInFunction.

Here is the call graph for this function:

◆ cellSelection() [1/2]

Foam::bitSet cellSelection ( const polyMesh mesh,
const boundBox userBounds,
const wordRes zoneNames,
boundBox meshBounds 
)
staticprotected

◆ cellSelection() [2/2]

Foam::bitSet cellSelection ( const polyMesh mesh,
const boundBox userBounds,
const wordRes zoneNames,
const word  callerName,
const bool  warn 
)
staticprotected

Definition at line 143 of file cuttingSurfaceBaseSelection.C.

References mesh.

◆ meshCells() [1/2]

const labelList& meshCells ( ) const
inline

Definition at line 193 of file cuttingSurfaceBase.H.

References cuttingSurfaceBase::meshCells_.

Referenced by cuttingPlane::operator=(), and cuttingSurfaceBase::operator=().

Here is the caller graph for this function:

◆ meshCells() [2/2]

labelList& meshCells ( )
inline

Definition at line 199 of file cuttingSurfaceBase.H.

References cuttingSurfaceBase::meshCells_.

◆ cut()

bool cut ( ) const
inline

Definition at line 205 of file cuttingSurfaceBase.H.

References cuttingSurfaceBase::meshCells_.

◆ operator=()

void operator= ( const cuttingSurfaceBase rhs)

Definition at line 84 of file cuttingSurfaceBase.C.

References cuttingSurfaceBase::meshCells().

Here is the call graph for this function:

Member Data Documentation

◆ meshCells_

labelList meshCells_
protected

◆ debug

int debug
static

Definition at line 177 of file cuttingSurfaceBase.H.


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