42 #ifndef searchableSurfaceWithGaps_H
43 #define searchableSurfaceWithGaps_H
85 static label countMisses
91 static label countMisses
102 TypeName(
"searchableSurfaceWithGaps");
273 subGeom_[0].setField(values);
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
InfoProxy< IOobject > info() const
Return info proxy.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
An ordered pair of two objects of type <T> with first() and second() elements.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
A bounding box defined in terms of the points at its extremities.
A list of keyword definitions, which are a keyword followed by any number of values (e....
virtual bool writeData(Ostream &) const =0
Pure virtual writaData function.
searchableSurface using multiple slightly shifted underlying surfaces to make sure pierces don't go t...
void operator=(const searchableSurfaceWithGaps &)=delete
Disallow default bitwise assignment.
virtual label size() const
Range of local indices that can be returned.
virtual ~searchableSurfaceWithGaps()
Destructor.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?
TypeName("searchableSurfaceWithGaps")
Runtime type information.
virtual void getRegion(const List< pointIndexHit > &info, labelList ®ion) const
From a set of points and indices get the region.
virtual void findLine(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Find first intersection on segment from start to end.
virtual void getNormal(const List< pointIndexHit > &info, vectorField &normal) const
From a set of points and indices get the normal.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
bool writeData(Ostream &os) const
Pure virtual writaData function.
virtual void setField(const labelList &values)
Set bounds of surface. Bounds currently set as list of.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &info) const
Find nearest on original surface. Note:does not use perturbation.
virtual void getVolumeType(const pointField &samples, List< volumeType > &info) const
Determine type (inside/outside/mixed) for point. unknown if.
virtual const wordList & regions() const
Names of regions.
searchableSurfaceWithGaps(const IOobject &io, const dictionary &dict)
Construct from dictionary (used by searchableSurface)
virtual tmp< pointField > points() const
Get the points that define the surface.
virtual void getField(const List< pointIndexHit > &info, labelList &values) const
WIP. From a set of hits (points and.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared), one per element.
const searchableSurface & surface() const
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
virtual bool hasVolumeType() const
Whether supports volume type below.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const =0
From a set of points and indices get the region.
virtual void getVolumeType(const pointField &, List< volumeType > &) const =0
Determine type (inside/outside) for point. unknown if.
virtual tmp< pointField > points() const =0
Get the points that define the surface.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
virtual tmp< pointField > coordinates() const =0
Get representative set of element coordinates.
virtual bool hasVolumeType() const =0
Whether supports volume type below.
virtual void getField(const List< pointIndexHit > &, labelList &values) const
WIP. From a set of hits (points and.
virtual const wordList & regions() const =0
Names of regions.
virtual bool overlaps(const boundBox &bb) const =0
Does any part of the surface overlap the supplied bound box?
virtual label size() const =0
Range of local indices that can be returned.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const =0
From a set of points and indices get the normal.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const =0
Get bounding spheres (centre and radius squared), one per element.
A class for managing temporary objects.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
scalarField samples(nIntervals, 0)