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... | |
Public Types inherited from PrimitivePatch<::Foam::List< labelledTri >, pointField > | |
enum | surfaceTopo |
Enumeration defining the surface type. Used in check routines. More... | |
typedef ::Foam::List< labelledTri > | FaceListType |
typedef std::remove_reference< ::Foam::List< labelledTri > >::type::value_type | FaceType |
typedef pointField | PointFieldType |
typedef std::remove_reference< pointField >::type::value_type | PointType |
Public Types inherited from List< labelledTri > | |
typedef SubList< labelledTri > | subList |
Declare type of subList. More... | |
Public Types inherited from UList< T > | |
typedef T | value_type |
Type of values the UList contains. More... | |
typedef T & | reference |
Type that can be used for storing into. More... | |
typedef const T & | const_reference |
Type that can be used for storing into. More... | |
typedef label | difference_type |
The type that can represent the difference between any two. More... | |
typedef label | size_type |
The type that can represent the size of a UList. More... | |
typedef T * | iterator |
Random access iterator for traversing UList. More... | |
typedef const T * | const_iterator |
Random access iterator for traversing UList. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator for reverse traversal of UList. More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator for reverse traversal of constant UList. More... | |
Public Member Functions | |
ClassName ("orientedSurface") | |
orientedSurface () | |
Construct null. 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 () | |
Construct null. More... | |
triSurface (const List< labelledTri > &, const geometricSurfacePatchList &, const pointField &) | |
Construct from triangles, patches, points. More... | |
triSurface (List< labelledTri > &, const geometricSurfacePatchList &, pointField &, const bool reuse) | |
Construct from triangles, patches, points. Reuse storage. More... | |
triSurface (List< labelledTri > &&, const geometricSurfacePatchList &, pointField &&) | |
Construct from triangles, patches, points. More... | |
triSurface (const List< labelledTri > &, const pointField &) | |
Construct from triangles, points. Set patchnames to default. More... | |
triSurface (const triFaceList &, const pointField &) | |
Construct from triangles, points. Set region to 0 and default. More... | |
triSurface (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
triSurface (Istream &) | |
Construct from Istream. More... | |
triSurface (const Time &d) | |
Construct from objectRegistry. More... | |
triSurface (const triSurface &) | |
Copy constructor. More... | |
triSurface (triSurface &&) | |
Move constructor. More... | |
virtual | ~triSurface () |
Destructor. More... | |
void | clearOut () |
void | clearTopology () |
void | clearPatchMeshAddr () |
const geometricSurfacePatchList & | patches () const |
geometricSurfacePatchList & | patches () |
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... | |
virtual void | movePoints (const pointField &) |
Move points. More... | |
virtual void | scalePoints (const scalar) |
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... | |
void | subsetMeshMap (const boolList &include, labelList &pointMap, labelList &faceMap) const |
'Create' sub mesh, including only faces for which More... | |
triSurface | subsetMesh (const boolList &include, labelList &pointMap, labelList &faceMap) const |
Return new surface. Returns pointMap, faceMap from. More... | |
faceList | faces () const |
Return the list of triangles as a faceList. More... | |
tmp< scalarField > | curvature () const |
Return the curvature of surface at the points. More... | |
void | write (Ostream &) const |
Write to Ostream in simple FOAM format. More... | |
void | write (const fileName &, const bool sortByRegion=false) const |
Generic write routine. Chooses writer based on extension. More... | |
void | write (const Time &) const |
Write to database. More... | |
void | writeStats (Ostream &) const |
Write some statistics. More... | |
void | operator= (const triSurface &) |
void | operator= (triSurface &&) |
Public Member Functions inherited from PrimitivePatch<::Foam::List< labelledTri >, pointField > | |
PrimitivePatch (const ::Foam::List< labelledTri > &faces, const Field< PointType > &points) | |
Construct from components. More... | |
PrimitivePatch (::Foam::List< labelledTri > &&faces, Field< PointType > &&points) | |
Move constructor from components. More... | |
PrimitivePatch (::Foam::List< labelledTri > &faces, Field< PointType > &points, const bool reuse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< ::Foam::List< labelledTri >, pointField > &) | |
Copy constructor. More... | |
PrimitivePatch (PrimitivePatch< ::Foam::List< labelledTri >, pointField > &&) | |
Move constructor. More... | |
autoPtr< PrimitivePatch< ::Foam::List< labelledTri >, pointField > > | clone () const |
Construct and return a clone. More... | |
~PrimitivePatch () | |
Destructor. More... | |
const Field< PointType > & | points () const |
Return reference to global points. More... | |
label | nPoints () const |
Return number of points supporting patch faces. More... | |
label | nEdges () const |
Return number of edges in patch. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
bool | isInternalEdge (const label edgeI) const |
Is internal edge? More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points,. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const List< FaceType > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. They are constructed. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. Given the global point index find its. More... | |
const Field< PointType > & | localPoints () const |
Return pointField of points in patch. More... | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. More... | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point index. More... | |
label | whichEdge (const edge &) const |
Given an edge in local point labels, return its. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges in the global edge list using. More... | |
const Field< PointType > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< PointType > & | faceAreas () const |
Return face areas for patch. More... | |
const Field< PointType > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< PointType > & | pointNormals () const |
Return point normals for patch. More... | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction=intersection::direction::vector) const |
Project vertices of patch onto another patch. More... | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &projectionDirection, const intersection::algorithm=intersection::algorithm::fullRay, const intersection::direction=intersection::direction::vector) const |
Project vertices of patch onto another patch. More... | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< PointType > &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... | |
void | clearOut () |
void | clearGeom () |
void | clearTopology () |
void | clearPatchMeshAddr () |
void | operator= (const PrimitivePatch< ::Foam::List< labelledTri >, pointField > &) |
Assignment operator. More... | |
void | operator= (PrimitivePatch< ::Foam::List< labelledTri >, pointField > &&) |
Move assignment operator. More... | |
Public Member Functions inherited from List< labelledTri > | |
List () | |
Null constructor. More... | |
List (const label) | |
Construct with given size. More... | |
List (const label, const labelledTri &) | |
Construct with given size and value for all elements. More... | |
List (const label, const zero) | |
Construct with given size initialising all elements to zero. More... | |
List (const List< labelledTri > &) | |
Copy constructor. More... | |
List (const List< T2 > &) | |
Copy constructor from list containing another type. More... | |
List (List< labelledTri > &&) | |
Move constructor. More... | |
List (List< labelledTri > &, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< labelledTri > &, const labelUList &mapAddressing) | |
Construct as subset. More... | |
List (InputIterator first, InputIterator last) | |
Construct given start and end iterators. More... | |
List (const FixedList< labelledTri, Size > &) | |
Construct as copy of FixedList<T, Size> More... | |
List (const PtrList< labelledTri > &) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< labelledTri > &) | |
Construct as copy of SLList<T> More... | |
List (const UIndirectList< labelledTri > &) | |
Construct as copy of UIndirectList<T> More... | |
List (const BiIndirectList< labelledTri > &) | |
Construct as copy of BiIndirectList<T> More... | |
List (std::initializer_list< labelledTri >) | |
Construct from an initialiser list. More... | |
List (Istream &) | |
Construct from Istream. More... | |
label | size () const |
Return the number of elements in the UList. More... | |
autoPtr< List< labelledTri > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | resize (const label) |
Alias for setSize(const label) More... | |
void | resize (const label, const labelledTri &) |
Alias for setSize(const label, const T&) More... | |
void | setSize (const label) |
Reset size of List. More... | |
void | setSize (const label, const labelledTri &) |
Reset size of List and value for new elements. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | append (const labelledTri &) |
Append an element at the end of the list. More... | |
void | append (const UList< labelledTri > &) |
Append a List at the end of this list. More... | |
void | append (const UIndirectList< labelledTri > &) |
Append a UIndirectList at the end of this list. More... | |
void | transfer (List< labelledTri > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (DynamicList< labelledTri, SizeInc, SizeMult, SizeDiv > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (SortableList< labelledTri > &) |
Transfer the contents of the argument List into this list. More... | |
labelledTri & | newElmt (const label) |
Return subscript-checked element of UList. More... | |
void | shallowCopy (const UList< labelledTri > &)=delete |
Disallow implicit shallowCopy. More... | |
void | operator= (const UList< labelledTri > &) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< labelledTri > &) |
Assignment operator. Takes linear time. More... | |
void | operator= (List< labelledTri > &&) |
Move assignment operator. More... | |
void | operator= (const SLList< labelledTri > &) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const UIndirectList< labelledTri > &) |
Assignment to UIndirectList operator. Takes linear time. More... | |
void | operator= (const BiIndirectList< labelledTri > &) |
Assignment to BiIndirectList operator. Takes linear time. More... | |
void | operator= (std::initializer_list< labelledTri >) |
Assignment to an initialiser list. More... | |
void | operator= (const labelledTri &) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
Public Member Functions inherited from UList< T > | |
UList () | |
Null constructor. More... | |
UList (T *__restrict__ v, label size) | |
Construct from components. More... | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. More... | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. More... | |
std::streamsize | byteSize () const |
Return the binary size in number of characters of the UList. More... | |
const T * | cdata () const |
Return a const pointer to the first data element,. More... | |
T * | data () |
Return a pointer to the first data element,. More... | |
T & | first () |
Return the first element of the list. More... | |
const T & | first () const |
Return first element of the list. More... | |
T & | last () |
Return the last element of the list. More... | |
const T & | last () const |
Return the last element of the list. More... | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1) More... | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size) More... | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1) More... | |
void | shallowCopy (const UList< T > &) |
Copy the pointer held by the given UList. More... | |
void | deepCopy (const UList< T > &) |
Copy elements of the given UList. More... | |
T & | operator[] (const label) |
Return element of UList. More... | |
const T & | operator[] (const label) const |
Return element of constant UList. More... | |
operator const Foam::List< T > & () const | |
Allow cast to a const List<T>&. More... | |
void | operator= (const T &) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
iterator | begin () |
Return an iterator to begin traversing the UList. More... | |
iterator | end () |
Return an iterator to end traversing the UList. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cend () const |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | end () const |
Return const_iterator to end traversing the constant UList. More... | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. More... | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
label | size () const |
Return the number of elements in the UList. More... | |
label | max_size () const |
Return size of the largest possible UList. More... | |
bool | empty () const |
Return true if the UList is empty (ie, size() is zero) More... | |
void | swap (UList< T > &) |
Swap two ULists of the same type in constant time. More... | |
bool | operator== (const UList< T > &) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< T > &) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< T > &) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< T > &) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< T > &) const |
Return true if !(a < b). Takes linear time. More... | |
template<> | |
const bool & | operator[] (const label i) const |
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 Public Member Functions inherited from List< labelledTri > | |
static const List< labelledTri > & | null () |
Return a null List. More... | |
Static Public Member Functions inherited from UList< T > | |
static const UList< T > & | null () |
Return a null UList. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from triSurface | |
pointField & | storedPoints () |
Non-const access to global points. More... | |
List< Face > & | storedFaces () |
Non-const access to the faces. More... | |
Protected Member Functions inherited from List< labelledTri > | |
void | size (const label) |
Override size to be inconsistent with allocated storage. More... | |
Given point flip all faces such that normals point in same direction.
Definition at line 52 of file orientedSurface.H.
enum sideStat |
Enumeration listing whether face needs to be flipped.
Enumerator | |
---|---|
UNVISITED | |
FLIP | |
NOFLIP |
Definition at line 61 of file orientedSurface.H.
orientedSurface | ( | ) |
Construct null.
Definition at line 405 of file orientedSurface.C.
Referenced by orientedSurface::orientedSurface().
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 413 of file orientedSurface.C.
References orientedSurface::orient(), and orientedSurface::orientedSurface().
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 427 of file orientedSurface.C.
References VectorSpace< Form, Cmpt, Ncmpts >::max, PrimitivePatch< FaceList, PointField >::meshPoints(), orientedSurface::orient(), 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 446 of file orientedSurface.C.
References PointHit< Point >::distance(), forAll, Foam::minDist(), PrimitivePatch< FaceList, PointField >::points(), PointHit< Point >::rawPoint(), List< T >::size(), and orientedSurface::UNVISITED.
Referenced by NamedEnum< compressibleField, 8 >::names(), and orientedSurface::orientedSurface().
|
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 516 of file orientedSurface.C.
References PrimitivePatch< FaceList, PointField >::edgeFaces(), orientedSurface::FLIP, forAll, triSurface::markZones(), PrimitivePatch< FaceList, PointField >::nEdges(), orientedSurface::NOFLIP, List< T >::size(), and orientedSurface::UNVISITED.