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