49 #ifndef searchableSurfaceCollection_H 50 #define searchableSurfaceCollection_H 66 class searchableSurfaceCollection
68 public searchableSurface
85 bool mergeSubRegions_;
136 TypeName(
"searchableSurfaceCollection");
168 const PtrList<coordSystem::cartesian>&
transform()
const 174 PtrList<coordSystem::cartesian>&
transform()
195 virtual label
size()
const;
222 virtual void findNearest
282 const bool keepNonLocal,
virtual ~searchableSurfaceCollection()
Destructor.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?
virtual void distribute(const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< mapDistribute > &faceMap, autoPtr< mapDistribute > &pointMap)
Set bounds of surface. Bounds currently set as list of.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared), one per element.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
const PtrList< coordSystem::cartesian > & transform() const
Coordinate system per subsurface.
scalarField samples(nIntervals, Zero)
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
A bounding box defined in terms of min/max extrema points.
Set of transformed searchableSurfaces. Does not do boolean operations so when meshing might find part...
TypeName("searchableSurfaceCollection")
Runtime type information.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< T > values(const HashTable< T, Key, Hash > &tbl, const bool doSort=false)
List of values from HashTable, optionally sorted.
virtual void findLine(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Find first intersection on segment from start to end.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
virtual tmp< pointField > points() const
Get the points that define the surface.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
virtual volumeType outsideVolumeType() const
What is type of points outside bounds.
virtual label size() const
Range of local indices that can be returned.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
InfoProxy< IOobject > info() const noexcept
Return info proxy, for printing information to a stream.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
virtual void getField(const List< pointIndexHit > &, labelList &) const
WIP. From a set of hits (points and.
virtual void setField(const labelList &values)
WIP. Store element-wise field.
List< word > wordList
List of word.
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
virtual bool hasVolumeType() const
Whether supports volume type (below)
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
virtual void getVolumeType(const pointField &points, List< volumeType > &volType) const
Determine type (inside/outside/mixed) for point.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
A class for managing temporary objects.
bool writeData(Ostream &) const
Pure virtual writeData function.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Defines the attributes of an object for which implicit objectRegistry management is supported...
const vectorField & scale() const
Scaling vector per subsurface.
virtual const wordList & regions() const
Names of regions.