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.