66#ifndef searchableSurfaceWithGaps_H
67#define searchableSurfaceWithGaps_H
82class searchableSurfaceWithGaps
84 public searchableSurface
94 UPtrList<searchableSurface> subGeom_;
99 Pair<vector> offsetVecs(
const point&,
const point&)
const;
109 static label countMisses
115 static label countMisses
133 TypeName(
"searchableSurfaceWithGaps");
176 virtual label
size()
const
307 subGeom_[0].setField(values);
Minimal example by using system/controlDict.functions:
Defines the attributes of an object for which implicit objectRegistry management is supported,...
InfoProxy< IOobject > info() const
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,...
An ordered pair of two objects of type <T> with first() and second() elements.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
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,...
virtual bool writeData(Ostream &) const =0
Pure virtual writeData function.
searchableSurface using multiple slightly shifted underlying surfaces to make sure pierces don't go t...
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?
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 findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit > > &) const
Get all intersections in order from start to end.
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 writeData 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 points.
virtual void getField(const List< pointIndexHit > &info, labelList &values) const
WIP. From a set of hits (points and.
virtual tmp< pointField > coordinates() const
Get representative set of element coordinates.
virtual void boundingSpheres(pointField ¢res, scalarField &radiusSqr) const
Get bounding spheres (centre and radius squared), one per element.
virtual tmp< pointField > points() const
Get the points that define the surface.
virtual volumeType outsideVolumeType() const
What is type of points outside bounds.
const searchableSurface & surface() const
The underlying searchableSurface.
virtual ~searchableSurfaceWithGaps()=default
Destructor.
virtual bool hasVolumeType() const
Whether supports volume type (below)
virtual const wordList & regions() const
Name of regions.
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.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0
virtual volumeType outsideVolumeType() const =0
If surface supports volume queries, what is type of points outside.
virtual void getField(const List< pointIndexHit > &, labelList &values) const
WIP. From a set of hits (points and.
virtual bool overlaps(const boundBox &bb) const =0
Does any part of the surface overlap the supplied bound box?
virtual const wordList & regions() const =0
Names of regions.
virtual tmp< pointField > points() const =0
Get the points that define the surface.
virtual label size() const =0
Range of local indices that can be returned.
virtual bool hasVolumeType() const
Whether supports volume type (below).
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.
virtual tmp< pointField > coordinates() const =0
Get representative set of element coordinates.
A class for managing temporary objects.
An enumeration wrapper for classification of a location as being inside/outside of a volume.
OBJstream os(runTime.globalPath()/outputName)
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
vectorField pointField
pointField is a vectorField.
vector point
Point is a vector.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
scalarField samples(nIntervals, Zero)