Go to the documentation of this file.
59 #ifndef searchableSurfaces_H
60 #define searchableSurfaces_H
78 class searchableSurfaces
80 public PtrList<searchableSurface>
88 List<wordList> regionNames_;
135 const bool singleRegionName
182 const word& surfaceName,
251 bool checkSizes(
const scalar maxRatio,
const bool report)
const;
264 const scalar minQuality,
274 const scalar maxRatio,
275 const scalar tolerance,
277 const scalar minQuality,
List< label > labelList
A List of labels.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A class for handling words, derived from Foam::string.
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))
bool checkIntersection(const scalar tol, const autoPtr< writer< scalar >> &, const bool report) const
Do surfaces self-intersect or intersect others.
bool checkQuality(const scalar minQuality, const bool report) const
Check triangle quality.
void findNearestIntersection(const pointField &start, const pointField &end, labelList &surface1, List< pointIndexHit > &hit1, labelList &surface2, List< pointIndexHit > &hit2) const
label checkTopology(const bool report) const
All topological checks. Return number of failed checks.
void writeStats(const List< wordList > &, Ostream &) const
Write some stats.
List< word > wordList
A List of words.
void findAnyIntersection(const pointField &start, const pointField &end, labelList &surfaces, List< pointIndexHit > &) const
Find any intersection. Return hit point information and.
boundBox bounds() const
Calculate bounding box.
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
bool checkClosed(const bool report) const
Are all surfaces closed and manifold.
Triangulated surface description with patch information.
void findNearest(const pointField &, const scalarField &nearestDistSqr, labelList &surfaces, List< pointIndexHit > &) const
Find nearest. Return -1 (and a miss()) or surface and nearest.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
scalarField samples(nIntervals, Zero)
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
label findSurfaceRegionID(const word &surfaceName, const word ®ionName) const
label findSurfaceID(const word &name) const
Find index of surface. Return -1 if not found.
wordList & names()
Surface names, not region names.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
List< wordList > & regionNames()
Region names per surface.
const searchableSurface & operator[](const word &) const
Return const reference to searchableSurface by name.
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
bool checkSizes(const scalar maxRatio, const bool report) const
Are all bounding boxes of similar size.
const List< wordList > & regionNames() const
Region names per surface.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
label checkGeometry(const scalar maxRatio, const scalar tolerance, const autoPtr< writer< scalar >> &setWriter, const scalar minQuality, const bool report) const
All geometric checks. Return number of failed checks.
Container for searchableSurfaces. The collection is specified as a dictionary. For example,...
bool checkNormalOrientation(const bool report) const
Are all (triangulated) surfaces consistent normal orientation.
A bounding box defined in terms of min/max extrema points.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
const wordList & names() const
Surface names, not region names.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
ClassName("searchableSurfaces")
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.