Marching tet iso surface algorithm with optional filtering to keep only points originating from mesh edges. More...
#include <isoSurfaceTopo.H>


Public Member Functions | |
| TypeName ("isoSurfaceTopo") | |
| Runtime type information. | |
| isoSurfaceTopo (const polyMesh &mesh, const scalarField &cellValues, const scalarField &pointValues, const scalar iso, const isoSurfaceParams ¶ms=isoSurfaceParams(), const bitSet &ignoreCells=bitSet()) | |
| Construct from cell and point values. | |
| virtual | ~isoSurfaceTopo ()=default |
| Destructor. | |
| const edgeList & | pointToVerts () const noexcept |
| Per point: originating mesh vertex/cell centre combination. | |
| virtual tmp< Field< scalar > > | interpolate (const VolumeField< scalar > &cellValues, const Field< scalar > &pointValues) const |
| interpolate scalar cellValues, pointValues on iso-surface | |
| virtual tmp< Field< vector > > | interpolate (const VolumeField< vector > &cellValues, const Field< vector > &pointValues) const |
| interpolate vector cellValues, pointValues on iso-surface | |
| virtual tmp< Field< sphericalTensor > > | interpolate (const VolumeField< sphericalTensor > &cellValues, const Field< sphericalTensor > &pointValues) const |
| interpolate sphericalTensor cellValues, pointValues on iso-surface | |
| virtual tmp< Field< symmTensor > > | interpolate (const VolumeField< symmTensor > &cellValues, const Field< symmTensor > &pointValues) const |
| interpolate symmTensor cellValues, pointValues on iso-surface | |
| virtual tmp< Field< tensor > > | interpolate (const VolumeField< tensor > &cellValues, const Field< tensor > &pointValues) const |
| interpolate tensor cellValues, pointValues on iso-surface | |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | interpolateTemplate (const Field< Type > &cellData, const Field< Type > &pointData) const |
| Public Member Functions inherited from isoSurfaceBase | |
| isoSurfaceBase (const polyMesh &mesh, const scalarField &cellValues, const scalarField &pointValues, const scalar iso, const isoSurfaceParams ¶ms=isoSurfaceParams()) | |
| Construct with mesh, cell/point values and iso-value. | |
| const polyMesh & | mesh () const noexcept |
| The mesh for which the iso-surface is associated. | |
| const scalarField & | cellValues () const noexcept |
| The mesh cell values used for creating the iso-surface. | |
| const scalarField & | pointValues () const noexcept |
| The mesh point values used for creating the iso-surface. | |
| scalar | isoValue () const noexcept |
| The iso-value associated with the surface. | |
| const labelList & | meshCells () const noexcept |
| For each face, the original cell in mesh. | |
| labelList & | meshCells () noexcept |
| For each face, the original cell in mesh. | |
| label | blockCells (UList< cutType > &cuts, const bitSet &ignoreCells) const |
| Mark ignoreCells as BLOCKED. | |
| label | blockCells (UList< cutType > &cuts, const boundBox &bb, const volumeType::type volType) const |
| Mark cells inside/outside a (valid) bound box as BLOCKED. | |
| void | ignoreCyclics () |
| Set ignoreBoundaryFaces to ignore cyclics (cyclicACMI). | |
| label | calcCellCuts (List< cutType > &cuts) const |
| Populate a list of candidate cell cuts using getCellCutType(). | |
| cutType | getFaceCutType (const label facei) const |
| Determine face cut for an individual face. | |
| cutType | getCellCutType (const label celli) const |
| Cell cut for an individual cell, with special handling for TETCUT and SPHERE cuts. | |
| Public Member Functions inherited from MeshedSurface< face > | |
| ClassName ("MeshedSurface") | |
| Declare type-name (with debug switch). | |
| MeshedSurface () | |
| Default construct, an empty surface. | |
| MeshedSurface (const MeshedSurface &surf) | |
| Copy construct. | |
| MeshedSurface (const UnsortedMeshedSurface< face > &surf) | |
| Copy construct from an UnsortedMeshedSurface. | |
| MeshedSurface (MeshedSurface &&surf) | |
| Move construct. | |
| MeshedSurface (UnsortedMeshedSurface< face > &&surf) | |
| Move construct from an UnsortedMeshedSurface. | |
| MeshedSurface (const pointField &pointLst, const UList< face > &faceLst, const UList< surfZone > &zoneLst) | |
| Copy construct from components (points, faces, zones). | |
| MeshedSurface (pointField &&pointLst, List< face > &&faceLst, const UList< surfZone > &zoneLst) | |
| Move construct from components (points, faces). | |
| MeshedSurface (const pointField &pointLst, const UList< face > &faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
| Copy construct from components (points, faces). | |
| MeshedSurface (pointField &&pointLst, List< face > &&faceLst, const labelUList &zoneSizes=labelUList(), const UList< word > &zoneNames=UList< word >()) | |
| Move construct from components (points, faces). | |
| MeshedSurface (const polyBoundaryMesh &pbm, const bool globalPoints=false) | |
| Construct from a boundary mesh with local points/faces. | |
| MeshedSurface (const surfMesh &mesh) | |
| Construct from a surfMesh. | |
| MeshedSurface (const fileName &name) | |
| Construct from file name (uses extension to determine type). | |
| MeshedSurface (const fileName &name, const word &fileType) | |
| Construct from file name and given file type. | |
| MeshedSurface (Istream &is) | |
| Construct from Istream. | |
| MeshedSurface (const Time &runTime) | |
| Construct from database (as surfMesh) with default name. | |
| MeshedSurface (const Time &runTime, const word &surfName) | |
| Construct from database (as surfMesh) with given surface name. | |
| MeshedSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true) | |
| Read construct using IO to find the file location. | |
| declareRunTimeSelectionTable (autoPtr, MeshedSurface, fileExtension,(const fileName &name),(name)) | |
| virtual | ~MeshedSurface () |
| Destructor. | |
| 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. | |
| const List< face > & | surfFaces () const |
| Return const access to the faces. | |
| const labelList & | faceIds () const |
| Return const access to faces ids. | |
| const surfZoneList & | surfZones () const |
| Const access to the surface zones. | |
| const vectorField & | Sf () const |
| Face area vectors (normals). | |
| const scalarField & | magSf () const |
| Face area magnitudes. | |
| const vectorField & | Cf () const |
| Face centres. | |
| virtual void | clear () |
| Clear all storage. | |
| virtual void | addZones (const UList< surfZone > &, const bool cullEmpty=false) |
| Add surface zones. | |
| virtual void | addZones (const labelUList &sizes, const UList< word > &names, const bool cullEmpty=false) |
| Add surface zones. | |
| virtual void | addZones (const labelUList &sizes, const bool cullEmpty=false) |
| Add surface zones. | |
| bool | addZonesToFaces () |
| Propagate zone information on face regions. | |
| virtual void | removeZones () |
| Remove surface zones. | |
| virtual void | movePoints (const pointField &newPoints) |
| Move points. | |
| virtual void | scalePoints (const scalar scaleFactor) |
| Scale points. A non-positive factor is ignored. | |
| virtual void | cleanup (const bool verbose) |
| Remove invalid faces. | |
| virtual void | compactPoints (labelList &pointMap=const_cast< labelList & >(labelList::null())) |
| Remove unused points and renumber faces in local visit order. | |
| 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. | |
| virtual label | nTriangles (labelList &faceMap) const |
| Count number of triangles, returning a face map of original ids. | |
| virtual label | triangulate () |
| Triangulate in-place, returning the number of triangles added. | |
| virtual label | triangulate (labelList &faceMap) |
| Triangulate in-place, returning the number of triangles added. | |
| void | subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
| Create mappings for a sub-surface. | |
| MeshedSurface | subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. | |
| MeshedSurface | subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. | |
| MeshedSurface | subsetMesh (const UList< bool > &include) const |
| Return a new surface subsetted on the selected faces. | |
| MeshedSurface | subsetMesh (const bitSet &include) const |
| Return a new surface subsetted on the selected faces. | |
| MeshedSurface | subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const |
| Return a new surface subsetted on the selected zone names. | |
| void | swap (MeshedSurface< face > &surf) |
| Swap contents. | |
| void | transfer (pointField &pointLst, List< face > &faceLst) |
| Transfer the components. | |
| void | transfer (MeshedSurface< face > &surf) |
| Transfer the contents of the argument and annul the argument. | |
| void | transfer (UnsortedMeshedSurface< face > &surf) |
| Transfer the contents of the argument and annul the argument. | |
| autoPtr< MeshedSurface< face > > | releaseGeom () |
| Release (clear) geometry and return for reuse. | |
| void | swapFaces (List< face > &faces) |
| Swap the stored faces. Use with caution. | |
| void | swapPoints (pointField &points) |
| Swap the stored points. | |
| bool | read (const fileName &name, const word &fileType) |
| Read from file. Chooses reader based on explicit extension. | |
| virtual bool | read (const fileName &name) |
| Read from file. Chooses reader based on detected extension. | |
| void | writeStats (Ostream &os) const |
| virtual void | write (const fileName &name, IOstreamOption streamOpt=IOstreamOption(), const dictionary &options=dictionary::null) const |
| Generic write routine. Chooses writer based on extension. | |
| 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. | |
| void | write (const Time &runTime, const word &surfName=word::null) const |
| Write to database. | |
| void | operator= (const MeshedSurface< face > &surf) |
| Copy assignment. | |
| void | operator= (MeshedSurface< face > &&surf) |
| Move assignment. | |
| operator MeshedSurfaceProxy< face > () const | |
| Conversion operator to MeshedSurfaceProxy. | |
| MeshedSurface (const MeshedSurface< face > &surf) | |
| MeshedSurface (MeshedSurface< face > &&surf) | |
| bool | addZonesToFaces () |
| Specialization for labelledTri. | |
| bool | addZonesToFaces () |
| operator MeshedSurfaceProxy< face > () const | |
| Conversion operator to MeshedSurfaceProxy. | |
| Public Member Functions inherited from PrimitivePatch<::Foam::List< face >, pointField > | |
| PrimitivePatch (const ::Foam::List< face > &faces, const pointField &points) | |
| Construct from components. | |
| PrimitivePatch (::Foam::List< face > &&faces, const pointField &points) | |
| Construct from components, transferring faces. | |
| PrimitivePatch (::Foam::List< face > &faces, pointField &points, const bool reuse) | |
| Construct from components, reuse storage. | |
| PrimitivePatch (const PrimitivePatch< ::Foam::List< face >, pointField > &pp) | |
| Copy construct. | |
| virtual | ~PrimitivePatch () |
| Destructor. | |
| void | clearOut () |
| void | clearGeom () |
| void | clearTopology () |
| void | clearPatchMeshAddr () |
| void | swap (PrimitivePatch &)=delete |
| Suppress direct swapping, since storage containers may be const. | |
| const Field< point_type > & | points () const noexcept |
| Return reference to global points. | |
| label | nFaces () const noexcept |
| Number of faces in the patch. | |
| label | nPoints () const |
| Number of points supporting patch faces. | |
| label | nEdges () const |
| Number of edges in patch. | |
| const edgeList & | edges () const |
| Return list of edges, address into LOCAL point list. | |
| const edgeList::subList | internalEdges () const |
| Return sub-list of internal edges, address into LOCAL point list. | |
| const edgeList::subList | boundaryEdges () const |
| Return sub-list of boundary edges, address into LOCAL point list. | |
| label | nInternalEdges () const |
| Number of internal edges. | |
| label | nBoundaryEdges () const |
| Number of boundary edges == (nEdges() - nInternalEdges()). | |
| bool | isInternalEdge (const label edgei) const |
| Is internal edge? | |
| const labelList & | boundaryPoints () const |
| Return list of boundary points, address into LOCAL point list. | |
| const labelListList & | faceFaces () const |
| Return face-face addressing. | |
| const labelListList & | edgeFaces () const |
| Return edge-face addressing. | |
| const labelListList & | faceEdges () const |
| Return face-edge addressing. | |
| const labelListList & | pointEdges () const |
| Return point-edge addressing. | |
| const labelListList & | pointFaces () const |
| Return point-face addressing. | |
| const List< face_type > & | localFaces () const |
| Return patch faces addressing into local point list. | |
| labelList | boundaryFaces () const |
| Extract list of local faces corresponding to the boundary edges. | |
| labelList | uniqBoundaryFaces () const |
| Extract sorted list of unique local faces associated with the boundary edges. | |
| const labelList & | meshPoints () const |
| Return labelList of mesh points in patch. | |
| const Map< label > & | meshPointMap () const |
| Mesh point map. | |
| const Field< point_type > & | localPoints () const |
| Return pointField of points in patch. | |
| const labelList & | localPointOrder () const |
| Return orders the local points for most efficient search. | |
| label | whichPoint (const label gp) const |
| Given a global point index, return the local point index. | |
| edge | meshEdge (const label edgei) const |
| From patch edge to global edge using meshPoints. | |
| edge | meshEdge (const edge &e) const |
| From patch edge to global edge using meshPoints. | |
| label | findEdge (const edge &e) const |
| Search for edge (local point labels) and return its index in the edge list or -1 if not found. | |
| labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
| Return labels of patch edges in the global edge list using cell addressing. | |
| labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
| Return labels of patch edges into the global edge list using basic edge addressing. | |
| label | meshEdge (const label edgei, const edgeList &allEdges, const labelListList &pointEdges) const |
| Return label of the local patch edge into the global edge list using basic edge addressing. | |
| labelList | meshEdges (const labelUList &edgeLabels, const edgeList &allEdges, const labelListList &pointEdges) const |
| Return labels of specified patch edges into the global edge list using basic edge addressing. | |
| const Field< point_type > & | faceCentres () const |
| Return face centres for patch. | |
| const Field< point_type > & | faceAreas () const |
| Return face area vectors for patch. | |
| const Field< scalar > & | magFaceAreas () const |
| Return face area magnitudes for patch. | |
| const Field< point_type > & | faceNormals () const |
| Return face unit normals for patch. | |
| const Field< point_type > & | pointNormals () const |
| Return point normals for patch. | |
| Pair< point_type > | box () const |
| The enclosing (bounding) box for the patch points. | |
| scalar | sphere (const label facei) const |
| The enclosing (bounding) sphere radius^2 for specified face. | |
| bool | hasFaceAreas () const |
| bool | hasFaceCentres () const |
| bool | hasFaceNormals () const |
| bool | hasPointNormals () const |
| bool | hasBoundaryPoints () const |
| bool | hasEdges () const |
| bool | hasFaceFaces () const |
| bool | hasEdgeFaces () const |
| bool | hasFaceEdges () const |
| bool | hasPointEdges () const |
| bool | hasPointFaces () const |
| bool | hasMeshPoints () const |
| bool | hasMeshPointMap () const |
| List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
| Project vertices of patch onto another patch. | |
| List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< point_type > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
| Project vertices of patch onto another patch. | |
| const labelListList & | edgeLoops () const |
| Return list of closed loops of boundary vertices. | |
| surfaceTopo | surfaceType (labelHashSet *badEdgesPtr=nullptr) const |
| Calculate surface type formed by patch, optionally recording the indices of illegal edges. | |
| bool | checkTopology (const bool report=false, labelHashSet *pointSetPtr=nullptr) const |
| Check surface formed by patch for manifoldness (see above). | |
| bool | checkPointManifold (const bool report=false, labelHashSet *pointSetPtr=nullptr) const |
| Checks primitivePatch for faces sharing point but not edge. | |
| virtual void | movePoints (const Field< point_type > &) |
| Correct patch after moving points. | |
| void | operator= (const PrimitivePatch< ::Foam::List< face >, pointField > &rhs) |
| Copy assign faces. Leave points alone (could be a reference). | |
| void | operator= (PrimitivePatch< ::Foam::List< face >, pointField > &&rhs) |
| Move assign faces. Leave points alone (could be a reference). | |
| label | whichEdge (const edge &e) const |
| Identical to findEdge. | |
| Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< ::Foam::List< face >, pointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
| Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< ::Foam::List< face >, pointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
| Public Member Functions inherited from PrimitivePatchBase | |
| ClassName ("PrimitivePatch") | |
| Runtime type information. | |
| PrimitivePatchBase ()=default | |
| Default construct. | |
| Public Member Functions inherited from List< face > | |
| constexpr | List () noexcept |
| Default construct. | |
| List (const label len) | |
| Construct with given size. | |
| List (const label len, const face &val) | |
| Construct with given size and value for all elements. | |
| List (const label len, Foam::zero) | |
| Construct with given size initializing all elements to zero. | |
| List (Foam::one, const face &val) | |
| Construct with length=1, copying the value as the only content. | |
| List (Foam::one, face &&val) | |
| Construct with length=1, moving the value as the only content. | |
| List (Foam::one, Foam::zero) | |
| Construct with length=1, initializing content to zero. | |
| List (const List< face > &list) | |
| Copy construct from list. | |
| List (const UList< face > &list) | |
| Copy construct contents from list. | |
| List (List< face > &list, bool reuse) | |
| Construct as copy or re-use as specified. | |
| List (const UList< face > &list, const labelUList &indices) | |
| Copy construct subset of list. | |
| List (const UList< face > &list, const FixedList< label, N > &indices) | |
| Copy construct subset of list. | |
| List (const FixedList< face, N > &list) | |
| Construct as copy of FixedList<T, N>. | |
| List (const UPtrList< face > &list) | |
| Construct as copy of UPtrList<T> content. | |
| List (const IndirectListBase< face, Addr > &list) | |
| Construct as copy of IndirectList contents. | |
| List (std::initializer_list< face > list) | |
| Construct from an initializer list. | |
| List (List< face > &&list) noexcept | |
| Move construct from List. | |
| List (DynamicList< face, SizeMin > &&list) | |
| Move construct from DynamicList. | |
| List (Istream &is) | |
| Construct from Istream. | |
| autoPtr< List< face > > | clone () const |
| Clone. | |
| ~List () | |
| Destructor. | |
| void | clear () |
| Clear the list, i.e. set size to zero. | |
| void | resize (const label len) |
| Adjust allocated size of list. | |
| void | resize (const label len, const face &val) |
| Adjust allocated size of list and set val for new elements. | |
| void | resize_copy (label count, const label len) |
| Change allocated size of list, retaining the first count elements. | |
| void | resize_fill (const label len, const face &val) |
| Adjust allocated size of list and set val for all elements. | |
| void | resize_nocopy (const label len) |
| Adjust allocated size of list without necessarily. | |
| void | transfer (List< face > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| void | transfer (DynamicList< face, SizeMin > &list) |
| Transfer the contents of the argument List into this list and annul the argument list. | |
| face & | newElmt (const label i) |
| Return subscript-checked element of UList and resizing the list if required. | |
| face & | emplace_back (Args &&... args) |
| Construct an element at the end of the list, return reference to the new list element. | |
| void | push_back (const face &val) |
| Append an element at the end of the list. | |
| void | push_back (face &&val) |
| Move append an element at the end of the list. | |
| void | push_back (const UList< face > &list) |
| Append a List to the end of this list. | |
| void | push_back (const IndirectListBase< face, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | push_uniq (const face &val) |
| Append an element if not already in the list. | |
| void | pop_back (label n=1) |
| Reduce size by 1 or more elements. Can be called on an empty list. | |
| void | operator= (const UList< face > &list) |
| Assignment to UList operator. Takes linear time. | |
| void | operator= (const List< face > &list) |
| Assignment operator. Takes linear time. | |
| void | operator= (const IndirectListBase< face, Addr > &list) |
| Assignment from IndirectList. Takes linear time. | |
| void | operator= (const FixedList< face, N > &list) |
| Copy assignment from FixedList. | |
| void | operator= (std::initializer_list< face > list) |
| Assignment to an initializer list. | |
| void | operator= (const face &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| void | operator= (List< face > &&list) |
| Move assignment. Takes constant time. | |
| void | operator= (DynamicList< face, SizeMin > &&list) |
| Move assignment. Takes constant time. | |
| Istream & | readList (Istream &is) |
| Read List from Istream, discarding contents of existing List. | |
| void | shallowCopy (const UList< face > &)=delete |
| No shallowCopy permitted. | |
| bool | set (const label i, bool val=true) |
| A bitSet::set() method for a list of bool. | |
| void | append (const face &val) |
| Append an element at the end of the list. | |
| void | append (face &&val) |
| Move append an element at the end of the list. | |
| void | append (const UList< face > &list) |
| Append a List to the end of this list. | |
| void | append (const IndirectListBase< face, Addr > &list) |
| Append IndirectList contents at the end of this list. | |
| label | appendUniq (const face &val) |
| Same as push_uniq(). | |
| void | setSize (label n) |
| Alias for resize(). | |
| void | setSize (label n, const face &val) |
| Alias for resize(). | |
| List (const Expression::ListExpression< E > &expr) | |
| Construct from value expression. | |
| void | operator= (const Expression::ListExpression< E > &expr) |
| Assign values from expression. | |
| void | resize (const label len) |
| Public Member Functions inherited from UList< face > | |
| UList (const UList< face > &) noexcept=default | |
| Copy construct, shallow copy. | |
| UList (UList< face > &&) noexcept=default | |
| Move construct, shallow copy. | |
| UList< face > & | operator= (const UList< face > &)=delete |
| No copy assignment (default: shallow copy). | |
| UList< face > & | operator= (UList< face > &&) noexcept=default |
| Move assignment, shallow copy. | |
| constexpr | UList () noexcept |
| Default construct, zero-sized and nullptr. | |
| UList (face *__restrict__ ptr, const label len) noexcept | |
| Construct from components. | |
| UList (SubList< face > &&) noexcept | |
| Move construct from a SubList, shallow copy. | |
| label | fcIndex (const label i) const noexcept |
| The forward circular index. The next index in the list which returns to the first at the end of the list. | |
| label | rcIndex (const label i) const noexcept |
| The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. | |
| const face & | fcValue (const label i) const |
| Return forward circular value (ie, next value in the list). | |
| face & | fcValue (const label i) |
| Return forward circular value (ie, next value in the list). | |
| const face & | rcValue (const label i) const |
| Return reverse circular value (ie, previous value in the list). | |
| face & | rcValue (const label i) |
| Return reverse circular value (ie, previous value in the list). | |
| const face * | cdata () const noexcept |
| Return pointer to the underlying array serving as data storage. | |
| face * | data () noexcept |
| Return pointer to the underlying array serving as data storage. | |
| const char * | cdata_bytes () const noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| char * | data_bytes () noexcept |
| Return pointer to the underlying array serving as data storage,. | |
| face & | front () |
| Access first element of the list, position [0]. | |
| const face & | front () const |
| Access first element of the list. | |
| face & | back () |
| Access last element of the list, position [size()-1]. | |
| const face & | back () const |
| Access last element of the list, position [size()-1]. | |
| std::streamsize | size_bytes () const noexcept |
| Number of contiguous bytes for the List data. | |
| std::streamsize | byteSize () const |
| Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. | |
| void | checkStart (const label start) const |
| Check start is within valid range [0,size). | |
| void | checkSize (const label size) const |
| Check size is within valid range [0,size]. | |
| void | checkRange (const label start, const label len) const |
| Check that start and length define a valid range. | |
| void | checkIndex (const label i) const |
| Check index is within valid range [0,size). | |
| bool | uniform () const |
| True if all entries have identical values, and list is non-empty. | |
| bool | contains (const face &val) const |
| True if the value is contained in the list. | |
| bool | contains (const face &val, label pos, label len=-1) const |
| Is the value contained in the list? | |
| label | find (const face &val) const |
| Find index of the first occurrence of the value. | |
| label | find (const face &val, label pos, label len=-1) const |
| Find index of the first occurrence of the value. | |
| label | rfind (const face &val, label pos=-1) const |
| Find index of the last occurrence of the value. | |
| void | moveFirst (const label i) |
| Move element to the first position. | |
| void | moveLast (const label i) |
| Move element to the last position. | |
| void | swapFirst (const label i) |
| Swap element with the first element. Fatal on an empty list. | |
| void | swapLast (const label i) |
| Swap element with the last element. Fatal on an empty list. | |
| void | shallowCopy (face *__restrict__ ptr, const label len) noexcept |
| Copy the pointer and size. | |
| void | shallowCopy (std::nullptr_t) noexcept |
| Copy nullptr and zero size. | |
| void | shallowCopy (const UList< face > &list) noexcept |
| Copy the pointer and size held by the given UList. | |
| void | deepCopy (const UList< face > &list) |
| Copy elements of the given UList. Sizes must match! | |
| void | deepCopy (const IndirectListBase< face, Addr > &list) |
| Copy elements of the given indirect list. Sizes must match! | |
| SubList< face > | slice (const label pos, label len=-1) |
| Return SubList slice (non-const access) - no range checking. | |
| const SubList< face > | slice (const label pos, label len=-1) const |
| Return SubList slice (const access) - no range checking. | |
| SubList< face > | slice (const labelRange &range) |
| Return SubList slice (non-const access) - with range checking. | |
| const SubList< face > | slice (const labelRange &range) const |
| Return SubList slice (const access) - with range checking. | |
| face & | operator[] (const label i) |
| Return element of UList. | |
| const face & | operator[] (const label i) const |
| Return element of constant UList. | |
| operator const Foam::List< face > & () const | |
| Allow cast to a const List<T>&. | |
| void | operator= (const face &val) |
| Assignment of all entries to the given value. | |
| void | operator= (Foam::zero) |
| Assignment of all entries to zero. | |
| iterator | begin () noexcept |
| Return an iterator to begin traversing the UList. | |
| iterator | end () noexcept |
| Return an iterator to end traversing the UList. | |
| iterator | begin (const label i) noexcept |
| Return iterator at offset i from begin, clamped to [0,size] range. | |
| const_iterator | cbegin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | cend () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| const_iterator | begin () const noexcept |
| Return const_iterator to begin traversing the constant UList. | |
| const_iterator | end () const noexcept |
| Return const_iterator to end traversing the constant UList. | |
| const_iterator | cbegin (const label i) const noexcept |
| Return const_iterator at offset i from begin, clamped to [0,size] range. | |
| const_iterator | begin (const label i) const noexcept |
| Return const_iterator at offset i from begin, clamped to [0,size] range. | |
| reverse_iterator | rbegin () |
| Return reverse_iterator to begin reverse traversing the UList. | |
| reverse_iterator | rend () |
| Return reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | crbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | crend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| const_reverse_iterator | rbegin () const |
| Return const_reverse_iterator to begin reverse traversing the UList. | |
| const_reverse_iterator | rend () const |
| Return const_reverse_iterator to end reverse traversing the UList. | |
| bool | empty () const noexcept |
| True if List is empty (ie, size() is zero). | |
| label | size () const noexcept |
| The number of elements in the container. | |
| label | capacity () const noexcept |
| Size of the underlying storage. | |
| void | swap (UList< face > &list) noexcept |
| Swap content with another UList of the same type in constant time. | |
| bool | operator== (const UList< face > &list) const |
| Equality operation on ULists of the same type. | |
| bool | operator!= (const UList< face > &list) const |
| The opposite of the equality operation. Takes linear time. | |
| bool | operator< (const UList< face > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator> (const UList< face > &list) const |
| Compare two ULists lexicographically. Takes linear time. | |
| bool | operator<= (const UList< face > &list) const |
| Return true if !(a > b). Takes linear time. | |
| bool | operator>= (const UList< face > &list) const |
| Return true if !(a < b). Takes linear time. | |
| Istream & | readList (Istream &is) |
| Read List contents from Istream. | |
| void | writeEntry (const word &keyword, Ostream &os) const |
| Write the List as a dictionary entry with keyword. | |
| Ostream & | writeList (Ostream &os, const label shortLen=0) const |
| Write List, with line-breaks in ASCII when length exceeds shortLen. | |
| bool | all () const |
| True if all entries are 'true' or if the list is empty. | |
| bool | any () const |
| True if any entries are 'true'. | |
| bool | none () const |
| True if no entries are 'true'. | |
| bool | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. | |
| bool | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. | |
| bool | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. | |
| std::string_view | view () const |
| Return a string_view of the charList. Content is non-modifiable. | |
| face & | first () |
| Access first element of the list, position [0]. | |
| const face & | first () const |
| Access first element of the list. | |
| face & | last () |
| Access last element of the list, position [size()-1]. | |
| const face & | last () const |
| Access last element of the list, position [size()-1]. | |
| bool | found (const face &val, label pos=0) const |
| Same as contains(). | |
| auto | expr () const |
| Wrap value as expression. | |
| void | operator= (const Expression::ListExpression< E > &expr) |
| Assign values from expression. | |
| operator const Foam::List< face > & () const | |
| Allow cast to a const List<T>&. | |
| Public Member Functions inherited from surfaceFormatsCore | |
| surfaceFormatsCore ()=default | |
| Default construct. | |
| virtual | ~surfaceFormatsCore ()=default |
| Destructor. | |
| Public Member Functions inherited from isoSurfaceParams | |
| isoSurfaceParams (const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept | |
| Default construct, or with specified algorithm. | |
| isoSurfaceParams (const dictionary &dict, const isoSurfaceParams ¶ms=isoSurfaceParams()) | |
| Default construct, setting parameters from dictionary. | |
| isoSurfaceParams (const dictionary &dict, const algorithmType algo, const filterType filter=filterType::DIAGCELL) | |
| Default construct, setting parameters from dictionary. | |
| algorithmType | algorithm () const noexcept |
| Get current algorithm. | |
| void | algorithm (algorithmType algo) noexcept |
| Set algorithm. | |
| filterType | filter () const noexcept |
| Get current filter type. | |
| void | filter (filterType fltr) noexcept |
| Set filter type. | |
| bool | snap () const noexcept |
| Get point snapping flag. | |
| void | snap (bool on) noexcept |
| Set point snapping flag. | |
| scalar | mergeTol () const noexcept |
| Get current merge tolerance. | |
| void | mergeTol (const scalar relTol) noexcept |
| Set merge tolerance (cell/point algo). | |
| const boundBox & | getClipBounds () const noexcept |
| Get optional clipping bounding box. | |
| boundBox & | getClipBounds () noexcept |
| Access optional clipping bounding box. | |
| void | setClipBounds (const boundBox &bb) |
| Set optional clipping bounding box. | |
| void | print (Ostream &os) const |
| Print information about the settings. | |
Protected Member Functions | |
| void | inplaceSubsetMesh (const bitSet &include) |
| Subset the surface using the selected faces. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolateTemplate (const Field< Type > &cellData, const Field< Type > &pointData) const |
| Interpolates cellData and pointData fields. | |
| Protected Member Functions inherited from isoSurfaceBase | |
| template<class Type> | |
| tmp< Field< Type > > | interpolateTemplate (const VolumeField< Type > &cellValues, const Field< Type > &pointValues) const |
| Dummy templated interpolate method. | |
| isoSurfaceBase (const isoSurfaceBase &)=delete | |
| No copy construct. | |
| void | operator= (const isoSurfaceBase &)=delete |
| No copy assignment. | |
| Protected Member Functions inherited from MeshedSurface< face > | |
| void | transcribe (MeshedSurface< face > &surf) |
| Transfer points/zones from 'face' to other other shapes. | |
| void | checkZones (const bool verbose=true) |
| Sanity check/resizing on zones. | |
| pointField & | storedPoints () |
| Non-const access to global points. | |
| List< face > & | storedFaces () |
| Non-const access to the faces. | |
| labelList & | storedFaceIds () |
| Non-const access to face ids. | |
| surfZoneList & | storedZones () |
| Non-const access to the zones. | |
| void | sortFacesAndStore (DynamicList< face > &unsortedFaces, DynamicList< label > &zoneIds, DynamicList< label > &elemIds, bool sorted) |
| Sort faces by zones and store sorted faces. | |
| virtual void | remapFaces (const labelUList &faceMapNewToOld) |
| Set new zones from faceMap. | |
| void | transcribe (MeshedSurface< face > &surf) |
| void | transcribe (MeshedSurface< face > &surf) |
| void | transcribe (MeshedSurface< face > &surf) |
| Protected Member Functions inherited from UList< face > | |
| void | setAddressableSize (const label n) noexcept |
| Set addressed size to be inconsistent with allocated storage. | |
| void | size (const label n) |
| Older name for setAddressableSize. | |
| void | writeEntry (Ostream &os) const |
| Write the UList with its compound type. | |
| labelRange | validateRange (const labelRange &requestedRange) const |
| Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. | |
| void | fill_uniform (const face &val) |
| Assign all entries to the given value. | |
| void | fill_uniform (Foam::zero) |
| Assign all entries to zero. | |
Additional Inherited Members | |
| Public Types inherited from isoSurfaceBase | |
| enum | cutType : uint8_t { NOTCUT = 0 , CUT = 0x1 , TETCUT = 0x2 , SPHERE = 0x4 , ANYCUT = 0xF , UNVISITED = 0x10 , BLOCKED = 0x20 , SPECIAL = 0xF0 } |
| The type of cell/face cuts. More... | |
| enum | algorithmType |
| The algorithm types. More... | |
| enum class | filterType |
| The filtering (regularization) to apply. More... | |
| Public Types inherited from MeshedSurface< face > | |
| typedef face | face_type |
| The face type (same as the underlying PrimitivePatch). | |
| typedef point | point_type |
| The point type (same as the underlying PrimitivePatch). | |
| Public Types inherited from PrimitivePatch<::Foam::List< face >, pointField > | |
| enum | surfaceTopo |
| Enumeration defining the surface type. Used in check routines. More... | |
| typedef std::remove_reference< ::Foam::List< face > >::type::value_type | face_type |
| The face type. | |
| typedef std::remove_reference< pointField >::type::value_type | point_type |
| The point type. | |
| typedef ::Foam::List< face > | FaceListType |
| The face list type. | |
| typedef pointField | PointFieldType |
| The point field type. | |
| typedef face_type | FaceType |
| Deprecated(2020-03) prefer face_type typedef. | |
| Public Types inherited from List< face > | |
| typedef SubList< face > | subList |
| Declare type of subList. | |
| Public Types inherited from UList< face > | |
| typedef face | value_type |
| The value type the list contains. | |
| typedef face * | pointer |
| The pointer type for non-const access to value_type items. | |
| typedef const face * | const_pointer |
| The pointer type for const access to value_type items. | |
| typedef face & | reference |
| The type used for storing into value_type objects. | |
| typedef const face & | const_reference |
| The type used for reading from constant value_type objects. | |
| typedef face * | iterator |
| Random access iterator for traversing a UList. | |
| typedef const face * | const_iterator |
| Random access iterator for traversing a UList. | |
| typedef label | size_type |
| The type to represent the size of a UList. | |
| typedef label | difference_type |
| The difference between iterator objects. | |
| typedef std::reverse_iterator< iterator > | reverse_iterator |
| Reverse iterator (non-const access). | |
| typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
| Reverse iterator (const access). | |
| using | is_List |
| Have unique tag. | |
| Public Types inherited from isoSurfaceParams | |
| enum | algorithmType : uint8_t { ALGO_DEFAULT = 0 , ALGO_TOPO , ALGO_CELL , ALGO_POINT } |
| The algorithm types. More... | |
| enum class | filterType : uint8_t { NONE = 0 , CELL , DIAGCELL , NONMANIFOLD , PARTIAL = CELL , FULL = DIAGCELL , CLEAN = NONMANIFOLD } |
| The filtering (regularization) to apply. More... | |
| Static Public Member Functions inherited from isoSurfaceBase | |
| static autoPtr< isoSurfaceBase > | New (const isoSurfaceParams ¶ms, const volScalarField &cellValues, const scalarField &pointValues, const scalar iso, const bitSet &ignoreCells=bitSet()) |
| Create for specified algorithm type. | |
| static void | resetCuts (UList< cutType > &cuts) |
| Restore non-BLOCKED state to an UNVISITED state. | |
| Static Public Member Functions inherited from MeshedSurface< face > | |
| static wordHashSet | readTypes () |
| Known readable file-types, without friends or proxies. | |
| static wordHashSet | writeTypes () |
| Known writable file-types, without friends or proxies. | |
| static bool | canReadType (const word &fileType, bool verbose=false) |
| Can we read this file format? Also checks friend types. | |
| static bool | canWriteType (const word &fileType, bool verbose=false) |
| Can we write this file format? Also checks proxy types. | |
| static bool | canRead (const fileName &name, bool verbose=false) |
| Can we read this file format? | |
| static autoPtr< MeshedSurface > | New (const fileName &name, const word &fileType, bool mandatory=true) |
| Read construct from filename with given file type. | |
| static autoPtr< MeshedSurface > | New (const fileName &name) |
| Read construct from filename (file type implicit from extension). | |
| 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. | |
| 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. | |
| Static Public Member Functions inherited from List< face > | |
| static const List< face > & | null () noexcept |
| Return a null List (reference to a nullObject). Behaves like an empty List. | |
| Static Public Member Functions inherited from UList< face > | |
| static const UList< face > & | null () noexcept |
| Return a null UList (reference to a nullObject). Behaves like an empty UList. | |
| static constexpr label | max_size () noexcept |
| The size of the largest possible UList. | |
| Static Public Member Functions inherited from surfaceFormatsCore | |
| static bool | checkSupport (const wordHashSet &available, const word &fileType, const bool verbose=false, const char *functionName=nullptr) |
| Verbose checking of fileType in the list of available types. | |
| static fileName | findFile (const IOobject &io, const bool isGlobal=true) |
| Use IOobject information to resolve file to load from, or empty if the file does not exist. | |
| static fileName | findFile (const IOobject &io, const dictionary &dict, const bool isGlobal=true) |
| Use IOobject information to resolve file to load from, or empty if the file does not exist. | |
| Static Public Member Functions inherited from isoSurfaceParams | |
| static algorithmType | getAlgorithmType (const dictionary &dict, const algorithmType deflt) |
| Get 'isoMethod' or 'isoAlgorithm' as enumeration. | |
| static filterType | getFilterType (const dictionary &dict, const filterType deflt) |
| Get 'regularise' as bool or enumeration. | |
| Static Public Attributes inherited from surfaceFormatsCore | |
| static word | nativeExt |
| The file extension corresponding to 'native' surface format. | |
| Static Public Attributes inherited from isoSurfaceParams | |
| static const Enum< algorithmType > | algorithmNames |
| Names for the iso-surface algorithms. | |
| static const Enum< filterType > | filterNames |
| Names for the filtering types. | |
| Protected Types inherited from isoSurfaceBase | |
| typedef meshedSurface | Mesh |
| typedef cutType | cellCutType |
| Static Protected Member Functions inherited from isoSurfaceBase | |
| static label | countCutType (const UList< cutType > &cuts, const uint8_t maskValue) |
| Count the number of cuts matching the mask type. | |
| Static Protected Member Functions inherited from surfaceFormatsCore | |
| static string | getLineNoComment (ISstream &is, const char comment='#') |
| Read non-empty and non-comment line. | |
| template<class Container> | |
| static List< surfZone > | oneZone (const Container &container, const word &name="zone0") |
| Return a surfZone list with a single entry, the size of which corresponds to that of the container. | |
| static labelList | getSelectedPatches (const surfZoneList &patches, const wordRes &allow, const wordRes &deny=wordRes()) |
| Return ids for zone/patch that match by name. | |
| static fileName | relativeFilePath (const IOobject &io, const fileName &f, const bool isGlobal=true) |
| Return fileName. | |
| static fileName | checkFile (const IOobject &io, const bool isGlobal=true) |
| Return fileName to load IOobject from. | |
| static fileName | checkFile (const IOobject &io, const dictionary &dict, const bool isGlobal=true) |
| Return fileName to load IOobject from. | |
| Protected Attributes inherited from isoSurfaceBase | |
| const polyMesh & | mesh_ |
| Reference to mesh. | |
| const scalarField & | cVals_ |
| Cell values. | |
| const scalarField & | pVals_ |
| Point values. | |
| const scalar | iso_ |
| Iso value. | |
| bitSet | ignoreBoundaryFaces_ |
| Optional boundary faces to ignore. | |
| labelList | meshCells_ |
| For every face, the original cell in mesh. | |
Marching tet iso surface algorithm with optional filtering to keep only points originating from mesh edges.
Definition at line 55 of file isoSurfaceTopo.H.
| isoSurfaceTopo | ( | const polyMesh & | mesh, |
| const scalarField & | cellValues, | ||
| const scalarField & | pointValues, | ||
| const scalar | iso, | ||
| const isoSurfaceParams & | params = isoSurfaceParams(), | ||
| const bitSet & | ignoreCells = bitSet() ) |
Construct from cell and point values.
| ignoreCells | cells to ignore in the cellValues |
Control parameters include
Definition at line 899 of file isoSurfaceTopo.C.
References vtuCells::addPointCellLabels(), polyMeshTetDecomposition::adjustTetBasePtIs(), isoSurfaceBase::ANYCUT, UList< T >::back(), internalMeshWriter::beginPointData(), isoSurfaceBase::blockCells(), isoSurfaceBase::BLOCKED, isoSurfaceBase::calcCellCuts(), isoSurfaceBase::cellValues(), List< T >::clear(), DynamicList< T, SizeMin >::clearStorage(), bitSet::count(), isoSurfaceBase::CUT, isoSurfaceBase::cVals_, Foam::dimless, e, PrimitivePatch< FaceList, PointField >::edgeFaces(), PrimitivePatch<::Foam::List< face >, pointField >::edgeFaces(), PrimitivePatch< FaceList, PointField >::edges(), Foam::endl(), f(), isoSurfaceParams::filter(), isoSurfaceParams::filterNames, Pair< T >::first(), forAll, isoSurfaceParams::getClipBounds(), Foam::getMeshPointRef(), Foam::identity(), isoSurfaceBase::ignoreCyclics(), Foam::Info, Foam::inplaceSubset(), inplaceSubsetMesh(), HashSet< Key, Hash >::insert(), interpolateTemplate(), Foam::isA(), isoSurfaceBase::isoSurfaceBase(), isoSurfaceBase::mesh(), isoSurfaceBase::mesh_, isoSurfaceBase::meshCells_, PrimitivePatch< FaceList, PointField >::meshPoints(), Foam::minMax(), vtuSizing::nFieldPoints(), Foam::nl, IOobjectOption::NO_READ, IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, IOobject::objectRelPath(), volumeType::OUTSIDE, PrimitivePatch< FaceList, PointField >::points(), PrimitivePatch<::Foam::List< face >, pointField >::points(), isoSurfaceBase::pointValues(), Foam::Pout, GeometricField< Type, PatchField, GeoMesh >::primitiveFieldRef(), word::printf(), isoSurfaceBase::pVals_, tetrahedron< Point, PointRef >::quality(), Foam::refCast(), HashTable< T, Key, Hash >::reserve(), vtuCells::reset(), vtuCells::resetShapes(), PackedList< Width >::resize(), Foam::returnReduce(), Foam::returnReduceAnd(), s(), Pair< T >::second(), bitSet::set(), vtuSizing::setNumPoints(), HashTable< T, Key, Hash >::size(), IndirectListBase< T, Addr >::size(), MeshedSurface< Face >::size(), MeshedSurface< face >::size(), UList< T >::size(), isoSurfaceParams::snap(), HashTable< T, Key, Hash >::sortedToc(), bitSet::test(), UList< T >::test(), isoSurfaceBase::TETCUT, isoSurfaceBase::UNVISITED, regIOobject::write(), writer(), and Foam::Zero.
|
virtualdefault |
Destructor.
|
protected |
Subset the surface using the selected faces.
| [in] | include | the faces to select |
Definition at line 1609 of file isoSurfaceTopo.C.
References Foam::faceMap(), isoSurfaceBase::meshCells_, MeshedSurface< face >::subsetMesh(), and MeshedSurface< face >::transfer().
Referenced by isoSurfaceTopo().


|
protected |
Interpolates cellData and pointData fields.
Referenced by isoSurfaceTopo().

| TypeName | ( | "isoSurfaceTopo" | ) |
Runtime type information.
References isoSurfaceBase::cellValues(), isoSurfaceBase::mesh(), and isoSurfaceBase::pointValues().

|
inlinenoexcept |
Per point: originating mesh vertex/cell centre combination.
Vertices less than nPoints are mesh vertices (encoding above), duplicate vertices indicate a snapped point
Definition at line 282 of file isoSurfaceTopo.H.
References Foam::noexcept.
|
virtual |
interpolate scalar cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
|
virtual |
interpolate vector cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
|
virtual |
interpolate sphericalTensor cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
|
virtual |
interpolate symmTensor cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
|
virtual |
interpolate tensor cellValues, pointValues on iso-surface
Reimplemented from isoSurfaceBase.
| Foam::tmp< Foam::Field< Type > > interpolateTemplate | ( | const Field< Type > & | cellData, |
| const Field< Type > & | pointData ) const |
Definition at line 26 of file isoSurfaceTopoTemplates.C.
References isoSurfaceBase::cVals_, Pair< T >::first(), fld(), forAll, isoSurfaceBase::iso_, Foam::mag(), isoSurfaceBase::mesh_, isoSurfaceBase::New(), isoSurfaceBase::pVals_, s(), and Pair< T >::second().
