Constructs cutting plane through a mesh. More...
Public Member Functions | |
| cuttingPlane (const plane &pln, const primitiveMesh &mesh, const bool triangulate, const bitSet &cellIdLabels=bitSet()) | |
| cuttingPlane (const plane &pln, const primitiveMesh &mesh, const bool triangulate, bitSet &&cellIdLabels) | |
| cuttingPlane (const plane &pln, const primitiveMesh &mesh, const bool triangulate, const labelUList &cellIdLabels) | |
| const plane & | planeDesc () const |
| The plane used. More... | |
| plane & | planeDesc () |
| The plane used. Non-const access. More... | |
| void | operator= (const cuttingPlane &rhs) |
| Copy assignment. More... | |
Public Member Functions inherited from plane | |
| plane () | |
| Construct zero-initialised. More... | |
| plane (const vector &normalVector) | |
| Construct from normal vector through the origin. More... | |
| plane (const point &originPoint, const vector &normalVector, const bool doNormalise=true) | |
| Construct from normal vector and point in plane. More... | |
| plane (const point &point1, const point &point2, const point &point3) | |
| Construct from three points in plane. More... | |
| plane (const scalarList &coeffs) | |
| plane (const FixedList< scalar, 4 > &coeffs) | |
| plane (const dictionary &dict) | |
| Construct from dictionary. More... | |
| plane (Istream &is) | |
| Construct from Istream. Assumes (normal) (origin) input. More... | |
| const vector & | normal () const |
| The plane unit normal. More... | |
| const point & | origin () const |
| The plane base point. More... | |
| point & | origin () |
| The plane base point, for modification. More... | |
| const point & | refPoint () const |
| The plane base point (same as origin) More... | |
| void | flip () |
| Flip the plane by reversing the normal. More... | |
| FixedList< scalar, 4 > | planeCoeffs () const |
| point | nearestPoint (const point &p) const |
| Return nearest point in the plane for the given point. More... | |
| scalar | distance (const point &p) const |
| Return distance (magnitude) from the given point to the plane. More... | |
| scalar | signedDistance (const point &p) const |
| Return distance from the given point to the plane. More... | |
| scalar | normalIntersect (const point &pnt0, const vector &dir) const |
| scalar | normalIntersect (const ray &r) const |
| Return cut coefficient for plane and ray. More... | |
| template<class Point , class PointRef > | |
| scalar | lineIntersect (const line< Point, PointRef > &l) const |
| Return the cutting point between the plane and. More... | |
| ray | planeIntersect (const plane &plane2) const |
| Return the cutting line between this plane and another. More... | |
| point | planePlaneIntersect (const plane &plane2, const plane &plane3) const |
| Return the cutting point between this plane and two other planes. More... | |
| point | somePointInPlane (const scalar dist=1e-3) const |
| Return a point somewhere on the plane, a distance from the base. More... | |
| side | sideOfPlane (const point &p) const |
| Return the side of the plane that the point is on. More... | |
| int | sign (const point &p, const scalar tol=SMALL) const |
| The sign for the side of the plane that the point is on. More... | |
| point | mirror (const point &p) const |
| Mirror the supplied point in the plane. Return the mirrored point. More... | |
| void | writeDict (Ostream &os) const |
| Write to dictionary. More... | |
Public Member Functions inherited from cuttingSurfaceBase | |
| cuttingSurfaceBase () | |
| Construct null. More... | |
| virtual | ~cuttingSurfaceBase ()=default |
| Destructors. More... | |
| const labelList & | meshCells () const |
| The mesh cells cut. More... | |
| labelList & | meshCells () |
| The mesh cells cut. More... | |
| bool | cut () const |
| Have any cells been cut? More... | |
| void | operator= (const cuttingSurfaceBase &rhs) |
| Copy assignment. More... | |
Public Member Functions inherited from MeshedSurface< face > | |
| MeshedSurface () | |
| Default construct, an empty surface. More... | |
| MeshedSurface (const MeshedSurface &surf) | |
| Copy construct. More... | |
| MeshedSurface (const UnsortedMeshedSurface< face > &surf) | |
| Copy construct from an UnsortedMeshedSurface. More... | |
| MeshedSurface (MeshedSurface &&surf) | |
| Move construct. More... | |
| MeshedSurface (UnsortedMeshedSurface< face > &&surf) | |
| Move construct from an UnsortedMeshedSurface. More... | |
| MeshedSurface (const pointField &pointLst, const UList< face > &faceLst, const UList< surfZone > &zoneLst) | |
| Copy construct from components (points, faces, zones). More... | |
| MeshedSurface (pointField &&pointLst, List< face > &&faceLst, const UList< surfZone > &zoneLst) | |
| Move construct from components (points, faces). More... | |
| MeshedSurface (const pointField &pointLst, const UList< face > &faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
| Copy construct from components (points, faces). More... | |
| MeshedSurface (pointField &&pointLst, List< face > &&faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
| Move construct from components (points, faces). More... | |
| MeshedSurface (const polyBoundaryMesh &bMesh, const bool globalPoints=false) | |
| Construct from a boundary mesh with local points/faces. More... | |
| MeshedSurface (const surfMesh &mesh) | |
| Construct from a surfMesh. More... | |
| MeshedSurface (const fileName &name) | |
| Construct from file name (uses extension to determine type) More... | |
| MeshedSurface (const fileName &name, const word &fileType) | |
| Construct from file name and given file type. More... | |
| MeshedSurface (Istream &is) | |
| Construct from Istream. More... | |
| MeshedSurface (const Time &runTime) | |
| Construct from database (as surfMesh) with default name. More... | |
| MeshedSurface (const Time &runTime, const word &surfName) | |
| Construct from database (as surfMesh) with given surface name. More... | |
| MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true) | |
| Read construct using IO to find the file location. More... | |
| MeshedSurface (const MeshedSurface< face > &surf) | |
| MeshedSurface (MeshedSurface< face > &&surf) | |
| bool | read (const fileName &name, const word &fileType) |
| Read from file. Chooses reader based on explicit extension. More... | |
| virtual bool | read (const fileName &name) |
| Read from file. Chooses reader based on detected extension. More... | |
| virtual void | write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
| Generic write routine. Chooses writer based on extension. More... | |
| virtual void | write (const fileName &name, const word &fileType, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
| Generic write routine for given format type. More... | |
| void | write (const Time &runTime, const word &surfName=word::null) const |
| Write to database. More... | |
| ClassName ("MeshedSurface") | |
| Declare type-name (with debug switch) More... | |
| declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name)) | |
| virtual | ~MeshedSurface () |
| Destructor. More... | |
| declareMemberFunctionSelectionTable (void, UnsortedMeshedSurface, write, fileExtension,(const fileName &name, const MeshedSurface< face > &surf, IOstreamOption streamOpt, const dictionary &options),(name, surf, streamOpt, options)) | |
| label | size () const |
| The surface size is the number of faces. More... | |
| const List< face > & | surfFaces () const |
| Return const access to the faces. More... | |
| const labelList & | faceIds () const |
| Return const access to faces ids. More... | |
| const surfZoneList & | surfZones () const |
| Const access to the surface zones. More... | |
| const vectorField & | Sf () const |
| Face area vectors (normals) More... | |
| const scalarField & | magSf () const |
| Face area magnitudes. More... | |
| const vectorField & | Cf () const |
| Face centres. More... | |
| virtual void | clear () |
| Clear all storage. More... | |
| virtual void | addZones (const UList< surfZone > &, const bool cullEmpty=false) |
| Add surface zones. More... | |
| virtual void | addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false) |
| Add surface zones. More... | |
| virtual void | addZones (const labelUList &sizes, const bool cullEmpty=false) |
| Add surface zones. More... | |
| bool | addZonesToFaces () |
| Propagate zone information on face regions. More... | |
| bool | addZonesToFaces () |
| Specialization for labelledTri. More... | |
| bool | addZonesToFaces () |
| virtual void | removeZones () |
| Remove surface zones. More... | |
| virtual void | movePoints (const pointField &newPoints) |
| Move points. More... | |
| virtual void | scalePoints (const scalar scaleFactor) |
| Scale points. A non-positive factor is ignored. More... | |
| virtual void | cleanup (const bool verbose) |
| Remove invalid faces. More... | |
| virtual bool | stitchFaces (const scalar tol=SMALL, const bool verbose=false) |
| virtual bool | checkFaces (const bool verbose=false) |
| virtual label | nTriangles () const |
| Count number of triangles. More... | |
| virtual label | nTriangles (labelList &faceMap) const |
| Count number of triangles, returning a face map of original ids. More... | |
| virtual label | triangulate () |
| Triangulate in-place, returning the number of triangles added. More... | |
| virtual label | triangulate (labelList &faceMap) |
| Triangulate in-place, returning the number of triangles added. More... | |
| void | subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
| Create mappings for a sub-surface. More... | |
| MeshedSurface | subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const UList< bool > &include) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const bitSet &include) const |
| Return a new surface subsetted on the selected faces. More... | |
| MeshedSurface | subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const |
| Return a new surface subsetted on the selected zone names. More... | |
| void | swap (MeshedSurface< face > &surf) |
| Swap contents. More... | |
| void | transfer (pointField &pointLst, List< face > &faceLst) |
| Transfer the components. More... | |
| void | transfer (MeshedSurface< face > &surf) |
| Transfer the contents of the argument and annul the argument. More... | |
| void | transfer (UnsortedMeshedSurface< face > &surf) |
| Transfer the contents of the argument and annul the argument. More... | |
| autoPtr< MeshedSurface< face > > | releaseGeom () |
| Release (clear) geometry and return for reuse. More... | |
| void | swapFaces (List< face > &faces) |
| Swap the stored faces. Use with caution. More... | |
| void | swapPoints (pointField &points) |
| Swap the stored points. More... | |
| void | writeStats (Ostream &os) const |
| void | operator= (const MeshedSurface< face > &surf) |
| Copy assignment. More... | |
| void | operator= (MeshedSurface< face > &&surf) |
| Move assignment. More... | |
| operator MeshedSurfaceProxy< face > () const | |
| Conversion operator to MeshedSurfaceProxy. More... | |
Protected Member Functions | |
| cuttingPlane (const plane &pln) | |
| Construct from a plane description without any cutting. More... | |
| virtual void | performCut (const primitiveMesh &mesh, const bool triangulate, bitSet &&cellIdLabels) |
| Cut mesh, restricted to a list of cells. More... | |
| void | checkOverlap (const word callerName, const boundBox &meshBounds, const boundBox &userBounds) const |
| bitSet | cellSelection (const polyMesh &mesh, const boundBox &userBounds, const wordRes &zoneNames, const word callerName, const bool warn) const |
| Define cell selection from bounding-box and zones. More... | |
| virtual void | performCut (const primitiveMesh &mesh, const bool triangulate, const labelUList &cellIdLabels) |
| Cut mesh, restricted to a list of cells. More... | |
| virtual void | performCut (const primitiveMesh &mesh, const bool triangulate, const bitSet &cellSelectionMask=bitSet()) |
| Cut mesh, restricted to a list of cells. More... | |
| virtual void | performCut (const primitiveMesh &mesh, const bool triangulate, bitSet &&cellSelectionMask)=0 |
| Cut mesh, restricted to a list of cells. More... | |
Protected Member Functions inherited from cuttingSurfaceBase | |
| 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) |
| Walk cell cuts to create faces. More... | |
| virtual void | performCut (const primitiveMesh &mesh, const bool triangulate, const labelUList &cellIdLabels) |
| Cut mesh, restricted to a list of cells. More... | |
| virtual void | performCut (const primitiveMesh &mesh, const bool triangulate, const bitSet &cellSelectionMask=bitSet()) |
| Cut mesh, restricted to a list of cells. More... | |
| virtual void | remapFaces (const labelUList &faceMap) |
| Remap action on triangulation or cleanup. More... | |
Protected Member Functions inherited from MeshedSurface< face > | |
| void | transcribe (MeshedSurface< face > &surf) |
| Transfer points/zones from 'face' to other other shapes. More... | |
| void | transcribe (MeshedSurface< face > &surf) |
| void | transcribe (MeshedSurface< face > &surf) |
| void | transcribe (MeshedSurface< face > &surf) |
| void | checkZones () |
| Basic sanity check on zones. More... | |
| pointField & | storedPoints () |
| Non-const access to global points. More... | |
| List< face > & | storedFaces () |
| Non-const access to the faces. More... | |
| labelList & | storedFaceIds () |
| Non-const access to face ids. More... | |
| surfZoneList & | storedZones () |
| Non-const access to the zones. More... | |
| void | sortFacesAndStore (DynamicList< face > &unsortedFaces, DynamicList< label > &zoneIds, DynamicList< label > &elemIds, bool sorted) |
| Sort faces by zones and store sorted faces. More... | |
Additional Inherited Members | |
Public Types inherited from plane | |
| enum | side { FRONT = 1, BACK = -1, NORMAL = 1, FLIP = -1 } |
| Side of the plane. More... | |
Public Types inherited from MeshedSurface< face > | |
| typedef face | face_type |
| The face type (same as the underlying PrimitivePatch) More... | |
| typedef point | point_type |
| The point type (same as the underlying PrimitivePatch) More... | |
Static Public Member Functions inherited from MeshedSurface< face > | |
| static void | write (const fileName &name, const MeshedSurface< face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
| Write to file, selecting writer based on its extension. More... | |
| static void | write (const fileName &name, const word &fileType, const MeshedSurface< face > &surf, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) |
| Write to file, selecting writer based on the given extension. More... | |
| static wordHashSet | readTypes () |
| Known readable file-types, without friends or proxies. More... | |
| static wordHashSet | writeTypes () |
| Known writable file-types, without friends or proxies. More... | |
| static bool | canReadType (const word &fileType, bool verbose=false) |
| Can we read this file format? Also checks friend types. More... | |
| static bool | canWriteType (const word &fileType, bool verbose=false) |
| Can we write this file format? Also checks proxy types. More... | |
| static bool | canRead (const fileName &name, bool verbose=false) |
| Can we read this file format? More... | |
| static autoPtr< MeshedSurface > | New (const fileName &name, const word &fileType, bool mandatory=true) |
| Read construct from filename with given file type. More... | |
| static autoPtr< MeshedSurface > | New (const fileName &name) |
| Read construct from filename (file type implicit from extension) More... | |
Static Public Attributes inherited from cuttingSurfaceBase | |
| static int | debug |
| Debug information. More... | |
Protected Types inherited from cuttingSurfaceBase | |
| typedef MeshedSurface< face > | MeshStorage |
| Typedef for convenience. More... | |
Static Protected Member Functions inherited from cuttingSurfaceBase | |
| static void | checkOverlap (const word callerName, const boundBox &meshBounds, const boundBox &userBounds) |
| Check and warn if bounding boxes do not intersect. More... | |
| static bitSet | cellSelection (const polyMesh &mesh, const boundBox &userBounds, const wordRes &zoneNames, boundBox &meshBounds) |
| Define cell selection from bounding-box and zones. More... | |
| static bitSet | cellSelection (const polyMesh &mesh, const boundBox &userBounds, const wordRes &zoneNames, const word callerName, const bool warn) |
| Define cell selection from bounding-box and zones. More... | |
Protected Attributes inherited from cuttingSurfaceBase | |
| labelList | meshCells_ |
| List of the cells cut. More... | |
Constructs cutting plane through a mesh.
No attempt at resolving degenerate cases. Since the cut faces can be quite ugly, they will often be triangulated.
Definition at line 58 of file cuttingPlane.H.
|
protected |
Construct from a plane description without any cutting.
Definition at line 32 of file cuttingPlane.C.
| cuttingPlane | ( | const plane & | pln, |
| const primitiveMesh & | mesh, | ||
| const bool | triangulate, | ||
| const bitSet & | cellIdLabels = bitSet() |
||
| ) |
Construct from plane and mesh reference, possibly restricted to a list of cells
Definition at line 39 of file cuttingPlane.C.
References mesh.
| cuttingPlane | ( | const plane & | pln, |
| const primitiveMesh & | mesh, | ||
| const bool | triangulate, | ||
| bitSet && | cellIdLabels | ||
| ) |
Construct from plane and mesh reference, possibly restricted to a list of cells
Definition at line 53 of file cuttingPlane.C.
References mesh.
| cuttingPlane | ( | const plane & | pln, |
| const primitiveMesh & | mesh, | ||
| const bool | triangulate, | ||
| const labelUList & | cellIdLabels | ||
| ) |
Construct from plane and mesh reference, possibly restricted to a list of cells
Definition at line 67 of file cuttingPlane.C.
References mesh.
|
protectedvirtual |
Cut mesh, restricted to a list of cells.
Reclaim memory for cellIdLabels
Implements cuttingSurfaceBase.
Definition at line 83 of file cuttingPlane.C.
References clear(), Foam::constant::electromagnetic::e, plane::lineIntersect(), mesh, primitiveMesh::nCells(), and polyMesh::points().
|
protected |
Check and warn if bounding boxes do not intersect, and if the plane does not intersect the bounding boxes
Definition at line 34 of file cuttingPlaneSelection.C.
References Foam::endl(), boundBox::intersects(), Foam::nl, boundBox::valid(), and WarningInFunction.
|
protected |
Define cell selection from bounding-box and zones.
| userBounds | Optionally user-specified bounding box |
| zoneNames | Optionally user-specified zone names |
| warn | Check and warn if the plane does not intersect with the bounds of the mesh (or submesh) or if the bounding box does not overlap with the mesh (or submesh) |
Definition at line 67 of file cuttingPlaneSelection.C.
References mesh.
|
inline |
The plane used.
Definition at line 172 of file cuttingPlane.H.
|
inline |
The plane used. Non-const access.
Definition at line 178 of file cuttingPlane.H.
| void operator= | ( | const cuttingPlane & | rhs | ) |
Copy assignment.
Definition at line 149 of file cuttingPlane.C.
References cuttingSurfaceBase::meshCells().
|
protected |
Cut mesh, restricted to a list of cells.
Definition at line 60 of file cuttingSurfaceBase.C.
|
protected |
Cut mesh, restricted to a list of cells.
Definition at line 47 of file cuttingSurfaceBase.C.
|
protected |
Cut mesh, restricted to a list of cells.