searchableSurfaces Class Reference

Container for searchableSurfaces. The collection is specified as a dictionary. For example,. More...

Inheritance diagram for searchableSurfaces:
[legend]
Collaboration diagram for searchableSurfaces:
[legend]

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 wordListnames () const
 Surface names, not region names. More...
 
wordListnames ()
 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 &regionName) 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 &regionIndices, 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 searchableSurfaceoperator[] (const word &) const
 Return const reference to searchableSurface by name. More...
 
searchableSurfaceoperator[] (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)
 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. More...
 
PtrList< searchableSurfaceclone (Args &&... args) const
 Make a copy by cloning each of the list elements. More...
 
Foam::PtrList< searchableSurfaceclone (Args &&... args) const
 
const searchableSurfaceset (const label i) const
 
autoPtr< searchableSurfaceset (const label i, searchableSurface *ptr)
 Set element to given pointer and return old element (can be null) More...
 
autoPtr< searchableSurfaceset (const label i, autoPtr< searchableSurface > &ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< searchableSurfaceset (const label i, autoPtr< searchableSurface > &&ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< searchableSurfaceset (const label i, std::unique_ptr< searchableSurface > &&ptr)
 Set element to given unique_ptr and return old element. More...
 
autoPtr< searchableSurfaceset (const label i, const refPtr< searchableSurface > &ptr)
 Set element to given refPtr and return old element. More...
 
autoPtr< searchableSurfaceset (const label i, const tmp< searchableSurface > &ptr)
 Set element to given tmp and return old element. More...
 
void clear ()
 Clear the PtrList. Delete allocated entries and set size to zero. More...
 
void resize (const label newLen)
 Adjust size of PtrList. More...
 
void setSize (const label newLen)
 Same as resize() More...
 
void emplace_append (Args &&... args)
 Construct and 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 (autoPtr< 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 (std::unique_ptr< searchableSurface > &&ptr)
 Move append an element to the end of the list. More...
 
void append (const refPtr< searchableSurface > &ptr)
 Move or clone append a refPtr 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...
 
autoPtr< searchableSurfaceemplace (const label i, Args &&... args)
 Construct and set an element. More...
 
Foam::autoPtr< searchableSurfaceemplace (const label i, Args &&... args)
 
autoPtr< searchableSurfacerelease (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...
 
- Public Member Functions inherited from UPtrList< T >
constexpr UPtrList () noexcept
 Default construct. More...
 
 UPtrList (const label len)
 Construct with specified size, each element initialized to nullptr. More...
 
 UPtrList (const UPtrList< T > &list)
 Copy construct (shallow copies addresses) More...
 
 UPtrList (UPtrList< T > &&list)
 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...
 
label size () const noexcept
 The number of elements in the list. More...
 
bool empty () const noexcept
 True if the list is empty (ie, size() is zero) More...
 
Tfirst ()
 Return reference to the first element of the list. More...
 
const Tfirst () const
 Return reference to first element of the list. More...
 
Tlast ()
 Return reference to the last element of the list. More...
 
const Tlast () const
 Return reference to the last element of the list. More...
 
const Ttest (const label i) const
 
Tget (const label i)
 
const Tget (const label i) const
 
const Tset (const label i) const
 
void clear ()
 Set list size to zero. More...
 
void resize (const label newLen)
 Change the size of the list. More...
 
void setSize (const label n)
 Alias for resize() More...
 
label squeezeNull ()
 Squeeze out intermediate nullptr entries in the list of pointers. 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...
 
void swap (UPtrList< T > &list)
 Swap content. More...
 
void transfer (UPtrList< T > &list)
 Transfer contents into this list and annul the argument. More...
 
Tset (const label i, T *ptr)
 
void reorder (const labelUList &oldToNew, const bool check=false)
 
void sortOrder (const labelUList &order, const bool check=false)
 
void checkNonNull () const
 Check and raise FatalError if any nullptr exists in the list. More...
 
const Toperator[] (const label i) const
 Return const reference to the element. More...
 
Toperator[] (const label i)
 Return reference to the element. More...
 
const Toperator() (const label i) const
 Return const pointer to the element - 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 () noexcept
 Return an iterator to begin of UPtrList traversal. More...
 
iterator end () noexcept
 Return iterator beyond end of UPtrList traversal. More...
 
const_iterator cbegin () const noexcept
 Return const_iterator to begin of UPtrList traversal. More...
 
const_iterator cend () const noexcept
 Return const_iterator beyond end of UPtrList traversal. More...
 
const_iterator begin () const noexcept
 Return const_iterator to begin of UPtrList traversal. More...
 
const_iterator end () const noexcept
 Return const_iterator beyond end of UPtrList traversal. More...
 

Additional Inherited Members

- Public Types inherited from UPtrList< T >
typedef T value_type
 Type of values the list contains. More...
 
typedef Treference
 A non-const reference to the value_type. More...
 
typedef const Tconst_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...
 
void free ()
 Delete the allocated entries, but retain the list size. More...
 
- Protected Member Functions inherited from UPtrList< T >
void setAddressableSize (const label n) noexcept
 Adjust addressable size. More...
 
 UPtrList (Detail::PtrListDetail< T > &&ptrs)
 Low-level move construct. More...
 
- Protected Attributes inherited from UPtrList< T >
Detail::PtrListDetail< Tptrs_
 The list of pointers. More...
 

Detailed Description

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
Source files

Definition at line 93 of file searchableSurfaces.H.

Constructor & Destructor Documentation

◆ searchableSurfaces() [1/2]

searchableSurfaces ( const label  size)
explicit

Construct with length specified. Fill later.

Definition at line 99 of file searchableSurfaces.C.

◆ searchableSurfaces() [2/2]

searchableSurfaces ( const IOobject io,
const dictionary topDict,
const bool  singleRegionName 
)

Construct from dictionary.

Parameters
singleRegionNamecontrols if names are constructed as surfaceName "_" regionName (singleRegionName false) or for single region surfaces as surfaceName only (singleRegionName true)

Definition at line 197 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(), Time::New(), Foam::nl, searchableSurfaces::operator[](), s(), PtrList< searchableSurface >::set(), List< T >::setSize(), PtrList< T >::setSize(), UList< T >::size(), and dictionary::subDict().

Here is the call graph for this function:

Member Function Documentation

◆ ClassName()

ClassName ( "searchableSurfaces"  )

◆ names() [1/2]

const wordList & names ( ) const
inline

Surface names, not region names.

Definition at line 157 of file searchableSurfaces.H.

Referenced by refinementSurfaces::refinementSurfaces(), and shellSurfaces::shellSurfaces().

Here is the caller graph for this function:

◆ names() [2/2]

wordList & names ( )
inline

Surface names, not region names.

Definition at line 163 of file searchableSurfaces.H.

◆ regionNames() [1/2]

const List< wordList > & regionNames ( ) const
inline

Region names per surface.

Definition at line 169 of file searchableSurfaces.H.

Referenced by refinementSurfaces::refinementSurfaces().

Here is the caller graph for this function:

◆ regionNames() [2/2]

List< wordList > & regionNames ( )
inline

Region names per surface.

Definition at line 175 of file searchableSurfaces.H.

◆ findSurfaceID()

Foam::label findSurfaceID ( const word name) const

Find index of surface. Return -1 if not found.

Definition at line 309 of file searchableSurfaces.C.

Referenced by projectCurveEdge::projectCurveEdge(), projectEdge::projectEdge(), and projectVertex::projectVertex().

Here is the caller graph for this function:

◆ findSurfaceRegionID()

Foam::label findSurfaceRegionID ( const word surfaceName,
const word regionName 
) const

Definition at line 318 of file searchableSurfaces.C.

References regionName.

◆ findAnyIntersection()

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 331 of file searchableSurfaces.C.

References searchableSurfacesQueries::findAnyIntersection().

Here is the call graph for this function:

◆ findAllIntersections()

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 351 of file searchableSurfaces.C.

References searchableSurfacesQueries::findAllIntersections().

Here is the call graph for this function:

◆ findNearestIntersection()

void findNearestIntersection ( const pointField start,
const pointField end,
labelList surface1,
List< pointIndexHit > &  hit1,
labelList surface2,
List< pointIndexHit > &  hit2 
) const

Definition at line 372 of file searchableSurfaces.C.

References searchableSurfacesQueries::findNearestIntersection().

Here is the call graph for this function:

◆ findNearest() [1/2]

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 396 of file searchableSurfaces.C.

References searchableSurfacesQueries::findNearest(), and samples().

Here is the call graph for this function:

◆ findNearest() [2/2]

void findNearest ( const labelListList regionIndices,
const pointField samples,
const scalarField nearestDistSqr,
labelList nearestSurfaces,
List< pointIndexHit > &  nearestInfo 
) const

Definition at line 416 of file searchableSurfaces.C.

References searchableSurfacesQueries::findNearest(), and samples().

Here is the call graph for this function:

◆ bounds()

Foam::boundBox bounds ( ) const

Calculate bounding box.

Definition at line 440 of file searchableSurfaces.C.

◆ checkClosed()

bool checkClosed ( const bool  report) const

Are all surfaces closed and manifold.

Definition at line 450 of file searchableSurfaces.C.

References Foam::endl(), forAll, Foam::Info, Foam::nl, Foam::returnReduce(), and s().

Here is the call graph for this function:

◆ checkNormalOrientation()

bool checkNormalOrientation ( const bool  report) const

Are all (triangulated) surfaces consistent normal orientation.

Definition at line 517 of file searchableSurfaces.C.

References PatchTools::checkOrientation(), Foam::endl(), forAll, Foam::Info, PatchTools::markZones(), nZones, Foam::returnReduce(), and s().

Here is the call graph for this function:

◆ checkSizes()

bool checkSizes ( const scalar  maxRatio,
const bool  report 
) const

Are all bounding boxes of similar size.

Definition at line 563 of file searchableSurfaces.C.

References Foam::endl(), forAll, Foam::Info, boundBox::mag(), Foam::nl, and Foam::returnReduce().

Here is the call graph for this function:

◆ checkIntersection()

bool checkIntersection ( const scalar  tol,
autoPtr< coordSetWriter > &  setWriter,
const bool  report 
) const

Do surfaces self-intersect or intersect others.

Definition at line 611 of file searchableSurfaces.C.

References DynamicField< T, SizeMin >::append(), DynamicField< T, SizeMin >::capacity(), fileWriter::close(), e, PrimitivePatch< FaceList, PointField >::edges(), Foam::endl(), forAll, Foam::Info, PrimitivePatch< FaceList, PointField >::localPoints(), Foam::mag(), coordSet::name(), fileWriter::open(), IOobject::path(), Foam::returnReduce(), UList< T >::size(), and writer().

Here is the call graph for this function:

◆ checkQuality()

bool checkQuality ( const scalar  minQuality,
const bool  report 
) const

Check triangle quality.

Definition at line 751 of file searchableSurfaces.C.

References Foam::endl(), f(), forAll, Foam::Info, Foam::returnReduce(), and s().

Here is the call graph for this function:

◆ checkTopology()

Foam::label checkTopology ( const bool  report) const

All topological checks. Return number of failed checks.

Definition at line 816 of file searchableSurfaces.C.

◆ checkGeometry()

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 836 of file searchableSurfaces.C.

◆ writeStats()

void writeStats ( const List< wordList > &  patchTypes,
Ostream os 
) const

Write some stats.

Definition at line 866 of file searchableSurfaces.C.

References Foam::endl(), forAll, Foam::Info, PrimitivePatch< FaceList, PointField >::nEdges(), Foam::nl, patchTypes(), triSurfaceMesh::points(), s(), and UList< T >::size().

Here is the call graph for this function:

◆ operator[]() [1/2]

const Foam::searchableSurface & operator[] ( const word surfName) const

Return const reference to searchableSurface by name.

Definition at line 911 of file searchableSurfaces.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.

Referenced by searchableSurfaces::searchableSurfaces().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator[]() [2/2]

Foam::searchableSurface & operator[] ( const word surfName)

Return reference to searchableSurface by name.

Definition at line 930 of file searchableSurfaces.C.

References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, and Foam::nl.

Here is the call graph for this function:

The documentation for this class was generated from the following files: