41 #ifndef searchableSurface_H 42 #define searchableSurface_H 60 class distributionMap;
122 word surfaceType(is);
127 namedIO().rename(readName);
153 const word& surfaceType,
363 const bool keepNonLocal,
autoPtr< IOobject > clone() const
Clone.
virtual const wordList & regions() const =0
Names of regions.
virtual tmp< pointField > coordinates() const =0
Get representative set of element coordinates.
A list of keyword definitions, which are a keyword followed by any number of values (e...
TypeName("searchableSurface")
Runtime type information.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
declareRunTimeSelectionTable(autoPtr, searchableSurface, dict,(const IOobject &io, const dictionary &dict),(io, dict))
A bounding box defined in terms of the points at its extremities.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines. WIP.
Class used for the read-construction of.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const =0
Return any intersection on segment from start to end.
static word geometryDir_
Name of the directory for the geometry files.
virtual void getField(const List< pointIndexHit > &, labelList &values) const
WIP. From a set of hits (points and.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
scalarField samples(nIntervals, 0)
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
void clear()
Clear the list, i.e. set size to zero.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const =0
Get all intersections in order from start to end.
static const word & geometryDir()
Return the geometry directory name.
A class for handling words, derived from string.
virtual bool overlaps(const boundBox &bb) const =0
Does any part of the surface overlap the supplied bound box?
void operator=(const searchableSurface &)=delete
Disallow default bitwise assignment.
virtual label globalSize() const
Range of global indices that can be returned.
searchableSurface(const IOobject &io)
virtual autoPtr< searchableSurface > clone() const
Clone.
virtual tmp< pointField > points() const =0
Get the points that define the surface.
virtual ~searchableSurface()
Destructor.
virtual void distribute(const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< distributionMap > &faceMap, autoPtr< distributionMap > &pointMap)
Set bounds of surface. Bounds currently set as list of.
static autoPtr< searchableSurface > New(const word &surfaceType, const IOobject &io, const dictionary &dict)
Return a reference to the selected searchableSurface.
virtual void getVolumeType(const pointField &, List< volumeType > &) const =0
Determine type (inside/outside) for point. unknown if.
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const =0
From a set of points and indices get the region.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
const boundBox & bounds() const
Return const reference to boundBox.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Macros to ease declaration of run-time selection tables.
virtual label size() const =0
Range of local indices that can be returned.
InfoProxy< IOobject > info() const
Return info proxy.
A class for managing temporary objects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual void setField(const labelList &values)
WIP. Store element-wise field.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const =0
From a set of points and indices get the normal.
autoPtr< searchableSurface > operator()(Istream &is) const
virtual void findLine(const pointField &start, const pointField &end, List< pointIndexHit > &) const =0
Find first intersection on segment from start to end.
virtual bool hasVolumeType() const =0
Whether supports volume type below.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const =0
Get bounding spheres (centre and radius squared), one per element.