Container for searchableSurfaces. The collection is specified as a dictionary. For example,. More...
Public Member Functions | |
ClassName ("searchableSurfaces") | |
searchableSurfaces (const label) | |
Construct with length specified. Fill later. More... | |
searchableSurfaces (const IOobject &, const dictionary &, const bool singleRegionName) | |
Construct from dictionary. More... | |
const wordList & | names () const |
Surface names, not region names. More... | |
wordList & | names () |
Surface names, not region names. More... | |
const List< wordList > & | regionNames () const |
Region names per surface. More... | |
List< wordList > & | regionNames () |
Region names per surface. More... | |
label | findSurfaceID (const word &name) const |
Find index of surface. Return -1 if not found. More... | |
label | findSurfaceRegionID (const word &surfaceName, const word ®ionName) const |
void | findAnyIntersection (const pointField &start, const pointField &end, labelList &surfaces, List< pointIndexHit > &) const |
Find any intersection. Return hit point information and. More... | |
void | findAllIntersections (const pointField &start, const pointField &end, labelListList &surfaces, List< List< pointIndexHit >> &) const |
Find all intersections in order from start to end. Returns for. More... | |
void | findNearestIntersection (const pointField &start, const pointField &end, labelList &surface1, List< pointIndexHit > &hit1, labelList &surface2, List< pointIndexHit > &hit2) const |
void | findNearest (const pointField &, const scalarField &nearestDistSqr, labelList &surfaces, List< pointIndexHit > &) const |
Find nearest. Return -1 (and a miss()) or surface and nearest. More... | |
void | findNearest (const labelListList ®ionIndices, const pointField &samples, const scalarField &nearestDistSqr, labelList &nearestSurfaces, List< pointIndexHit > &nearestInfo) const |
boundBox | bounds () const |
Calculate bounding box. More... | |
bool | checkClosed (const bool report) const |
Are all surfaces closed and manifold. More... | |
bool | checkNormalOrientation (const bool report) const |
Are all (triangulated) surfaces consistent normal orientation. More... | |
bool | checkSizes (const scalar maxRatio, const bool report) const |
Are all bounding boxes of similar size. More... | |
bool | checkIntersection (const scalar tol, autoPtr< coordSetWriter > &setWriter, const bool report) const |
Do surfaces self-intersect or intersect others. More... | |
bool | checkQuality (const scalar minQuality, const bool report) const |
Check triangle quality. More... | |
label | checkTopology (const bool report) const |
All topological checks. Return number of failed checks. More... | |
label | checkGeometry (const scalar maxRatio, const scalar tolerance, autoPtr< coordSetWriter > &setWriter, const scalar minQuality, const bool report) const |
All geometric checks. Return number of failed checks. More... | |
void | writeStats (const List< wordList > &, Ostream &) const |
Write some stats. More... | |
const searchableSurface & | operator[] (const word &) const |
Return const reference to searchableSurface by name. More... | |
searchableSurface & | operator[] (const word &) |
Return reference to searchableSurface by name. More... | |
Public Member Functions inherited from PtrList< searchableSurface > | |
constexpr | PtrList () noexcept |
Default construct. More... | |
PtrList (const label len) | |
Construct with specified size, each element initialized to nullptr. More... | |
PtrList (const PtrList< searchableSurface > &list) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< searchableSurface > &&list) noexcept | |
Move construct. More... | |
PtrList (UList< searchableSurface * > &list) | |
Take ownership of pointers in the list, set old pointers to null. More... | |
PtrList (const PtrList< searchableSurface > &list, const CloneArg &cloneArgs) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< searchableSurface > &list, bool reuse) | |
Construct as copy or re-use as specified. More... | |
PtrList (const SLPtrList< searchableSurface > &list) | |
Copy construct using 'clone()' on each element of SLPtrList<T> More... | |
PtrList (Istream &is, const INew &inew) | |
Construct from Istream using given Istream constructor class. More... | |
PtrList (Istream &is) | |
Construct from Istream using default Istream constructor class. More... | |
~PtrList () | |
Destructor. Frees all pointers. More... | |
PtrList< searchableSurface > | clone (Args &&... args) const |
Make a copy by cloning each of the list elements. More... | |
Foam::PtrList< searchableSurface > | clone (Args &&... args) const |
const searchableSurface * | set (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
autoPtr< searchableSurface > | set (const label i, searchableSurface *ptr) |
Set element to given pointer and return old element (can be null) More... | |
autoPtr< searchableSurface > | set (const label i, std::unique_ptr< searchableSurface > &&ptr) |
Set element to given unique_ptr and return old element. More... | |
autoPtr< searchableSurface > | set (const label i, autoPtr< searchableSurface > &&ptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< searchableSurface > | set (const label i, const refPtr< searchableSurface > &ptr) |
Set element to given refPtr and return old element. More... | |
autoPtr< searchableSurface > | set (const label i, const tmp< searchableSurface > &ptr) |
Set element to given tmp and return old element. More... | |
autoPtr< searchableSurface > | set (const label i, autoPtr< searchableSurface > &ptr) |
Set element to given autoPtr and return old element. More... | |
void | clear () |
Clear the PtrList. Delete allocated entries and set size to zero. More... | |
void | free () |
Free memory and nullify all entries. Does not change the list size. More... | |
void | resize (const label newLen) |
Adjust size of PtrList. More... | |
void | resize_null (const label newLen) |
Set the addressed list to the given size, deleting all existing entries. Afterwards the list contains all nullptr entries. More... | |
searchableSurface & | emplace_back (Args &&... args) |
Construct and append an element to the end of the list, return reference to the new list element. More... | |
void | push_back (searchableSurface *ptr) |
Append an element to the end of the list. More... | |
void | push_back (std::unique_ptr< searchableSurface > &&ptr) |
Move append an element to the end of the list. More... | |
void | push_back (autoPtr< searchableSurface > &&ptr) |
Move append an element to the end of the list. More... | |
void | push_back (const refPtr< searchableSurface > &ptr) |
Move or clone append a refPtr to the end of the list. More... | |
void | push_back (const tmp< searchableSurface > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | push_back (PtrList< searchableSurface > &&other) |
Move append another list to the end of this list. More... | |
void | push_back (autoPtr< searchableSurface > &ptr)=delete |
Disallow push_back with autoPtr without std::move. More... | |
searchableSurface & | emplace_set (const label i, Args &&... args) |
Construct and set a new element at given position, (discard old element at that location). More... | |
searchableSurface & | emplace (const label i, Args &&... args) |
Same as emplace_set() More... | |
searchableSurface & | try_emplace (const label i, Args &&... args) |
Like emplace_set() but will not overwrite an occupied (non-null) location. More... | |
autoPtr< searchableSurface > | release (const label i) |
Release ownership of the pointer at the given position. More... | |
void | transfer (PtrList< searchableSurface > &list) |
Transfer into this list and annul the argument list. More... | |
void | operator= (const PtrList< searchableSurface > &list) |
Copy assignment. More... | |
void | operator= (PtrList< searchableSurface > &&list) |
Move assignment. More... | |
void | setSize (const label newLen) |
Same as resize() More... | |
void | append (autoPtr< searchableSurface > &ptr) |
Move append an element to the end of the list. More... | |
void | append (searchableSurface *ptr) |
Append an element to the end of the list. More... | |
void | append (std::unique_ptr< searchableSurface > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (autoPtr< searchableSurface > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (const refPtr< searchableSurface > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | append (const tmp< searchableSurface > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | append (PtrList< searchableSurface > &&other) |
Move append another list to the end of this list. More... | |
Public Member Functions inherited from UPtrList< T > | |
constexpr | UPtrList () noexcept=default |
Default construct. More... | |
UPtrList (const label len) | |
Construct with specified size and set all entries to nullptr . More... | |
UPtrList (const UPtrList< T > &list) | |
Copy construct (shallow copies addresses) More... | |
UPtrList (UPtrList< T > &&list) noexcept | |
Move construct. More... | |
UPtrList (UPtrList< T > &list, bool reuse) | |
Construct as shallow copy or re-use as specified. More... | |
UPtrList (PtrList< T > &list) | |
Shallow copy from PtrList. More... | |
UPtrList (const UList< T *> &list) | |
Construct from UList of pointers (shallow copy) More... | |
UPtrList (UList< T > &list) | |
Construct from UList, taking the address of each list element. More... | |
bool | empty () const noexcept |
True if the list is empty (ie, size() is zero) More... | |
label | size () const noexcept |
The number of entries in the list. More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
label | count_nonnull () const noexcept |
The number of non-nullptr entries in the list. More... | |
T & | front () |
Reference to the first element of the list. More... | |
const T & | front () const |
Reference to first element of the list. More... | |
T & | back () |
Reference to the last element of the list. More... | |
const T & | back () const |
Reference to the last element of the list. More... | |
const T * | test (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
const T * | get (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
T * | get (const label i) |
Return pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
const T * | set (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
void | clear () |
Set list size to zero. More... | |
void | free () |
Nullify all entries. Does not change the list size. More... | |
void | resize (const label newLen) |
Change the size of the list. Any new entries are nullptr . More... | |
void | resize_null (const label newLen) |
Set the list to the given size and set all entries to nullptr . More... | |
label | squeezeNull () |
Squeeze out nullptr entries in the list of pointers after which any null pointers will be at the end of the list. More... | |
void | trimTrailingNull () |
Reduce addressable list size to ignore any trailing null pointers. More... | |
void | push_back (T *ptr) |
Append an element to the end of the list. More... | |
void | push_back (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
void | swap (UPtrList< T > &list) noexcept |
Swap content. More... | |
void | transfer (UPtrList< T > &list) |
Transfer contents into this list and annul the argument. More... | |
T * | set (const label i, T *ptr) |
Set element to specified pointer and return the old list element, which can be a nullptr. More... | |
void | reorder (const labelUList &oldToNew, const bool check=false) |
Reorder elements. Reordering must be unique (ie, shuffle). More... | |
void | sortOrder (const labelUList &order, const bool check=false) |
Reorder elements according to new order mapping (newToOld). Reordering must be unique (ie, shuffle). More... | |
void | checkNonNull () const |
Check and raise FatalError if any nullptr exists in the list. More... | |
const T & | at (const label i) const |
Return const reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
T & | at (const label i) |
Return reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
const T & | operator[] (const label i) const |
Return const reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
T & | operator[] (const label i) |
Return reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
FOAM_DEPRECATED_FOR (2022-09, "get(), set() or test() methods") const T *operator()(const label i) const | |
Deprecated(2022-09) - same as get() More... | |
void | operator= (const UPtrList< T > &list) |
Copy assignment (shallow copies addresses) More... | |
void | operator= (UPtrList< T > &&list) |
Move assignment. More... | |
T ** | begin_ptr () noexcept |
Iterator to begin of raw pointers traversal (use with caution) More... | |
T ** | end_ptr () noexcept |
Iterator beyond end of raw pointers traversal (use with caution) More... | |
iterator | begin () |
Return iterator to begin traversal of non-nullptr entries. More... | |
iterator | end () noexcept |
Return iterator beyond end of UPtrList traversal. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversal of non-nullptr entries. More... | |
const_iterator | cend () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversal of non-nullptr entries. More... | |
const_iterator | end () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
T & | first () |
Reference to the first element of the list. More... | |
const T & | first () const |
Return reference to first element of the list. More... | |
T & | last () |
Return reference to the last element of the list. More... | |
const T & | last () const |
Return reference to the last element of the list. More... | |
void | append (T *ptr) |
Append an element to the end of the list. More... | |
void | append (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
label | count () const noexcept |
The number of non-nullptr entries in the list. More... | |
Additional Inherited Members | |
Public Types inherited from UPtrList< T > | |
typedef T | value_type |
Type of values the list contains. More... | |
typedef T & | reference |
A non-const reference to the value_type. More... | |
typedef const T & | const_reference |
A const reference to the value_type. More... | |
Protected Member Functions inherited from PtrList< searchableSurface > | |
void | readIstream (Istream &is, const INew &inew) |
Read from Istream using Istream constructor class. More... | |
Protected Member Functions inherited from UPtrList< T > | |
void | setAddressableSize (const label n) noexcept |
Adjust addressable size. More... | |
label | find_next (label pos) const |
The next non-null entry after the specified position. More... | |
UPtrList (Detail::PtrListDetail< T > &&ptrs) noexcept | |
Low-level move construct. More... | |
Protected Attributes inherited from UPtrList< T > | |
Detail::PtrListDetail< T > | ptrs_ |
The list of pointers. More... | |
Container for searchableSurfaces. The collection is specified as a dictionary. For example,.
geometry { surface1 { type ...; } surface2 { type ...; } }
The Sub-dictionary parameters
Property | Description | Required | Default |
---|---|---|---|
name | alternative name for surface | no | dict name |
regions | Region names sub-dictionary | no |
Definition at line 89 of file searchableSurfaces.H.
|
explicit |
Construct with length specified. Fill later.
Definition at line 92 of file searchableSurfaces.C.
searchableSurfaces | ( | const IOobject & | io, |
const dictionary & | topDict, | ||
const bool | singleRegionName | ||
) |
Construct from dictionary.
singleRegionName | controls if names are constructed as surfaceName "_" regionName (singleRegionName false) or for single region surfaces as surfaceName only (singleRegionName true) |
Definition at line 191 of file searchableSurfaces.C.
References IOobject::clone(), dict, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, UList< T >::find(), forAll, dictionary::found(), dictionary::get(), dictionary::getOrDefault(), io(), Foam::glTF::key(), searchableSurface::New(), Foam::nl, s, List< T >::setSize(), PtrList< T >::setSize(), UList< T >::size(), and dictionary::subDict().
ClassName | ( | "searchableSurfaces" | ) |
|
inline |
Surface names, not region names.
Definition at line 172 of file searchableSurfaces.H.
|
inline |
Surface names, not region names.
Definition at line 180 of file searchableSurfaces.H.
Region names per surface.
Definition at line 188 of file searchableSurfaces.H.
Region names per surface.
Definition at line 196 of file searchableSurfaces.H.
Foam::label findSurfaceID | ( | const word & | name | ) | const |
Find index of surface. Return -1 if not found.
Definition at line 303 of file searchableSurfaces.C.
Definition at line 312 of file searchableSurfaces.C.
References regionName.
void findAnyIntersection | ( | const pointField & | start, |
const pointField & | end, | ||
labelList & | surfaces, | ||
List< pointIndexHit > & | hitInfo | ||
) | const |
Find any intersection. Return hit point information and.
surface number. If multiple surfaces hit the first surface is returned, not necessarily the nearest (to start).
Definition at line 325 of file searchableSurfaces.C.
References stdFoam::end(), and searchableSurfacesQueries::findAnyIntersection().
void findAllIntersections | ( | const pointField & | start, |
const pointField & | end, | ||
labelListList & | surfaces, | ||
List< List< pointIndexHit >> & | hitInfo | ||
) | const |
Find all intersections in order from start to end. Returns for.
every hit the surface and the hit info.
Definition at line 345 of file searchableSurfaces.C.
References stdFoam::end(), and searchableSurfacesQueries::findAllIntersections().
void findNearestIntersection | ( | const pointField & | start, |
const pointField & | end, | ||
labelList & | surface1, | ||
List< pointIndexHit > & | hit1, | ||
labelList & | surface2, | ||
List< pointIndexHit > & | hit2 | ||
) | const |
Definition at line 366 of file searchableSurfaces.C.
References stdFoam::end(), and searchableSurfacesQueries::findNearestIntersection().
void findNearest | ( | const pointField & | samples, |
const scalarField & | nearestDistSqr, | ||
labelList & | surfaces, | ||
List< pointIndexHit > & | nearestInfo | ||
) | const |
Find nearest. Return -1 (and a miss()) or surface and nearest.
point.
Definition at line 390 of file searchableSurfaces.C.
References searchableSurfacesQueries::findNearest(), and samples().
void findNearest | ( | const labelListList & | regionIndices, |
const pointField & | samples, | ||
const scalarField & | nearestDistSqr, | ||
labelList & | nearestSurfaces, | ||
List< pointIndexHit > & | nearestInfo | ||
) | const |
Definition at line 410 of file searchableSurfaces.C.
References searchableSurfacesQueries::findNearest(), and samples().
Foam::boundBox bounds | ( | ) | const |
Calculate bounding box.
Definition at line 433 of file searchableSurfaces.C.
References searchableSurfacesQueries::bounds().
bool checkClosed | ( | const bool | report | ) | const |
Are all surfaces closed and manifold.
Definition at line 443 of file searchableSurfaces.C.
References Foam::endl(), forAll, Foam::Info, Foam::PtrListOps::names(), Foam::nl, Foam::returnReduceOr(), and s.
bool checkNormalOrientation | ( | const bool | report | ) | const |
Are all (triangulated) surfaces consistent normal orientation.
Definition at line 510 of file searchableSurfaces.C.
References PatchTools::checkOrientation(), Foam::endl(), forAll, Foam::Info, PatchTools::markZones(), Foam::PtrListOps::names(), Foam::returnReduceOr(), and s.
bool checkSizes | ( | const scalar | maxRatio, |
const bool | report | ||
) | const |
Are all bounding boxes of similar size.
Definition at line 557 of file searchableSurfaces.C.
References Foam::endl(), forAll, Foam::Info, boundBox::mag(), Foam::PtrListOps::names(), Foam::nl, and Foam::returnReduceOr().
bool checkIntersection | ( | const scalar | tol, |
autoPtr< coordSetWriter > & | setWriter, | ||
const bool | report | ||
) | const |
Do surfaces self-intersect or intersect others.
Definition at line 605 of file searchableSurfaces.C.
References fileWriter::close(), Foam::constant::electromagnetic::e, PrimitivePatch< FaceList, PointField >::edges(), coordSetWriter::enabled(), stdFoam::end(), Foam::endl(), forAll, Foam::Info, PrimitivePatch< FaceList, PointField >::localPoints(), Foam::mag(), coordSet::name(), Foam::PtrListOps::names(), fileWriter::open(), IOobject::path(), Foam::returnReduceOr(), UList< T >::size(), polyWriter::write(), and writer().
bool checkQuality | ( | const scalar | minQuality, |
const bool | report | ||
) | const |
Check triangle quality.
Definition at line 745 of file searchableSurfaces.C.
References Foam::endl(), f(), forAll, Foam::Info, Foam::PtrListOps::names(), Foam::returnReduceOr(), and s.
Foam::label checkTopology | ( | const bool | report | ) | const |
All topological checks. Return number of failed checks.
Definition at line 810 of file searchableSurfaces.C.
Foam::label checkGeometry | ( | const scalar | maxRatio, |
const scalar | tolerance, | ||
autoPtr< coordSetWriter > & | setWriter, | ||
const scalar | minQuality, | ||
const bool | report | ||
) | const |
All geometric checks. Return number of failed checks.
Definition at line 830 of file searchableSurfaces.C.
Write some stats.
Definition at line 860 of file searchableSurfaces.C.
References Foam::endl(), forAll, Foam::Info, Foam::PtrListOps::names(), PrimitivePatch< FaceList, PointField >::nEdges(), Foam::nl, patchTypes(), triSurfaceMesh::points(), s, UList< T >::size(), and Foam::BitOps::sortedToc().
const Foam::searchableSurface & operator[] | ( | const word & | surfName | ) | const |
Return const reference to searchableSurface by name.
Definition at line 905 of file searchableSurfaces.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.
Foam::searchableSurface & operator[] | ( | const word & | surfName | ) |
Return reference to searchableSurface by name.
Definition at line 924 of file searchableSurfaces.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.