Go to the documentation of this file.
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
195 virtual label
size()
const;
222 virtual void findNearest
282 const bool keepNonLocal,
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
virtual bool hasVolumeType() const
Whether supports volume type (below)
TypeName("searchableSurfaceCollection")
Runtime type information.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
const vectorField & scale() const
Scaling vector per subsurface.
virtual void getVolumeType(const pointField &points, List< volumeType > &volType) const
Determine type (inside/outside/mixed) for point.
A class for managing temporary objects.
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 ~searchableSurfaceCollection()
Destructor.
virtual tmp< pointField > points() const
Get the points that define the surface.
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 const wordList & regions() const
Names of regions.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
InfoProxy< IOobject > info() const
Return info proxy.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared), one per element.
Field< vector > vectorField
Specialisation of Field<T> for vector.
const PtrList< coordSystem::cartesian > & transform() const
Coordinate system per subsurface.
List< word > wordList
A List of words.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
virtual label size() const
Range of local indices that can be returned.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
An enumeration wrapper for classification of a location as being inside/outside of a volume.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
virtual void getField(const List< pointIndexHit > &, labelList &) const
WIP. From a set of hits (points and.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
Set of transformed searchableSurfaces. Does not do boolean operations so when meshing might find part...
scalarField samples(nIntervals, Zero)
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
vectorField & scale()
Scaling vector per subsurface.
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
virtual volumeType outsideVolumeType() const
What is type of points outside bounds.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
bool writeData(Ostream &) const
Pure virtual writeData function.
PtrList< coordSystem::cartesian > & transform()
Coordinate system per subsurface.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?
A bounding box defined in terms of min/max extrema points.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void setField(const labelList &values)
WIP. Store element-wise field.
Minimal example by using system/controlDict.functions: