60 #ifndef Foam_searchableSurfaces_H 61 #define Foam_searchableSurfaces_H 79 class searchableSurfaces
81 public PtrList<searchableSurface>
136 const bool singleRegionName
183 const word& surfaceName,
252 bool checkSizes(
const scalar maxRatio,
const bool report)
const;
265 const scalar minQuality,
275 const scalar maxRatio,
276 const scalar tolerance,
278 const scalar minQuality,
label checkTopology(const bool report) const
All topological checks. Return number of failed checks.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void findAnyIntersection(const pointField &start, const pointField &end, labelList &surfaces, List< pointIndexHit > &) const
Find any intersection. Return hit point information and.
scalarField samples(nIntervals, Zero)
label findSurfaceID(const word &name) const
Find index of surface. Return -1 if not found.
A bounding box defined in terms of min/max extrema points.
This class describes the interaction of an object (often a face) and a point. It carries the info of ...
Base class of (analytical or triangulated) surface. Encapsulates all the search routines. WIP.
boundBox bounds() const
Calculate bounding box.
void findNearestIntersection(const pointField &start, const pointField &end, labelList &surface1, List< pointIndexHit > &hit1, labelList &surface2, List< pointIndexHit > &hit2) const
label findSurfaceRegionID(const word &surfaceName, const word ®ionName) const
bool checkIntersection(const scalar tol, autoPtr< coordSetWriter > &setWriter, const bool report) const
Do surfaces self-intersect or intersect others.
ClassName("searchableSurfaces")
bool checkNormalOrientation(const bool report) const
Are all (triangulated) surfaces consistent normal orientation.
Foam::word regionName(Foam::polyMesh::defaultRegion)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
void findNearest(const pointField &, const scalarField &nearestDistSqr, labelList &surfaces, List< pointIndexHit > &) const
Find nearest. Return -1 (and a miss()) or surface and nearest.
A class for handling words, derived from Foam::string.
const List< wordList > & regionNames() const
Region names per surface.
Container for searchableSurfaces. The collection is specified as a dictionary. For example...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
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.
List< word > wordList
A List of words.
const searchableSurface & operator[](const word &) const
Return const reference to searchableSurface by name.
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.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
const wordList & names() const
Surface names, not region names.
iterator end() noexcept
Return iterator beyond end of UPtrList traversal.
bool checkQuality(const scalar minQuality, const bool report) const
Check triangle quality.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
bool checkClosed(const bool report) const
Are all surfaces closed and manifold.
Triangulated surface description with patch information.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
void writeStats(const List< wordList > &, Ostream &) const
Write some stats.
Defines the attributes of an object for which implicit objectRegistry management is supported...
bool checkSizes(const scalar maxRatio, const bool report) const
Are all bounding boxes of similar size.