Given point flip all faces such that normals point in same direction. More...
Public Types | |
| enum | sideStat { UNVISITED, FLIP, NOFLIP } |
| Enumeration listing whether face needs to be flipped. More... | |
Public Types inherited from triSurface | |
| typedef bool | BoundaryMesh |
| Placeholder only, but do not remove - it is needed for GeoMesh. More... | |
| typedef labelledTri | face_type |
| The face type (same as the underlying PrimitivePatch) More... | |
| typedef point | point_type |
| The point type (same as the underlying PrimitivePatch) More... | |
Public Types inherited from PrimitivePatch<::Foam::List< labelledTri >, pointField > | |
| enum | surfaceTopo |
| Enumeration defining the surface type. Used in check routines. More... | |
| typedef std::remove_reference< ::Foam::List< labelledTri > >::type::value_type | face_type |
| The face type. More... | |
| typedef std::remove_reference< pointField >::type::value_type | point_type |
| The point type. More... | |
| typedef ::Foam::List< labelledTri > | FaceListType |
| The face list type. More... | |
| typedef pointField | PointFieldType |
| The point field type. More... | |
| typedef face_type | FaceType |
| Deprecated(2020-03) prefer face_type typedef. More... | |
Public Types inherited from List< labelledTri > | |
| typedef SubList< labelledTri > | subList |
| Declare type of subList. More... | |
Public Member Functions | |
| ClassName ("orientedSurface") | |
| orientedSurface () | |
| Default construct. More... | |
| orientedSurface (const triSurface &, const point &samplePoint, const bool orientOutside=true) | |
| Construct from triSurface and sample point which is either. More... | |
| orientedSurface (const triSurface &, const bool orientOutside=true) | |
| Construct from triSurface. Calculates outside point as being. More... | |
Public Member Functions inherited from triSurface | |
| ClassName ("triSurface") | |
| Runtime type information. More... | |
| triSurface () | |
| Default construct. More... | |
| triSurface (const triSurface &surf) | |
| Copy construct. More... | |
| triSurface (triSurface &&surf) | |
| Move construct. More... | |
| triSurface (const List< labelledTri > &triangles, const geometricSurfacePatchList &patches, const pointField &pts) | |
| Construct from triangles, patches, points. More... | |
| triSurface (List< labelledTri > &triangles, const geometricSurfacePatchList &patches, pointField &pts, const bool reuse) | |
| Construct from triangles, patches, points. Reuse storage. More... | |
| triSurface (const List< labelledTri > &triangles, const pointField &pts) | |
| triSurface (const triFaceList &triangles, const pointField &pts) | |
| triSurface (const fileName &name, const scalar scaleFactor=-1) | |
| Construct from file name (uses extension to determine type). More... | |
| triSurface (const fileName &name, const word &fileType, const scalar scaleFactor=-1) | |
| Construct from file name with given format type. More... | |
| triSurface (Istream &is) | |
| Construct from Istream. More... | |
| triSurface (const Time &d) | |
| Construct from objectRegistry by reading an ".ftr" file. More... | |
| triSurface (const IOobject &io, const dictionary &dict, const bool isGlobal=true) | |
| Read construct using IO to find the file location. More... | |
| virtual | ~triSurface () |
| Destructor. More... | |
| void | clearOut () |
| void | clearTopology () |
| void | clearPatchMeshAddr () |
| void | swap (triSurface &surf) |
| const geometricSurfacePatchList & | patches () const |
| geometricSurfacePatchList & | patches () |
| const List< labelledTri > & | surfFaces () const |
| Return const access to the faces. More... | |
| const labelListList & | sortedEdgeFaces () const |
| Return edge-face addressing sorted (for edges with more than. More... | |
| const labelList & | edgeOwner () const |
| If 2 face neighbours: label of face where ordering of edge. 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... | |
| List< surfZone > | sortedZones (labelList &faceMap) const |
| Sort faces according to zoneIds. More... | |
| void | triFaceFaces (List< face > &plainFaceList) const |
| Create a list of faces from the triFaces. More... | |
| virtual void | movePoints (const pointField &pts) |
| Move points. More... | |
| virtual void | swapPoints (pointField &pts) |
| Swap points. Similar to movePoints, but returns the old points. More... | |
| virtual void | scalePoints (const scalar scaleFactor) |
| Scale points. A non-positive factor is ignored. More... | |
| void | checkTriangles (const bool verbose) |
| Check/remove duplicate/degenerate triangles. More... | |
| void | checkEdges (const bool verbose) |
| Check triply (or more) connected edges. More... | |
| void | cleanup (const bool verbose) |
| Remove non-valid triangles. More... | |
| void | markZone (const boolList &borderEdge, const label facei, const label currentZone, labelList &faceZone) const |
| Fill faceZone with currentZone for every face reachable. More... | |
| label | markZones (const boolList &borderEdge, labelList &faceZone) const |
| (size and) fills faceZone with zone of face. Zone is area More... | |
| template<class BoolListType > | |
| void | subsetMeshMap (const BoolListType &include, labelList &pointMap, labelList &faceMap) const |
| Create mappings for a sub-surface. More... | |
| triSurface | subsetMesh (const UList< bool > &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. More... | |
| triSurface | subsetMesh (const bitSet &include, labelList &pointMap, labelList &faceMap) const |
| Return a new surface subsetted on the selected faces. More... | |
| triSurface | subsetMesh (const UList< bool > &include) const |
| Return a new surface subsetted on the selected faces. More... | |
| triSurface | subsetMesh (const bitSet &include) const |
| Return a new surface subsetted on the selected faces. More... | |
| triSurface | subsetMesh (const wordRes &includeNames, const wordRes &excludeNames=wordRes()) const |
| Return a new surface subsetted on the selected patch names. More... | |
| void | swapFaces (List< labelledTri > &faceLst) |
| Swap the list of faces being addressed. More... | |
| void | transfer (triSurface &surf) |
| Alter contents by transferring (triangles, points) components. More... | |
| void | transfer (MeshedSurface< labelledTri > &surf) |
| Alter contents by transferring (triangles, points) components. More... | |
| void | write (Ostream &os) const |
| Write to Ostream in simple OpenFOAM format. More... | |
| void | write (const fileName &, const bool sortByRegion=false) const |
| Generic write routine (uses extension to determine type). More... | |
| void | write (const fileName &filename, const word &fileType, const bool sortByRegion=false) const |
| Generic write routine for given format type. More... | |
| void | write (const Time &d) const |
| Write to database. More... | |
| void | writeStats (Ostream &os) const |
| Write some statistics. More... | |
| void | operator= (const triSurface &surf) |
| Copy assignment. More... | |
| void | operator= (triSurface &&surf) |
| Move assignment. More... | |
| void | operator= (MeshedSurface< labelledTri > &&surf) |
| Move assignment. More... | |
Public Member Functions inherited from PrimitivePatch<::Foam::List< labelledTri >, pointField > | |
| PrimitivePatch (const ::Foam::List< labelledTri > &faces, const pointField &points) | |
| Construct from components. More... | |
| PrimitivePatch (::Foam::List< labelledTri > &&faces, const pointField &points) | |
| Construct from components, transferring faces. More... | |
| PrimitivePatch (::Foam::List< labelledTri > &faces, pointField &points, const bool reuse) | |
| Construct from components, reuse storage. More... | |
| PrimitivePatch (const PrimitivePatch< ::Foam::List< labelledTri >, pointField > &pp) | |
| Copy construct. More... | |
| virtual | ~PrimitivePatch () |
| Destructor. More... | |
| void | clearOut () |
| void | clearGeom () |
| void | clearTopology () |
| void | clearPatchMeshAddr () |
| void | swap (PrimitivePatch &)=delete |
| Suppress direct swapping, since storage containers may be const. More... | |
| const Field< point_type > & | 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, address into LOCAL point list. 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< face_type > & | localFaces () const |
| Return patch faces addressing into local point list. More... | |
| const labelList & | meshPoints () const |
| Return labelList of mesh points in patch. More... | |
| const Map< label > & | meshPointMap () const |
| Mesh point map. More... | |
| const Field< point_type > & | 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 |
| labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
| labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
| const Field< point_type > & | faceCentres () const |
| Return face centres for patch. More... | |
| const Field< point_type > & | faceAreas () const |
| Return face area vectors for patch. More... | |
| const Field< scalar > & | magFaceAreas () const |
| Return face area magnitudes for patch. More... | |
| const Field< point_type > & | faceNormals () const |
| Return face unit normals for patch. More... | |
| const Field< point_type > & | pointNormals () const |
| Return point normals for patch. More... | |
| bool | hasFaceAreas () const |
| bool | hasFaceCentres () const |
| bool | hasFaceNormals () const |
| bool | hasPointNormals () 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. More... | |
| Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< ::Foam::List< labelledTri >, pointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
| 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. More... | |
| Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< typename Foam::PrimitivePatch< ::Foam::List< labelledTri >, pointField >::point_type > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
| 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... | |
| virtual void | movePoints (const Field< point_type > &) |
| Correct patch after moving points. More... | |
| void | operator= (const PrimitivePatch< ::Foam::List< labelledTri >, pointField > &rhs) |
| Copy assign faces. Leave points alone (could be a reference). More... | |
| void | operator= (PrimitivePatch< ::Foam::List< labelledTri >, pointField > &&rhs) |
| Move assign faces. Leave points alone (could be a reference). More... | |
Public Member Functions inherited from List< labelledTri > | |
| constexpr | List () noexcept |
| Null constructor. More... | |
| List (const label len) | |
| Construct with given size. More... | |
| List (const label len, const labelledTri &val) | |
| Construct with given size and value for all elements. More... | |
| List (const label len, const zero) | |
| Construct with given size initializing all elements to zero. More... | |
| List (const one, const labelledTri &val) | |
| Construct with length=1, copying the value as the only content. More... | |
| List (const one, labelledTri &&val) | |
| Construct with length=1, moving the value as the only content. More... | |
| List (const one, const zero) | |
| Construct with length=1, initializing content to zero. More... | |
| List (const List< labelledTri > &a) | |
| Copy construct from list. More... | |
| List (const UList< labelledTri > &a) | |
| Copy construct contents from list. More... | |
| List (List< labelledTri > &a, bool reuse) | |
| Construct as copy or re-use as specified. More... | |
| List (const UList< labelledTri > &list, const labelUList &indices) | |
| Copy construct subset of list. More... | |
| List (const UList< labelledTri > &list, const FixedList< label, N > &indices) | |
| Copy construct subset of list. More... | |
| List (InputIterator begIter, InputIterator endIter) | |
| Construct given begin/end iterators. More... | |
| List (const FixedList< labelledTri, N > &list) | |
| Construct as copy of FixedList<T, N> More... | |
| List (const PtrList< labelledTri > &list) | |
| Construct as copy of PtrList<T> More... | |
| List (const SLList< labelledTri > &list) | |
| Construct as copy of SLList<T> More... | |
| List (const IndirectListBase< labelledTri, Addr > &list) | |
| Construct as copy of IndirectList contents. More... | |
| List (std::initializer_list< labelledTri > list) | |
| Construct from an initializer list. More... | |
| List (List< labelledTri > &&list) | |
| Move construct from List. More... | |
| List (DynamicList< labelledTri, SizeMin > &&list) | |
| Move construct from DynamicList. More... | |
| List (SortableList< labelledTri > &&list) | |
| Move construct from SortableList. More... | |
| List (SLList< labelledTri > &&list) | |
| Move construct from SLList. More... | |
| List (Istream &is) | |
| Construct from Istream. More... | |
| autoPtr< List< labelledTri > > | clone () const |
| Clone. More... | |
| ~List () | |
| Destructor. More... | |
| void | resize (const label newSize) |
| Adjust allocated size of list. More... | |
| void | resize (const label newSize, const labelledTri &val) |
| Adjust allocated size of list and set val for new elements. More... | |
| void | resize (const label newSize) |
| void | setSize (const label newSize) |
| Alias for resize(const label) More... | |
| void | setSize (const label newSize, const labelledTri &val) |
| Alias for resize(const label, const T&) More... | |
| void | clear () |
| Clear the list, i.e. set size to zero. More... | |
| void | append (const labelledTri &val) |
| Append an element at the end of the list. More... | |
| void | append (labelledTri &&val) |
| Move append an element at the end of the list. More... | |
| void | append (const UList< labelledTri > &list) |
| Append a List to the end of this list. More... | |
| void | append (const IndirectListBase< labelledTri, Addr > &list) |
| Append IndirectList contents at the end of this list. More... | |
| void | transfer (List< labelledTri > &list) |
| void | transfer (DynamicList< labelledTri, SizeMin > &list) |
| void | transfer (SortableList< labelledTri > &list) |
| labelledTri & | newElmt (const label i) |
| void | operator= (const UList< labelledTri > &a) |
| Assignment to UList operator. Takes linear time. More... | |
| void | operator= (const List< labelledTri > &list) |
| Assignment operator. Takes linear time. More... | |
| void | operator= (const SLList< labelledTri > &list) |
| Assignment to SLList operator. Takes linear time. More... | |
| void | operator= (const IndirectListBase< labelledTri, Addr > &list) |
| Assignment from IndirectList. Takes linear time. More... | |
| void | operator= (const FixedList< labelledTri, N > &list) |
| Copy assignment from FixedList. More... | |
| void | operator= (std::initializer_list< labelledTri > list) |
| Assignment to an initializer list. More... | |
| void | operator= (const labelledTri &val) |
| Assignment of all entries to the given value. More... | |
| void | operator= (const zero) |
| Assignment of all entries to zero. More... | |
| void | operator= (List< labelledTri > &&list) |
| Move assignment. Takes constant time. More... | |
| void | operator= (DynamicList< labelledTri, SizeMin > &&list) |
| Move assignment. Takes constant time. More... | |
| void | operator= (SortableList< labelledTri > &&list) |
| Move assignment. Takes constant time. More... | |
| void | operator= (SLList< labelledTri > &&list) |
| Move assignment. Takes constant time. More... | |
| void | shallowCopy (const UList< labelledTri > &)=delete |
| No shallowCopy permitted. More... | |
| std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
| A bitSet::set() method for a list of bool. More... | |
Static Public Member Functions | |
| static bool | orient (triSurface &, const point &, const bool orientOutside) |
| Flip faces such that normals are consistent with point: More... | |
| static bool | orient (triSurface &s, const triSurfaceSearch &querySurf, const point &samplePoint, const bool orientOutside) |
| Flip faces such that normals are consistent with point: More... | |
Static Public Member Functions inherited from triSurface | |
| static fileName | triSurfInstance (const Time &) |
| Name of triSurface directory to use. More... | |
| static wordHashSet | readTypes () |
| Known readable file-types, including via friends or proxies. More... | |
| static wordHashSet | writeTypes () |
| Known writable file-types, including via friends or proxies. More... | |
| static bool | canReadType (const word &fileType, bool verbose=false) |
| Can we read this file format? More... | |
| static bool | canWriteType (const word &fileType, bool verbose=false) |
| Can we write this file format? More... | |
| static bool | canRead (const fileName &name, bool verbose=false) |
| Can we read this file format? More... | |
| static fileName | relativeFilePath (const IOobject &io, const fileName &f, const bool isGlobal=true) |
| Return fileName. More... | |
| static fileName | checkFile (const IOobject &io, const bool isGlobal=true) |
| Return fileName to load IOobject from. More... | |
| static fileName | checkFile (const IOobject &io, const dictionary &dict, const bool isGlobal=true) |
| Return fileName to load IOobject from. More... | |
| static fileName | findFile (const IOobject &io, const bool isGlobal=true) |
| static fileName | findFile (const IOobject &io, const dictionary &dict, const bool isGlobal=true) |
| static autoPtr< triSurface > | New (const fileName &name, const word &fileType) |
| Read construct from filename with given file type. More... | |
| static autoPtr< triSurface > | New (const fileName &name) |
| Read construct from filename (file type implicit from extension) More... | |
Static Public Member Functions inherited from List< labelledTri > | |
| static const List< labelledTri > & | null () |
| Return a null List. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from triSurface | |
| pointField & | storedPoints () |
| Non-const access to global points. More... | |
| List< labelledTri > & | storedFaces () |
| Non-const access to the faces. More... | |
Given point flip all faces such that normals point in same direction.
Definition at line 55 of file orientedSurface.H.
| enum sideStat |
Enumeration listing whether face needs to be flipped.
| Enumerator | |
|---|---|
| UNVISITED | |
| FLIP | |
| NOFLIP | |
Definition at line 64 of file orientedSurface.H.
| orientedSurface | ( | ) |
Default construct.
Definition at line 411 of file orientedSurface.C.
| orientedSurface | ( | const triSurface & | surf, |
| const point & | samplePoint, | ||
| const bool | orientOutside = true |
||
| ) |
Construct from triSurface and sample point which is either.
outside (orientOutside = true) or inside (orientOutside = false). Uses orient.
Definition at line 419 of file orientedSurface.C.
| orientedSurface | ( | const triSurface & | surf, |
| const bool | orientOutside = true |
||
| ) |
Construct from triSurface. Calculates outside point as being.
outside the bounding box of the surface.
Definition at line 433 of file orientedSurface.C.
References VectorSpace< Form, Cmpt, Ncmpts >::max, PrimitivePatch< FaceList, PointField >::meshPoints(), and PrimitivePatch< FaceList, PointField >::points().
| ClassName | ( | "orientedSurface" | ) |
|
static |
Flip faces such that normals are consistent with point:
orientOutside=true : point outside surface orientOutside=false : point inside surface Bases orientation on normal on nearest point (linear search) and walks to rest. Surface needs to be manifold.
Definition at line 452 of file orientedSurface.C.
References PointHit< Point >::distance(), forAll, PointHit< Point >::rawPoint(), and s.
|
static |
Flip faces such that normals are consistent with point:
orientOutside=true : point outside surface orientOutside=false : point inside surface Uses intersection count to orient. Handles open surfaces.
Definition at line 522 of file orientedSurface.C.