Constructs plane through mesh. More...
Public Member Functions | |
cuttingPlane (const plane &, const primitiveMesh &, const bool triangulate, const labelUList &cellIdLabels=labelUList::null()) | |
Construct from plane and mesh reference,. More... | |
const plane & | planeDesc () const |
Return plane used. More... | |
const labelList & | cutCells () const |
Return List of cells cut by the plane. More... | |
bool | cut () const |
Return true or false to question: have any cells been cut? More... | |
template<class Type > | |
tmp< Field< Type > > | sample (const Field< Type > &) const |
Sample the cell field. More... | |
template<class Type > | |
tmp< Field< Type > > | sample (const tmp< Field< Type >> &) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sample (const Field< Type > &fld) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | sample (const tmp< Field< Type >> &tfld) const |
Public Member Functions inherited from plane | |
plane (const vector &normalVector) | |
Construct from normal vector through the origin. More... | |
plane (const point &basePoint, const vector &normalVector) | |
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 &C) | |
Construct from coefficients for the. More... | |
plane (const dictionary &planeDict) | |
Construct from dictionary. More... | |
plane (Istream &is) | |
Construct from Istream. Assumes the base + normal notation. More... | |
const vector & | normal () const |
Return plane normal. More... | |
const point & | refPoint () const |
Return or return plane base point. More... | |
FixedList< scalar, 4 > | planeCoeffs () const |
Return coefficients for the. More... | |
point | aPoint () const |
Return a point on the plane. More... | |
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 from the given point to the plane. More... | |
scalar | normalIntersect (const point &pnt0, const vector &dir) const |
Return cut coefficient for plane and line defined by. More... | |
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 &) const |
Return the cutting line between this plane and another. More... | |
point | planePlaneIntersect (const plane &, const plane &) const |
Return the cutting point between this plane and two other planes. More... | |
side | sideOfPlane (const point &p) const |
Return 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 &) const |
Write to dictionary. More... | |
Public Member Functions inherited from MeshedSurface< face > | |
MeshedSurface () | |
Construct null. More... | |
MeshedSurface (pointField &&, List< face > &&, surfZoneList &&) | |
Construct by transferring components (points, faces, zones). More... | |
MeshedSurface (pointField &&, List< face > &&, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
Construct by transferring components (points, faces). More... | |
MeshedSurface (const MeshedSurface &) | |
Copy constructor. More... | |
MeshedSurface (const UnsortedMeshedSurface< face > &) | |
Construct from a UnsortedMeshedSurface. More... | |
MeshedSurface (const polyBoundaryMesh &, const bool globalPoints=false) | |
Construct from a boundary mesh with local points/faces. More... | |
MeshedSurface (const surfMesh &) | |
Construct from a surfMesh. More... | |
MeshedSurface (UnsortedMeshedSurface< face > &&) | |
Construct by transferring the contents from a UnsortedMeshedSurface. More... | |
MeshedSurface (MeshedSurface< face > &&) | |
Construct by transferring the contents from a MeshedSurface. More... | |
MeshedSurface (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
MeshedSurface (const fileName &, const word &ext) | |
Construct from file name (uses extension to determine type) More... | |
MeshedSurface (const Time &, const word &surfName="") | |
Construct from database. More... | |
MeshedSurface (const MeshedSurface< face > &surf) | |
ClassName ("MeshedSurface") | |
Runtime type information. More... | |
bool | isTri () |
Specialisation for holding triangulated information. 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),(name, surf)) | |
virtual void | write (const fileName &name) const |
Generic write routine. Chooses writer based on extension. More... | |
void | write (const Time &, const word &surfName="") const |
Write to database. More... | |
label | size () const |
The surface size is the number of faces. More... | |
const List< face > & | faces () const |
Return const access to the faces. More... | |
const List< surfZone > & | surfZones () const |
Const access to the surface zones. 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... | |
virtual void | removeZones () |
Remove surface zones. More... | |
virtual void | clear () |
Clear all storage. More... | |
virtual void | movePoints (const pointField &) |
Move points. More... | |
virtual void | scalePoints (const scalar) |
Scale points. A non-positive factor is ignored. More... | |
virtual void | reset (pointField &&points, List< face > &&faces, surfZoneList &&zones) |
Reset primitive data (points, faces and zones) More... | |
virtual void | reset (List< point > &&points, List< face > &&faces, surfZoneList &&zones) |
Reset primitive data (points, faces and zones) 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 | triangulate () |
Triangulate in-place, returning the number of triangles added. More... | |
virtual label | triangulate (List< label > &faceMap) |
Triangulate in-place, returning the number of triangles added. More... | |
label | triangulate () |
Specialisation for holding triangulated information. More... | |
label | triangulate (List< label > &faceMap) |
Specialisation for holding triangulated information. More... | |
MeshedSurface | subsetMesh (const labelHashSet &include, labelList &pointMap, labelList &faceMap) const |
Return new surface. More... | |
MeshedSurface | subsetMesh (const labelHashSet &include) const |
Return new surface. More... | |
void | transfer (MeshedSurface< face > &) |
Transfer the contents of the argument and annul the argument. More... | |
void | transfer (UnsortedMeshedSurface< face > &) |
Transfer the contents of the argument and annul the argument. More... | |
bool | read (const fileName &, const word &ext) |
Read from file. Chooses reader based on explicit extension. More... | |
virtual bool | read (const fileName &) |
Read from file. Chooses reader based on detected extension. More... | |
void | writeStats (Ostream &os) const |
void | operator= (const MeshedSurface< face > &) |
operator MeshedSurfaceProxy< face > () const | |
Conversion operator to MeshedSurfaceProxy. More... | |
Public Member Functions inherited from PrimitivePatch< FaceList, PointField > | |
PrimitivePatch (const FaceList &faces, const Field< PointType > &points) | |
Construct from components. More... | |
PrimitivePatch (FaceList &&faces, Field< PointType > &&points) | |
Move constructor from components. More... | |
PrimitivePatch (FaceList &faces, Field< PointType > &points, const bool reuse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< FaceList, PointField > &) | |
Copy constructor. More... | |
PrimitivePatch (PrimitivePatch< FaceList, PointField > &&) | |
Move constructor. More... | |
autoPtr< PrimitivePatch< FaceList, PointField > > | clone () const |
Construct and return a clone. More... | |
~PrimitivePatch () | |
Destructor. More... | |
const Field< PointType > & | points () const |
Return reference to global points. More... | |
label | nPoints () const |
Return number of points supporting patch faces. More... | |
label | nEdges () const |
Return number of edges in patch. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
bool | isInternalEdge (const label edgeI) const |
Is internal edge? More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points,. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const List< FaceType > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. They are constructed. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. Given the global point index find its. More... | |
const Field< PointType > & | localPoints () const |
Return pointField of points in patch. More... | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. More... | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point index. More... | |
label | whichEdge (const edge &) const |
Given an edge in local point labels, return its. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges in the global edge list using. More... | |
const Field< PointType > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< PointType > & | faceAreas () const |
Return face areas for patch. More... | |
const Field< PointType > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< PointType > & | pointNormals () const |
Return point normals for patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction=intersection::direction::vector) const |
Project vertices of patch onto another patch. More... | |
template<class ToPatch > | |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction=intersection::direction::vector) const |
Project vertices of patch onto another patch. More... | |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. More... | |
surfaceTopo | surfaceType () const |
Calculate surface type formed by patch. More... | |
bool | checkTopology (const bool report=false, labelHashSet *setPtr=nullptr) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=nullptr) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
void | operator= (const PrimitivePatch< FaceList, PointField > &) |
Assignment operator. More... | |
void | operator= (PrimitivePatch< FaceList, PointField > &&) |
Move assignment operator. More... | |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
template<class ToPatch > | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
Public Member Functions inherited from surfaceFormatsCore | |
surfaceFormatsCore () | |
Construct null. More... | |
virtual | ~surfaceFormatsCore () |
Destructor. More... | |
Protected Member Functions | |
cuttingPlane (const plane &) | |
Construct plane description without cutting. More... | |
void | reCut (const primitiveMesh &, const bool triangulate, const labelUList &cellIdLabels=labelUList::null()) |
Recut mesh with existing planeDesc, 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 > &) |
Transfer points/zones and transcribe face -> triFace. More... | |
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... | |
surfZoneList & | storedZones () |
Non-const access to the zones. More... | |
void | sortFacesAndStore (List< face > &&unsortedFaces, List< label > &&zoneIds, const bool sorted) |
Sort faces by zones and store sorted faces. More... | |
Additional Inherited Members | |
Public Types inherited from plane | |
enum | side { NORMAL, FLIP } |
Side of the plane. More... | |
Public Types inherited from MeshedSurface< face > | |
typedef face | FaceType |
Face type used. More... | |
Public Types inherited from PrimitivePatch< FaceList, PointField > | |
enum | surfaceTopo { MANIFOLD, OPEN, ILLEGAL } |
Enumeration defining the surface type. Used in check routines. More... | |
typedef FaceList | FaceListType |
typedef std::remove_reference< FaceList >::type::value_type | FaceType |
typedef PointField | PointFieldType |
typedef std::remove_reference< PointField >::type::value_type | PointType |
Static Public Member Functions inherited from MeshedSurface< face > | |
static bool | isTri () |
Face storage only handles triangulated faces. More... | |
static bool | canRead (const fileName &, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canReadType (const word &ext, const bool verbose=false) |
Can we read this file format? More... | |
static bool | canWriteType (const word &ext, const bool verbose=false) |
Can we write this file format? More... | |
static wordHashSet | readTypes () |
static wordHashSet | writeTypes () |
static autoPtr< MeshedSurface > | New (const fileName &, const word &ext) |
Select constructed from filename (explicit extension) More... | |
static autoPtr< MeshedSurface > | New (const fileName &) |
Select constructed from filename (implicit extension) More... | |
static void | write (const fileName &, const MeshedSurface< face > &) |
Write to file. More... | |
Static Public Member Functions inherited from surfaceFormatsCore | |
static bool | checkSupport (const wordHashSet &available, const word &ext, const bool verbose, const word &functionName) |
static fileName | localMeshFileName (const word &surfName="") |
Return the local file name (within time directory) More... | |
static fileName | findMeshInstance (const Time &, const word &surfName="") |
Find instance with surfName. More... | |
static fileName | findMeshFile (const Time &, const word &surfName="") |
Find mesh file with surfName. More... | |
Static Public Attributes inherited from surfaceFormatsCore | |
static word | nativeExt |
The file extension corresponding to 'native' surface format. More... | |
Static Protected Member Functions inherited from surfaceFormatsCore | |
template<class Container > | |
static List< surfZone > | oneZone (const Container &container, const word &name="zone0") |
Return a list with a single entry,. More... | |
static string | getLineNoComment (IFstream &) |
Read non-comment line. More... | |
Constructs plane through mesh.
No attempt at resolving degenerate cases. Since the cut faces are usually quite ugly, they will always be triangulated.
Note: When the cutting plane coincides with a mesh face, the cell edge on the positive side of the plane is taken.
Definition at line 60 of file cuttingPlane.H.
|
protected |
Construct plane description without cutting.
Definition at line 410 of file cuttingPlane.C.
cuttingPlane | ( | const plane & | pln, |
const primitiveMesh & | mesh, | ||
const bool | triangulate, | ||
const labelUList & | cellIdLabels = labelUList::null() |
||
) |
Construct from plane and mesh reference,.
possibly restricted to a list of cells
Definition at line 417 of file cuttingPlane.C.
References cuttingPlane::reCut().
|
protected |
Recut mesh with existing planeDesc, restricted to a list of cells.
Definition at line 364 of file cuttingPlane.C.
References List< T >::clear(), MeshedSurface< face >::clear(), plane::normal(), primitiveMesh::points(), plane::refPoint(), and cuttingPlane::remapFaces().
Referenced by cuttingPlane::cuttingPlane().
|
protectedvirtual |
Remap action on triangulation or cleanup.
Reimplemented from MeshedSurface< face >.
Definition at line 389 of file cuttingPlane.C.
References forAll, Foam::notNull(), MeshedSurface< face >::remapFaces(), UList< T >::size(), and List< T >::transfer().
Referenced by cuttingPlane::reCut().
|
inline |
Return plane used.
Definition at line 154 of file cuttingPlane.H.
|
inline |
Return List of cells cut by the plane.
Definition at line 160 of file cuttingPlane.H.
Referenced by plane::meshCells().
|
inline |
Return true or false to question: have any cells been cut?
Definition at line 166 of file cuttingPlane.H.
References cuttingPlane::sample(), and List< T >::size().
Sample the cell field.
Referenced by cuttingPlane::cut(), and cuttingPlane::sample().
Foam::tmp<Foam::Field<Type> > sample | ( | const Field< Type > & | fld | ) | const |
Definition at line 37 of file cuttingPlaneTemplates.C.
References fld(), and cuttingPlane::sample().
Foam::tmp<Foam::Field<Type> > sample | ( | const tmp< Field< Type >> & | tfld | ) | const |
Definition at line 47 of file cuttingPlaneTemplates.C.