Public Member Functions | List of all members
searchableBox Class Reference

Searching on bounding box. More...

Inheritance diagram for searchableBox:
Inheritance graph
[legend]
Collaboration diagram for searchableBox:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("searchableBox")
 
 searchableBox (const IOobject &io, const treeBoundBox &bb)
 
 searchableBox (const IOobject &io, const dictionary &dict)
 
virtual ~searchableBox ()=default
 
virtual const wordListregions () const
 
virtual bool hasVolumeType () const
 
virtual volumeType outsideVolumeType () const
 
virtual label size () const
 
virtual tmp< pointFieldcoordinates () const
 
virtual void boundingSpheres (pointField &centres, scalarField &radiusSqr) const
 
virtual tmp< pointFieldpoints () const
 
virtual bool overlaps (const boundBox &bb) const
 
pointIndexHit findNearest (const point &sample, const scalar nearestDistSqr) const
 
pointIndexHit findNearestOnEdge (const point &sample, const scalar nearestDistSqr) const
 
pointIndexHit findNearest (const linePointRef &ln, treeBoundBox &tightest, point &linePoint) const
 
pointIndexHit findLine (const point &start, const point &end) const
 
pointIndexHit findLineAny (const point &start, const point &end) const
 
virtual void findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const
 
virtual void findLine (const pointField &start, const pointField &end, List< pointIndexHit > &) const
 
virtual void findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const
 
virtual void findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
 
virtual void getRegion (const List< pointIndexHit > &, labelList &region) const
 
virtual void getNormal (const List< pointIndexHit > &, vectorField &normal) const
 
virtual void getVolumeType (const pointField &points, List< volumeType > &volType) const
 
bool writeData (Ostream &) const
 
- Public Member Functions inherited from searchableSurface
 TypeName ("searchableSurface")
 
 declareRunTimeSelectionTable (autoPtr, searchableSurface, dict,(const IOobject &io, const dictionary &dict),(io, dict))
 
 searchableSurface (const IOobject &io)
 
virtual autoPtr< searchableSurfaceclone () const
 
virtual ~searchableSurface ()=default
 
virtual bool global () const
 
virtual fileName filePath () const
 
virtual const boundBoxbounds () const
 
virtual boundBoxbounds ()
 
virtual label globalSize () const
 
virtual void findNearest (const pointField &samples, const scalarField &nearestDistSqr, const labelList &regionIndices, List< pointIndexHit > &info) const
 
virtual void findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &, vectorField &normal, labelList &region) const
 
virtual void distribute (const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< mapDistribute > &faceMap, autoPtr< mapDistribute > &pointMap)
 
virtual void setField (const labelList &values)
 
virtual void getField (const List< pointIndexHit > &, labelList &values) const
 
- Public Member Functions inherited from regIOobject
 TypeName ("regIOobject")
 
 regIOobject (const IOobject &io, const bool isTimeObject=false)
 
 regIOobject (const regIOobject &rio)
 
 regIOobject (const regIOobject &rio, bool registerCopy)
 
 regIOobject (const word &newName, const regIOobject &, bool registerCopy)
 
 regIOobject (const IOobject &io, const regIOobject &rio)
 
virtual ~regIOobject ()
 
bool checkIn ()
 
bool checkOut ()
 
virtual void addWatch ()
 
bool ownedByRegistry () const
 
bool store ()
 
void release (const bool unregister=false)
 
label eventNo () const
 
label & eventNo ()
 
bool upToDate (const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const
 
bool upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const
 
void setUpToDate ()
 
virtual void rename (const word &newName)
 
const dictionaryfindMetaData () const noexcept
 
dictionarygetMetaData () noexcept
 
void removeMetaData ()
 
virtual void updateMetaData ()
 
bool headerOk ()
 
IstreamreadStream (const word &, const bool valid=true)
 
void close ()
 
virtual bool readData (Istream &)
 
virtual bool read ()
 
virtual label addWatch (const fileName &)
 
const labelListwatchIndices () const
 
labelListwatchIndices ()
 
virtual bool modified () const
 
virtual bool readIfModified ()
 
virtual bool writeObject (IOstreamOption streamOpt, const bool valid) const
 
virtual bool write (const bool valid=true) const
 
void operator= (const IOobject &io)
 
virtual bool writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType comp, const bool valid) const
 
- Public Member Functions inherited from IOobject
 TypeName ("IOobject")
 
 IOobject (const IOobject &)=default
 
virtual ~IOobject ()=default
 
 IOobject (const word &name, const fileName &instance, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const fileName &path, const objectRegistry &registry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false)
 
 IOobject (const IOobject &io, const objectRegistry &registry)
 
 IOobject (const IOobject &io, const word &name)
 
 IOobject (const IOobject &io, readOption, writeOption)
 
autoPtr< IOobjectclone () const
 
autoPtr< IOobjectclone (const objectRegistry &registry) const
 
const objectRegistrydb () const noexcept
 
const Timetime () const
 
const wordname () const noexcept
 
const wordheaderClassName () const noexcept
 
wordheaderClassName () noexcept
 
const stringnote () const noexcept
 
stringnote () noexcept
 
bool registerObject () const noexcept
 
bool registerObject (bool on) noexcept
 
bool globalObject () const noexcept
 
bool globalObject (bool on) noexcept
 
unsigned labelByteSize () const noexcept
 
unsigned scalarByteSize () const noexcept
 
bool isHeaderClassName (const word &clsName) const
 
template<class Type >
bool isHeaderClassName () const
 
readOption readOpt () const noexcept
 
readOption readOpt (readOption opt) noexcept
 
writeOption writeOpt () const noexcept
 
writeOption writeOpt (writeOption opt) noexcept
 
word group () const
 
word member () const
 
const fileNamerootPath () const
 
const fileNamecaseName () const
 
const fileNameinstance () const noexcept
 
fileNameinstance () noexcept
 
const fileNamelocal () const noexcept
 
fileName path () const
 
fileName path (const word &instance, const fileName &local=fileName::null) const
 
fileName objectPath () const
 
fileName objectRelPath () const
 
fileName localFilePath (const word &typeName, const bool search=true) const
 
fileName globalFilePath (const word &typeName, const bool search=true) const
 
IOstreamOption parseHeader (const dictionary &headerDict)
 
bool readHeader (Istream &is)
 
bool readHeader (dictionary &headerDict, Istream &is)
 
template<class Type >
bool typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true)
 
template<class Type >
void warnNoRereading () const
 
bool writeHeader (Ostream &os) const
 
bool writeHeader (Ostream &os, const word &objectType) const
 
void writeHeader (dictionary &dict, IOstreamOption streamOpt) const
 
void writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const
 
bool good () const noexcept
 
bool bad () const noexcept
 
InfoProxy< IOobjectinfo () const
 
void operator= (const IOobject &io)
 
readOptionreadOpt () noexcept
 
writeOptionwriteOpt () noexcept
 
boolregisterObject () noexcept
 
boolglobalObject () noexcept
 
template<>
bool isHeaderClassName () const
 
template<class StringType >
Foam::word groupName (StringType base, const word &group)
 
- Public Member Functions inherited from treeBoundBox
 treeBoundBox ()
 
 treeBoundBox (const boundBox &bb)
 
 treeBoundBox (const point &pt)
 
 treeBoundBox (const point &min, const point &max)
 
 treeBoundBox (const UList< point > &points)
 
 treeBoundBox (const UList< point > &points, const labelUList &indices)
 
template<unsigned N>
 treeBoundBox (const UList< point > &points, const FixedList< label, N > &indices)
 
 treeBoundBox (Istream &is)
 
scalar typDim () const
 
tmp< pointFieldpoints () const
 
point corner (const direction octant) const
 
treeBoundBox subBbox (const direction octant) const
 
treeBoundBox subBbox (const point &mid, const direction) const
 
direction subOctant (const point &pt) const
 
direction subOctant (const point &pt, bool &onEdge) const
 
void searchOrder (const point &pt, FixedList< direction, 8 > &octantOrder) const
 
bool intersects (const point &overallStart, const vector &overallVec, const point &start, const point &end, point &pt, direction &ptBits) const
 
bool intersects (const point &start, const point &end, point &pt) const
 
bool contains (const vector &dir, const point &) const
 
direction faceBits (const point &pt) const
 
direction posBits (const point &pt) const
 
void calcExtremities (const point &pt, point &nearest, point &furthest) const
 
scalar maxDist (const point &pt) const
 
label distanceCmp (const point &pt, const treeBoundBox &other) const
 
treeBoundBox extend (Random &rndGen, const scalar s) const
 
bool overlaps (const boundBox &bb) const
 
bool overlaps (const point &centre, const scalar radiusSqr) const
 
bool contains (const point &pt) const
 
bool contains (const boundBox &bb) const
 
bool contains (const UList< point > &points) const
 
template<unsigned N>
bool contains (const UList< point > &points, const FixedList< label, N > &indices) const
 
template<class IntContainer >
bool contains (const UList< point > &points, const IntContainer &indices) const
 
- Public Member Functions inherited from boundBox
 boundBox ()
 
 boundBox (const point &pt)
 
 boundBox (const point &min, const point &max)
 
 boundBox (const UList< point > &points, bool doReduce=true)
 
 boundBox (const tmp< pointField > &tpoints, bool doReduce=true)
 
 boundBox (const UList< point > &points, const labelUList &indices, bool doReduce=true)
 
template<unsigned N>
 boundBox (const UList< point > &points, const FixedList< label, N > &indices, bool doReduce=true)
 
 boundBox (Istream &is)
 
bool empty () const
 
bool valid () const
 
const pointmin () const
 
const pointmax () const
 
pointmin ()
 
pointmax ()
 
point centre () const
 
point midpoint () const
 
vector span () const
 
scalar mag () const
 
scalar volume () const
 
scalar minDim () const
 
scalar maxDim () const
 
scalar avgDim () const
 
label nDim () const
 
tmp< pointFieldpoints () const
 
tmp< pointFieldfaceCentres () const
 
point faceCentre (const direction facei) const
 
void clear ()
 
void add (const boundBox &bb)
 
void add (const point &pt)
 
void add (const UList< point > &points)
 
void add (const tmp< pointField > &tpoints)
 
template<unsigned N>
void add (const FixedList< point, N > &points)
 
template<unsigned N>
void add (const UList< point > &points, const FixedList< label, N > &indices)
 
template<class IntContainer >
void add (const UList< point > &points, const IntContainer &indices)
 
void inflate (const scalar s)
 
void reduce ()
 
bool intersect (const boundBox &bb)
 
bool intersects (const plane &pln) const
 
bool overlaps (const boundBox &bb) const
 
bool overlaps (const point &centre, const scalar radiusSqr) const
 
bool contains (const point &pt) const
 
bool contains (const boundBox &bb) const
 
bool containsInside (const point &pt) const
 
bool contains (const UList< point > &points) const
 
template<unsigned N>
bool contains (const UList< point > &points, const FixedList< label, N > &indices) const
 
template<class IntContainer >
bool contains (const UList< point > &points, const IntContainer &indices) const
 
bool containsAny (const UList< point > &points) const
 
template<unsigned N>
bool containsAny (const UList< point > &points, const FixedList< label, N > &indices) const
 
template<class IntContainer >
bool containsAny (const UList< point > &points, const IntContainer &indices) const
 
point nearest (const point &pt) const
 
void operator+= (const boundBox &bb)
 

Additional Inherited Members

- Public Types inherited from IOobject
enum  objectState : char { GOOD, BAD }
 
enum  readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ }
 
enum  writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 }
 
enum  fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster }
 
- Public Types inherited from treeBoundBox
enum  octantBit : direction { RIGHTHALF = 0x1, TOPHALF = 0x2, FRONTHALF = 0x4 }
 
enum  faceId {
  LEFT = 0, RIGHT = 1, BOTTOM = 2, TOP = 3,
  BACK = 4, FRONT = 5
}
 
enum  faceBit : direction {
  NOFACE = 0, LEFTBIT = 0x1 << LEFT, RIGHTBIT = 0x1 << RIGHT, BOTTOMBIT = 0x1 << BOTTOM,
  TOPBIT = 0x1 << TOP, BACKBIT = 0x1 << BACK, FRONTBIT = 0x1 << FRONT
}
 
enum  edgeId {
  E01 = 0, E13 = 1, E23 = 2, E02 = 3,
  E45 = 4, E57 = 5, E67 = 6, E46 = 7,
  E04 = 8, E15 = 9, E37 = 10, E26 = 11
}
 
- Public Types inherited from boundBox
enum  directionBit : direction { XDIR = 0x1, YDIR = 0x2, ZDIR = 0x4 }
 
- Static Public Member Functions inherited from searchableSurface
static autoPtr< searchableSurfaceNew (const word &surfaceType, const IOobject &io, const dictionary &dict)
 
- Static Public Member Functions inherited from regIOobject
template<class Type >
static Type & store (Type *p)
 
template<class Type >
static Type & store (autoPtr< Type > &ptr)
 
template<class Type >
static Type & store (autoPtr< Type > &&ptr)
 
template<class Type >
static Type & store (refPtr< Type > &ptr)
 
template<class Type >
static Type & store (refPtr< Type > &&ptr)
 
template<class Type >
static Type & store (tmp< Type > &ptr)
 
template<class Type >
static Type & store (tmp< Type > &&ptr)
 
- Static Public Member Functions inherited from IOobject
static bool bannerEnabled () noexcept
 
static bool bannerEnabled (bool on) noexcept
 
static bool fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name)
 
template<class StringType >
static word groupName (StringType base, const word &group)
 
static word group (const word &name)
 
static word member (const word &name)
 
static word scopedName (const std::string &scope, const word &name)
 
static IOobject selectIO (const IOobject &io, const fileName &altFile, const word &ioName="")
 
static OstreamwriteBanner (Ostream &os, const bool noSyntaxHint=false)
 
static OstreamwriteDivider (Ostream &os)
 
static OstreamwriteEndDivider (Ostream &os)
 
- Static Public Member Functions inherited from treeBoundBox
static direction subOctant (const point &mid, const point &pt)
 
static direction subOctant (const point &mid, const point &pt, bool &onEdge)
 
static direction subOctant (const point &mid, const vector &dir, const point &pt, bool &onEdge)
 
- Static Public Attributes inherited from IOobject
static const Enum< fileCheckTypesfileCheckTypesNames
 
static char scopeSeparator
 
static fileCheckTypes fileModificationChecking
 
static float fileModificationSkew
 
static int maxFileModificationPolls
 
- Static Public Attributes inherited from treeBoundBox
static const faceList faces
 
static const edgeList edges
 
- Static Public Attributes inherited from boundBox
static const boundBox greatBox
 
static const boundBox invertedBox
 
static const faceList faces
 
static const FixedList< vector, 6 > faceNormals
 
- Protected Member Functions inherited from regIOobject
bool readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName)
 
- Protected Member Functions inherited from IOobject
void setBad (const string &s)
 
- Static Protected Member Functions inherited from IOobject
static void writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr)
 
static void writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr)
 
- Static Protected Attributes inherited from regIOobject
static bool masterOnlyReading = false
 

Detailed Description

Searching on bounding box.


Dictionary parameters

Property Description Required Default
type box selector
min Minimum point for bounding box yes
max Maximum point for bounding box yes
span Box width cond'l
Note
The order of precedence from the highest to the lowest is min-max or min-span pair
Longer type name : searchableBox
Source files

Definition at line 89 of file searchableBox.H.

Constructor & Destructor Documentation

◆ searchableBox() [1/2]

searchableBox ( const IOobject io,
const treeBoundBox bb 
)

Definition at line 190 of file searchableBox.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and boundBox::valid().

Here is the call graph for this function:

◆ searchableBox() [2/2]

searchableBox ( const IOobject io,
const dictionary dict 
)

Definition at line 211 of file searchableBox.C.

References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, Foam::readBoxDim(), and boundBox::valid().

Here is the call graph for this function:

◆ ~searchableBox()

virtual ~searchableBox ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "searchableBox"  )

◆ regions()

const Foam::wordList & regions ( ) const
virtual

Implements searchableSurface.

Definition at line 235 of file searchableBox.C.

References List::resize().

Referenced by searchableRotatedBox::regions().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hasVolumeType()

virtual bool hasVolumeType ( ) const
inlinevirtual

Reimplemented from searchableSurface.

Definition at line 157 of file searchableBox.H.

◆ outsideVolumeType()

virtual volumeType outsideVolumeType ( ) const
inlinevirtual

Implements searchableSurface.

Definition at line 162 of file searchableBox.H.

References volumeType::OUTSIDE.

◆ size()

virtual label size ( ) const
inlinevirtual

Implements searchableSurface.

Definition at line 168 of file searchableBox.H.

◆ coordinates()

Foam::tmp< Foam::pointField > coordinates ( ) const
virtual

Implements searchableSurface.

Definition at line 246 of file searchableBox.C.

References treeBoundBox::faces, forAll, tmp::New(), and treeBoundBox::points().

Here is the call graph for this function:

◆ boundingSpheres()

void boundingSpheres ( pointField centres,
scalarField radiusSqr 
) const
virtual

Implements searchableSurface.

Definition at line 264 of file searchableBox.C.

References f(), treeBoundBox::faces, forAll, Foam::magSqr(), Foam::max(), treeBoundBox::points(), Foam::sqr(), and Foam::Zero.

Here is the call graph for this function:

◆ points()

Foam::tmp< Foam::pointField > points ( ) const
virtual

Implements searchableSurface.

Definition at line 298 of file searchableBox.C.

References treeBoundBox::points().

Here is the call graph for this function:

◆ overlaps()

virtual bool overlaps ( const boundBox bb) const
inlinevirtual

Implements searchableSurface.

Definition at line 189 of file searchableBox.H.

References boundBox::overlaps().

Here is the call graph for this function:

◆ findNearest() [1/3]

Foam::pointIndexHit findNearest ( const point sample,
const scalar  nearestDistSqr 
) const

Definition at line 305 of file searchableBox.C.

◆ findNearestOnEdge()

Foam::pointIndexHit findNearestOnEdge ( const point sample,
const scalar  nearestDistSqr 
) const

◆ findNearest() [2/3]

Foam::pointIndexHit findNearest ( const linePointRef ln,
treeBoundBox tightest,
point linePoint 
) const

Definition at line 385 of file searchableBox.C.

References NotImplemented.

◆ findLine() [1/2]

Foam::pointIndexHit findLine ( const point start,
const point end 
) const

◆ findLineAny() [1/2]

Foam::pointIndexHit findLineAny ( const point start,
const point end 
) const

Definition at line 460 of file searchableBox.C.

References stdFoam::end().

Here is the call graph for this function:

◆ findNearest() [3/3]

void findNearest ( const pointField sample,
const scalarField nearestDistSqr,
List< pointIndexHit > &  info 
) const
virtual

Implements searchableSurface.

Definition at line 470 of file searchableBox.C.

References forAll, samples(), and List::setSize().

Here is the call graph for this function:

◆ findLine() [2/2]

void findLine ( const pointField start,
const pointField end,
List< pointIndexHit > &  info 
) const
virtual

Implements searchableSurface.

Definition at line 488 of file searchableBox.C.

References stdFoam::end(), forAll, and List::setSize().

Here is the call graph for this function:

◆ findLineAny() [2/2]

void findLineAny ( const pointField start,
const pointField end,
List< pointIndexHit > &  info 
) const
virtual

Implements searchableSurface.

Definition at line 504 of file searchableBox.C.

References stdFoam::end(), forAll, and List::setSize().

Here is the call graph for this function:

◆ findLineAll()

void findLineAll ( const pointField start,
const pointField end,
List< List< pointIndexHit >> &  info 
) const
virtual

◆ getRegion()

void getRegion ( const List< pointIndexHit > &  info,
labelList region 
) const
virtual

Implements searchableSurface.

Definition at line 587 of file searchableBox.C.

References List::setSize().

Here is the call graph for this function:

◆ getNormal()

void getNormal ( const List< pointIndexHit > &  info,
vectorField normal 
) const
virtual

Implements searchableSurface.

Definition at line 598 of file searchableBox.C.

References boundBox::faceNormals, forAll, and Foam::Zero.

◆ getVolumeType()

void getVolumeType ( const pointField points,
List< volumeType > &  volType 
) const
virtual

◆ writeData()

bool writeData ( Ostream ) const
inlinevirtual

Implements regIOobject.

Definition at line 303 of file searchableBox.H.

References NotImplemented.


The documentation for this class was generated from the following files: