Go to the documentation of this file.
48 #ifndef searchableDisk_H
49 #define searchableDisk_H
65 public searchableSurface,
88 const scalar nearestDistSqr
117 const point& originPoint,
118 const vector& normalVector,
188 virtual void findNearest
195 virtual void findLine
vectorField pointField
pointField is a vectorField.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
virtual void getVolumeType(const pointField &points, List< volumeType > &volType) const
Determine type (inside/outside/mixed) for point.
bool writeData(Ostream &) const
Pure virtual writeData function.
TypeName("searchableDisk")
Runtime type information.
A class for managing temporary objects.
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
A class representing the concept of 1 (one), which can be used to avoid manipulating objects that are...
virtual const wordList & regions() const
Names of regions.
virtual volumeType outsideVolumeType() const
What is type of points outside bounds.
Geometric class that creates a 3D plane and can return the intersection point between a line and the ...
List< word > wordList
A List of words.
Searching on circular disk given as origin, normal (gets normalised) and radius.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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 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,...
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 label size() const
Range of local indices that can be returned.
virtual tmp< pointField > points() const
Get the points that define the surface.
const point & origin() const
The plane base point.
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
PointIndexHit< point > pointIndexHit
virtual ~searchableDisk()=default
Destructor.
label ListType::const_reference const label start
virtual void getNormal(const List< pointIndexHit > &, vectorField &normals) const
From a set of points and indices get the normal.
static tmp< T > New(Args &&... args)
Construct tmp of T with forwarding arguments.
virtual bool hasVolumeType() const
Whether supports volume type (below)
A bounding box defined in terms of min/max extrema points.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?