64 #ifndef searchableRotatedBox_H 65 #define searchableRotatedBox_H 80 class searchableRotatedBox
82 public searchableSurface
90 coordSystem::cartesian transform_;
99 searchableRotatedBox(
const searchableRotatedBox&) =
delete;
102 void operator=(
const searchableRotatedBox&) =
delete;
151 virtual label
size()
const 169 virtual tmp<pointField>
points()
const;
172 virtual bool overlaps(
const boundBox& bb)
const;
187 const scalar nearestDistSqr
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
virtual bool overlaps(const boundBox &bb) const
Does any part of the surface overlap the supplied bound box?
bool writeData(Ostream &) const
Pure virtual writeData function.
virtual const wordList & regions() const
Names of regions.
pointIndexHit findLine(const point &start, const point &end) const
Find nearest intersection of line between start and end.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
virtual label size() const
Range of local indices that can be returned.
PointIndexHit< point > pointIndexHit
A PointIndexHit with a 3D point.
This class describes the interaction of an object (often a face) and a point. It carries the info of ...
virtual bool hasVolumeType() const
Whether supports volume type below.
A Cartesian coordinate system.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared), one per element.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
virtual void getVolumeType(const pointField &points, List< volumeType > &volType) const
Determine type (inside/outside/mixed) for point. unknown if.
vectorField pointField
pointField is a vectorField.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Searching on a rotated box.
A location outside the volume.
bool ln(const fileName &src, const fileName &dst)
Create a softlink. dst should not exist. Returns true if successful.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
TypeName("searchableRotatedBox")
Runtime type information.
virtual volumeType outsideVolumeType() const
What is type of points outside bounds.
pointIndexHit findLineAny(const point &start, const point &end) const
Find any intersection of line between start and end.
pointIndexHit findNearest(const point &sample, const scalar nearestDistSqr) const
Calculate nearest point on surface.
Standard boundBox with extra functionality for use in octree.
virtual tmp< pointField > points() const
Get the points that define the surface.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
virtual ~searchableRotatedBox()=default
Destructor.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Defines the attributes of an object for which implicit objectRegistry management is supported...