55#ifndef searchableCone_H
56#define searchableCone_H
79 const scalar radius1_;
82 const scalar innerRadius1_;
89 const scalar radius2_;
92 const scalar innerRadius2_;
109 void findNearestAndNormal
112 const scalar nearestDistSqr,
118 static scalar radius2(
const searchableCone& cone,
const point& pt);
123 const searchableCone& cone,
124 const scalar innerRadius1,
125 const scalar innerRadius2,
145 searchableCone(
const searchableCone&) =
delete;
148 void operator=(
const searchableCone&) =
delete;
164 const scalar radius1,
165 const scalar innerRadius1,
167 const scalar radius2,
168 const scalar innerRadius2
201 virtual label
size()
const
219 virtual tmp<pointField>
points()
const;
222 virtual bool overlaps(
const boundBox& bb)
const
248 virtual void findLineAll
Minimal example by using system/controlDict.functions:
Defines the attributes of an object for which implicit objectRegistry management is supported,...
InfoProxy< IOobject > info() const noexcept
Return info proxy, for printing information to a stream.
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,...
A bounding box defined in terms of min/max extrema points.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Searching on (optionally hollow) cone.
virtual label size() const
Range of local indices that can be returned.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?
virtual void findLine(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Find nearest intersection on line from start to end.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Find any intersection on line from start to end.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared), one per element.
virtual void getVolumeType(const pointField &points, List< volumeType > &volType) const
Determine type (inside/outside/mixed) for point.
TypeName("searchableCone")
Runtime type information.
virtual ~searchableCone()=default
Destructor.
virtual volumeType outsideVolumeType() const
What is type of points outside bounds.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
virtual bool writeData(Ostream &) const
Pure virtual writeData function.
virtual const wordList & regions() const
Names of regions.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const
Find nearest point on cylinder.
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
virtual bool hasVolumeType() const
Whether supports volume type (below).
virtual tmp< pointField > points() const
Get the points that define the surface.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
A class for managing temporary objects.
An enumeration wrapper for classification of a location as being inside/outside of a volume.
@ OUTSIDE
A location outside the volume.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
List< word > wordList
List of word.
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.
PointIndexHit< point > pointIndexHit
A PointIndexHit with a 3D point.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.