Go to the documentation of this file.
35 #ifndef searchableSurfacesQueries_H
36 #define searchableSurfacesQueries_H
63 const scalar initDistSqr
73 const scalar initialDistSqr,
84 const scalar initialDistSqr,
100 const scalar initialDistSqr,
101 const scalar convergenceDistSqr,
228 const scalar initDistSqr,
229 const scalar convergenceDistSqr,
ClassName("searchableSurfacesQueries")
static void findAnyIntersection(const PtrList< searchableSurface > &, const labelList &surfacesToTest, const pointField &start, const pointField &end, labelList &surfaces, List< pointIndexHit > &)
Find any intersection. Return hit point information and.
static void findAllIntersections(const PtrList< searchableSurface > &, const labelList &surfacesToTest, const pointField &start, const pointField &end, labelListList &surfaces, List< List< pointIndexHit > > &surfaceHits)
Find all intersections in order from start to end. Returns for.
static void mergeHits(const point &start, const label surfI, const List< pointIndexHit > &surfHits, labelList &allSurfaces, List< pointIndexHit > &allInfo, scalarList &allDistSqr)
scalarField samples(nIntervals, 0)
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
static void findNearestIntersection(const PtrList< searchableSurface > &allSurfaces, const labelList &surfacesToTest, const pointField &start, const pointField &end, labelList &surface1, List< pointIndexHit > &hit1, labelList &surface2, List< pointIndexHit > &hit2)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
static void signedDistance(const PtrList< searchableSurface > &allSurfaces, const labelList &surfacesToTest, const pointField &samples, const scalarField &nearestDistSqr, const volumeType illegalHandling, labelList &nearestSurfaces, scalarField &distance)
Find signed distance to nearest surface. Outside is positive.
static boundBox bounds(const PtrList< searchableSurface > &allSurfaces, const labelList &surfacesToTest)
Find the boundBox of the selected surfaces.
static scalar tryMorphTet(const PtrList< searchableSurface > &, const labelList &surfacesToTest, const scalar initialDistSqr, List< vector > &p, List< scalar > &y, vector &pSum, const label ihi, const scalar fac)
Takes the tet (points p) and reflects the point with the.
static pointIndexHit facesIntersection(const PtrList< searchableSurface > &allSurfaces, const labelList &surfacesToTest, const scalar initDistSqr, const scalar convergenceDistSqr, const point &start)
Calculate point which is on a set of surfaces. WIP.
static scalar sumDistSqr(const PtrList< searchableSurface > &, const labelList &surfacesToTest, const scalar initialDistSqr, const point &pt)
Calculate sum of distances to nearest point on surfaces. Is used.
scalar distance(const vector &p1, const vector &p2)
static bool morphTet(const PtrList< searchableSurface > &, const labelList &surfacesToTest, const scalar initialDistSqr, const scalar convergenceDistSqr, const label maxIter, List< vector > &p, List< scalar > &y)
Downhill simplex method: find the point with min cumulative.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A bounding box defined in terms of the points at its extremities.
static pointIndexHit tempFindNearest(const searchableSurface &, const point &pt, const scalar initDistSqr)
Temporary wrapper around findNearest. Used in facesIntersection only.
A collection of tools for searchableSurfaces.
static void findNearest(const PtrList< searchableSurface > &, const labelList &surfacesToTest, const pointField &, const scalarField &nearestDistSqr, labelList &surfaces, List< pointIndexHit > &)
Find nearest. Return -1 (and a miss()) or surface and nearest.