Searching on bounding box. More...
Public Member Functions | |
TypeName ("searchableBox") | |
Runtime type information. More... | |
searchableBox (const IOobject &io, const treeBoundBox &bb) | |
Construct from components. More... | |
searchableBox (const IOobject &io, const dictionary &dict) | |
Construct from dictionary (used by searchableSurface) More... | |
virtual | ~searchableBox ()=default |
Destructor. More... | |
virtual const wordList & | regions () const |
Names of regions. More... | |
virtual bool | hasVolumeType () const |
Whether surface supports volume type (below) More... | |
virtual volumeType | outsideVolumeType () const |
What is type of points outside bounds. More... | |
virtual label | size () const |
Range of local indices that can be returned. More... | |
virtual tmp< pointField > | coordinates () const |
Get representative set of element coordinates. More... | |
virtual void | boundingSpheres (pointField ¢res, scalarField &radiusSqr) const |
Get bounding spheres (centre and radius squared), one per element. More... | |
virtual tmp< pointField > | points () const |
Get the points that define the surface. More... | |
virtual bool | overlaps (const boundBox &bb) const |
Does any part of the surface overlap the supplied bound box? More... | |
pointIndexHit | findNearest (const point &sample, const scalar nearestDistSqr) const |
Calculate nearest point on surface. More... | |
pointIndexHit | findNearestOnEdge (const point &sample, const scalar nearestDistSqr) const |
Calculate nearest point on edge. More... | |
pointIndexHit | findNearest (const linePointRef &ln, treeBoundBox &tightest, point &linePoint) const |
Find nearest to segment. More... | |
pointIndexHit | findLine (const point &start, const point &end) const |
Find nearest intersection of line between start and end. More... | |
pointIndexHit | findLineAny (const point &start, const point &end) const |
Find any intersection of line between start and end. More... | |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const |
virtual void | findLine (const pointField &start, const pointField &end, List< pointIndexHit > &) const |
Find first intersection on segment from start to end. More... | |
virtual void | findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const |
Return any intersection on segment from start to end. More... | |
virtual void | findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const |
Get all intersections in order from start to end. More... | |
virtual void | getRegion (const List< pointIndexHit > &, labelList ®ion) const |
From a set of points and indices get the region. More... | |
virtual void | getNormal (const List< pointIndexHit > &, vectorField &normal) const |
From a set of points and indices get the normal. More... | |
virtual void | getVolumeType (const pointField &points, List< volumeType > &volType) const |
Determine type (inside/outside) for points. More... | |
bool | writeData (Ostream &) const |
Pure virtual writeData function. More... | |
Public Member Functions inherited from searchableSurface | |
TypeName ("searchableSurface") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, searchableSurface, dict,(const IOobject &io, const dictionary &dict),(io, dict)) | |
searchableSurface (const IOobject &io) | |
virtual autoPtr< searchableSurface > | clone () const |
Clone. More... | |
virtual | ~searchableSurface ()=default |
Destructor. More... | |
virtual bool | global () const |
Is object global. More... | |
virtual fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
virtual const boundBox & | bounds () const |
Return const reference to boundBox. More... | |
virtual boundBox & | bounds () |
Return non-const access to the boundBox to allow it to be set. More... | |
virtual label | globalSize () const |
Range of global indices that can be returned. More... | |
virtual void | findNearest (const pointField &samples, const scalarField &nearestDistSqr, const labelList ®ionIndices, List< pointIndexHit > &info) const |
Find the nearest locations for the supplied points to a. More... | |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &, vectorField &normal, labelList ®ion) const |
Find nearest, normal and region. Can be overridden with. More... | |
virtual void | distribute (const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< mapDistribute > &faceMap, autoPtr< mapDistribute > &pointMap) |
Set bounds of surface. Bounds currently set as list of. More... | |
virtual void | setField (const labelList &values) |
WIP. Store element-wise field. More... | |
virtual void | getField (const List< pointIndexHit > &, labelList &values) const |
WIP. From a set of hits (points and. More... | |
Public Member Functions inherited from regIOobject | |
void | operator= (const regIOobject &)=delete |
No copy assignment. More... | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTimeObject=false) | |
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIOobject (eg, Time). More... | |
regIOobject (const regIOobject &rio) | |
Copy construct. More... | |
regIOobject (const regIOobject &rio, bool registerCopy) | |
Copy construct, transferring registry registration to the copy if registerCopy is true. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy construct with new name, transferring registry registration to the copy if registerCopy is true. More... | |
regIOobject (const IOobject &io, const regIOobject &rio) | |
Copy construct with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
bool | checkIn () |
Add object to registry, if not already registered. More... | |
bool | checkOut () |
Remove object from registry, and remove all file watches. More... | |
virtual void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | registered () const noexcept |
Query the registered state (ie, has been checked in). This is not necessarily the same as registerObject(), which is just a stated preference. More... | |
bool | ownedByRegistry () const noexcept |
Is this object owned by the registry? More... | |
bool | store () |
Register object with its registry and transfer ownership to the registry. More... | |
void | release (const bool unregister=false) noexcept |
Set object as not ownedByRegistry. More... | |
label | eventNo () const noexcept |
Event number at last update. More... | |
label & | eventNo () noexcept |
Event number at last update. More... | |
bool | upToDate (const regIOobject &) const |
Return true if up-to-date with respect to given object. More... | |
bool | upToDate (const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
bool | upToDate (const regIOobject &, const regIOobject &, const regIOobject &, const regIOobject &) const |
Return true if up-to-date with respect to given objects. More... | |
void | setUpToDate () |
Set as up-to-date. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
const dictionary * | findMetaData () const noexcept |
Return pointer to meta-data or nullptr. More... | |
dictionary & | getMetaData () noexcept |
Get or create meta-data. More... | |
void | removeMetaData () |
Remove meta-data. More... | |
virtual void | updateMetaData () |
Update internal meta-data (eg, prior to writing) More... | |
bool | headerOk () |
Read and check header info. Does not check the headerClassName. More... | |
Istream & | readStream (const word &, const bool readOnProc=true) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
virtual bool | read () |
Read object. More... | |
virtual label | addWatch (const fileName &) |
Add file watch for fileName on object if not yet watched. More... | |
const labelList & | watchIndices () const noexcept |
Read access to file-monitoring handles. More... | |
labelList & | watchIndices () noexcept |
Write access to file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) have been modified. (modified state is cached by Time) More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeObject (IOstreamOption streamOpt, const bool writeOnProc) const |
Write using stream options. More... | |
virtual bool | write (const bool writeOnProc=true) const |
Write using setting from DB. More... | |
void | operator= (const IOobject &io) |
Copy assignment. More... | |
virtual bool | writeObject (IOstreamOption::streamFormat fmt, IOstreamOption::versionNumber ver, IOstreamOption::compressionType cmp, const bool writeOnProc) const |
Write using given format, version and compression. More... | |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Declare type-name, virtual type (with debug switch) More... | |
IOobject (const IOobject &)=default | |
Copy construct. More... | |
virtual | ~IOobject ()=default |
Destructor. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption ioOpt=IOobjectOption()) | |
Construct from path, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, registry, io options. More... | |
IOobject (const word &name, const fileName &instance, const fileName &local, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt=IOobjectOption::NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Copy construct, resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Copy construct, resetting name. More... | |
IOobject (const IOobject &io, const word &name, const fileName &local) | |
Copy construct, resetting name and local component. More... | |
IOobject (const IOobject &io, IOobjectOption::readOption rOpt, IOobjectOption::writeOption wOpt) | |
Copy construct, resetting read/write options. More... | |
IOobject (const IOobject &io, IOobjectOption::registerOption regOpt) | |
Copy construct, resetting register option. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
const objectRegistry & | db () const noexcept |
Return the local objectRegistry. More... | |
const Time & | time () const noexcept |
Return Time associated with the objectRegistry. More... | |
const word & | name () const noexcept |
Return the object name. More... | |
const word & | headerClassName () const noexcept |
Return name of the class name read from header. More... | |
word & | headerClassName () noexcept |
Return non-constant access to the class name read from header. More... | |
const string & | note () const noexcept |
Return the optional note. More... | |
string & | note () noexcept |
Modifiable access to the optional note. More... | |
unsigned | labelByteSize () const noexcept |
The sizeof (label) in bytes, possibly read from the header. More... | |
unsigned | scalarByteSize () const noexcept |
The sizeof (scalar) in bytes, possibly read from the header. More... | |
void | resetHeader (const word &newName=word::null) |
Clear various bits (headerClassName, note, sizeof...) that would be obtained when reading from a file. More... | |
bool | hasHeaderClass () const noexcept |
True if headerClassName() is non-empty (after reading) More... | |
template<class Type > | |
bool | isHeaderClass () const |
Check if headerClassName() equals Type::typeName. More... | |
template<class Type > | |
bool | isHeaderClassName () const |
Same as isHeaderClass() More... | |
word | group () const |
Return group (extension part of name) More... | |
word | member () const |
Return member (name without the extension) More... | |
const fileName & | rootPath () const noexcept |
Return the Time::rootPath() More... | |
const fileName & | caseName () const noexcept |
Return the Time::caseName() More... | |
const fileName & | globalCaseName () const noexcept |
Return the Time::globalCaseName() More... | |
const fileName & | instance () const noexcept |
Read access to instance path component. More... | |
fileName & | instance () noexcept |
Write access to instance path component. More... | |
const fileName & | local () const noexcept |
Read access to local path component. More... | |
fileName | path () const |
The complete path for the object (with instance, local,...). More... | |
fileName | globalPath () const |
The complete global path for the object (with instance, local,...) More... | |
fileName | path (const word &instance, const fileName &local=fileName::null) const |
The complete path with alternative instance and local. More... | |
fileName | globalPath (const word &instance, const fileName &local=fileName::null) const |
The complete global path with alternative instance and local. More... | |
fileName | objectPath () const |
The complete path + object name. More... | |
fileName | globalObjectPath () const |
The complete global path + object name. More... | |
fileName | objectRelPath () const |
The object path relative to the root. More... | |
fileName | localFilePath (const word &typeName, const bool search=true) const |
Redirect to fileHandler filePath, searching locally. More... | |
fileName | globalFilePath (const word &typeName, const bool search=true) const |
Redirect to fileHandler filePath, searching up if in parallel. More... | |
IOstreamOption | parseHeader (const dictionary &headerDict) |
Parse 'FoamFile' header contents and set the IOobject characteristics and return the stream characteristics. More... | |
bool | readHeader (Istream &is) |
Read header ('FoamFile' dictionary) and set the IOobject and stream characteristics. More... | |
bool | readHeader (dictionary &headerDict, Istream &is) |
Read header (the 'FoamFile' dictionary) and set the IOobject and stream characteristics. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType=true, const bool search=true, const bool verbose=true) |
Read header (respects is_globalIOobject trait) and check its info. More... | |
template<class Type > | |
fileName | typeFilePath (const bool search=true) const |
Call localFilePath or globalFilePath for given type depending on its is_globalIOobject trait. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &os) const |
Write header with current type() More... | |
bool | writeHeader (Ostream &os, const word &objectType) const |
Write header with override of type. More... | |
void | writeHeader (dictionary &dict, IOstreamOption streamOpt) const |
Write header into a dictionary with current type() and given output format. More... | |
void | writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const |
Write header into a dictionary with override of type and given output format. More... | |
bool | good () const noexcept |
Did last readHeader() succeed? More... | |
bool | bad () const noexcept |
Did last readHeader() fail? More... | |
InfoProxy< IOobject > | info () const noexcept |
Return info proxy, for printing information to a stream. More... | |
void | operator= (const IOobject &io) |
Copy assignment, copies all values (except the registry) More... | |
template<> | |
bool | isHeaderClass () const |
Specialization for void always returns true (no headerClassName check). More... | |
template<class StringType > | |
Foam::word | groupName (StringType base, const word &group) |
template<class Type > | |
Foam::fileName | typeFilePath (const bool search) const |
Public Member Functions inherited from IOobjectOption | |
constexpr | IOobjectOption (readOption rOpt=readOption::NO_READ, writeOption wOpt=writeOption::NO_WRITE, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Default construct (NO_READ, NO_WRITE, REGISTER, non-global) or construct with specified options. More... | |
constexpr | IOobjectOption (readOption rOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Construct NO_WRITE with specified read/register options. More... | |
constexpr | IOobjectOption (writeOption wOpt, registerOption registerObject=registerOption::REGISTER, bool globalObject=false) noexcept |
Construct NO_READ with specified write/register options. More... | |
constexpr | IOobjectOption (registerOption registerObject, bool globalObject=false) noexcept |
Construct (NO_READ, NO_WRITE) with specified register option. More... | |
constexpr | IOobjectOption (readOption rOpt, writeOption wOpt, bool registerObject, bool globalObject=false) noexcept |
Construct from components with specified register option as bool. More... | |
constexpr | IOobjectOption (bool registerObject, bool globalObject=false) noexcept |
Construct (NO_READ, NO_WRITE) with specified register option as bool. More... | |
readOption | readOpt () const noexcept |
Get the read option. More... | |
readOption | readOpt (readOption opt) noexcept |
Set the read option. More... | |
writeOption | writeOpt () const noexcept |
Get the write option. More... | |
writeOption | writeOpt (writeOption opt) noexcept |
Set the write option. More... | |
bool | registerObject () const noexcept |
Should objects created with this IOobject be registered? More... | |
bool | registerObject (bool on) noexcept |
Change registration preference. More... | |
bool | globalObject () const noexcept |
True if object is treated the same for all processors. More... | |
bool | globalObject (bool on) noexcept |
Change global-object status. More... | |
bool | isAnyRead () const noexcept |
True if any reading may be required (ie, != NO_READ) More... | |
bool | isReadRequired () const noexcept |
True if (MUST_READ | READ_MODIFIED) bits are set. More... | |
bool | isReadOptional () const noexcept |
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More... | |
readOption & | readOpt () noexcept |
Access to the read option. More... | |
writeOption & | writeOpt () noexcept |
Access to the write option. More... | |
bool & | registerObject () noexcept |
Access to the register object option. More... | |
bool & | globalObject () noexcept |
Access to the global object option. More... | |
Public Member Functions inherited from treeBoundBox | |
treeBoundBox ()=default | |
Default construct: an inverted bounding box. More... | |
treeBoundBox (const treeBoundBox &)=default | |
Copy construct. More... | |
treeBoundBox & | operator= (const treeBoundBox &)=default |
Copy assignment. More... | |
treeBoundBox (const boundBox &bb) | |
Copy construct from a boundBox. More... | |
void | operator= (const boundBox &bb) |
Copy assignment from a boundBox. More... | |
treeBoundBox (const Foam::zero_one) | |
Construct a 0/1 unit bounding box. More... | |
treeBoundBox (const point &p) | |
Construct a bounding box containing a single initial point. More... | |
treeBoundBox (const point &min, const point &max) | |
Construct from bound box min/max points. More... | |
treeBoundBox (const Pair< point > &bb) | |
Construct from bound box min/max points. More... | |
treeBoundBox (const UList< point > &points) | |
Construct as the bounding box of the given pointField. More... | |
treeBoundBox (const UList< point > &points, const labelUList &indices) | |
Construct as subset of points. More... | |
template<unsigned N> | |
treeBoundBox (const UList< point > &points, const FixedList< label, N > &indices) | |
Construct as subset of points. More... | |
treeBoundBox (Istream &is) | |
Construct from Istream. More... | |
tmp< pointField > | points () const |
Vertex coordinates. In octant coding. More... | |
point | corner (const direction octant) const |
Corner point of given octant. More... | |
treeBoundBox | subBbox (const direction octant) const |
Sub-box of given octant. Midpoint calculated. More... | |
treeBoundBox | subBbox (const point &mid, const direction) const |
Sub-box given by octant number. Midpoint provided. More... | |
treeBoundBox | subHalf (const direction whichFace) const |
Sub-box half for given face. More... | |
treeBoundBox | subHalf (const scalar mid, const direction whichFace) const |
Sub-box half for given face with prescribed mid point value. Eg, subHalf(scalar, LEFT) More... | |
direction | subOctant (const point &pt) const |
Returns octant number given point and the calculated midpoint. More... | |
direction | subOctant (const point &pt, bool &onEdge) const |
Returns octant number given point and the calculated midpoint. More... | |
void | searchOrder (const point &pt, FixedList< direction, 8 > &octantOrder) const |
Calculates optimal order to look for nearest to point. More... | |
FixedList< direction, 8 > | searchOrder (const point &pt) const |
Return optimal search order to look for nearest to point. More... | |
bool | subOverlaps (const direction octant, const boundBox &bb) const |
Does sub-octant overlap/touch boundingBox? More... | |
bool | subOverlaps (const direction octant, const point ¢re, const scalar radiusSqr) const |
Does sub-octant overlap boundingSphere (centre + sqr(radius))? More... | |
bool | intersects (const point &overallStart, const vector &overallVec, const point &start, const point &end, point &pt, direction &ptBits) const |
Intersects segment; set point to intersection position and face,. More... | |
bool | intersects (const point &start, const point &end, point &pt) const |
Like above but does not return faces point is on. More... | |
bool | intersects (const linePointRef &ln, point &pt) const |
Like above but does not return faces point is on. More... | |
bool | contains (const vector &dir, const point &) const |
Contains point (inside or on edge) and moving in direction. More... | |
direction | faceBits (const point &pt) const |
Code position of point on bounding box faces. More... | |
direction | posBits (const point &pt) const |
Position of point relative to bounding box. More... | |
void | calcExtremities (const point &pt, point &nearest, point &furthest) const |
Calculate nearest and furthest (to point) vertex coords of. More... | |
scalar | maxDist (const point &pt) const |
Returns distance point to furthest away corner. More... | |
label | distanceCmp (const point &pt, const treeBoundBox &other) const |
Compare distance to point with other bounding box. More... | |
treeBoundBox | extend (Random &rndGen, const scalar s) const |
Return slightly wider bounding box. More... | |
treeBoundBox | extend (Random &rndGen, const scalar s, const scalar delta) const |
As per two parameter version but with additional grow() by given amount in each dimension. More... | |
scalar | typDim () const |
Typical dimension length,height,width. Identical to avgDim() More... | |
bool | overlaps (const boundBox &bb) const |
Overlaps with other bounding box, sphere etc? More... | |
bool | overlaps (const point ¢re, const scalar radiusSqr) const |
Overlaps with other bounding box, sphere etc? More... | |
bool | intersects (const plane &pln) const |
intersects other bounding box, sphere etc? More... | |
bool | intersects (const triPointRef &tri) const |
intersects other bounding box, sphere etc? More... | |
bool | contains (const point &pt) const |
Contains point or other bounding box? More... | |
bool | contains (const boundBox &bb) const |
Contains point or other bounding box? More... | |
bool | contains (const UList< point > &points) const |
Contains point or other bounding box? More... | |
template<unsigned N> | |
bool | contains (const UList< point > &points, const FixedList< label, N > &indices) const |
Contains point or other bounding box? More... | |
template<class IntContainer > | |
bool | contains (const UList< point > &points, const IntContainer &indices) const |
Contains point or other bounding box? More... | |
Public Member Functions inherited from boundBox | |
boundBox () | |
Default construct: an inverted bounding box. More... | |
boundBox (const boundBox &)=default | |
Copy construct. More... | |
boundBox & | operator= (const boundBox &)=default |
Copy assignment. More... | |
boundBox (const boundBox &bb, bool doReduce) | |
Copy construct with specified global reduction. More... | |
boundBox (const point &p) | |
Construct a bounding box containing a single initial point. More... | |
boundBox (const Foam::zero_one) | |
Construct a 0/1 unit bounding box. More... | |
boundBox (const point &min, const point &max) | |
Construct from bound box min/max points. More... | |
boundBox (const Pair< point > &bb) | |
Construct from bound box min/max points. More... | |
boundBox (const UList< point > &points, bool doReduce=true) | |
Construct as the bounding box of the given points. More... | |
boundBox (const tmp< pointField > &tpoints, bool doReduce=true) | |
Construct as the bounding box of the given temporary pointField. More... | |
boundBox (const UList< point > &points, const labelUList &indices, bool doReduce=true) | |
Construct bounding box as an indirect subset of the points. More... | |
template<unsigned N> | |
boundBox (const UList< point > &points, const FixedList< label, N > &indices, bool doReduce=true) | |
Construct bounding box as an indirect subset of the points. More... | |
boundBox (Istream &is) | |
Construct from Istream. More... | |
bool | empty () const |
Bounding box is inverted, contains no points. More... | |
bool | good () const |
Bounding box is non-inverted. More... | |
bool | valid () const |
Bounding box is non-inverted - same as good(). More... | |
const point & | min () const noexcept |
Minimum describing the bounding box. More... | |
const point & | max () const noexcept |
Maximum describing the bounding box. More... | |
point & | min () noexcept |
Minimum describing the bounding box, non-const access. More... | |
point & | max () noexcept |
Maximum describing the bounding box, non-const access. More... | |
point | centre () const |
The centre (midpoint) of the bounding box. More... | |
vector | span () const |
The bounding box span (from minimum to maximum) More... | |
scalar | mag () const |
The magnitude/length of the bounding box diagonal. More... | |
scalar | magSqr () const |
The magnitude/length squared of bounding box diagonal. More... | |
scalar | volume () const |
The volume of the bound box. More... | |
scalar | minDim () const |
Smallest length/height/width dimension. More... | |
scalar | maxDim () const |
Largest length/height/width dimension. More... | |
scalar | avgDim () const |
Average length/height/width dimension. More... | |
direction | minDir () const |
Direction (X/Y/Z) of the smallest span (for empty box: 0) More... | |
direction | maxDir () const |
Direction (X/Y/Z) of the largest span (for empty box: 0) More... | |
int | nDim () const |
Count the number of positive, non-zero dimensions. More... | |
template<direction CornerNumber> | |
point | hexCorner () const |
Return corner point [0..7] corresponding to a 'hex' cell. More... | |
tmp< pointField > | hexCorners () const |
Corner points in an order corresponding to a 'hex' cell. More... | |
tmp< pointField > | points () const |
Corner points in an order corresponding to a 'hex' cell. More... | |
tmp< pointField > | faceCentres () const |
Face midpoints. More... | |
point | faceCentre (const direction facei) const |
Face centre of given face index. More... | |
void | reset () |
Reset to an inverted box. More... | |
void | reset (const Foam::zero_one) |
Reset to a 0/1 unit bounding box. More... | |
void | reset (const point &pt) |
Reset min/max to be identical to the specified point. More... | |
void | reset (const point &min, const point &max) |
Reset min/max to specified values. More... | |
void | clear () |
Same as reset() - reset to an inverted box. More... | |
void | add (const boundBox &bb) |
Extend to include the second box. More... | |
void | add (const point &pt) |
Extend to include the point. More... | |
void | add (const point &pt0, const point &pt1) |
Extend to include two additional points. More... | |
void | add (const Pair< point > &points) |
Extend to include two additional points. More... | |
void | add (const UList< point > &points) |
Extend to include the points. More... | |
void | add (const tmp< pointField > &tpoints) |
Extend to include the points from the temporary point field. More... | |
template<unsigned N> | |
void | add (const FixedList< point, N > &points) |
Extend to include the points. More... | |
template<unsigned N> | |
void | add (const UList< point > &points, const FixedList< label, N > &indices) |
Extend to include a (subsetted) point field. More... | |
template<class IntContainer > | |
void | add (const UList< point > &points, const IntContainer &indices) |
Extend to include a (subsetted) point field. More... | |
void | grow (const scalar delta) |
Expand box by adjusting min/max by specified amount in each dimension. More... | |
void | grow (const vector &delta) |
Expand box by adjusting min/max by specified amounts. More... | |
void | inflate (const scalar factor) |
Expand box by factor*mag(span) in all dimensions. More... | |
void | inflate (Random &rndGen, const scalar factor) |
Expand box slightly by expanding all dimensions with factor*span*(random 0-1) and guarantees factor*mag(span) minimum width in any direction. More... | |
void | inflate (Random &r, const scalar factor, const scalar delta) |
As per two parameter version but with additional grow() by given amount in each dimension. More... | |
void | reduce () |
Inplace parallel reduction of min/max values. More... | |
bool | intersects (const plane &pln) const |
Does plane intersect this bounding box. More... | |
bool | intersects (const triPointRef &tri) const |
Does triangle intersect this bounding box or is contained within this bounding box. More... | |
bool | overlaps (const boundBox &bb) const |
Overlaps/touches boundingBox? More... | |
bool | overlaps (const point ¢re, const scalar radiusSqr) const |
Overlaps boundingSphere (centre + sqr(radius))? More... | |
bool | contains (const point &pt) const |
Contains point? (inside or on edge) More... | |
bool | contains (const boundBox &bb) const |
Fully contains other boundingBox? More... | |
bool | containsInside (const point &pt) const |
Contains point? (inside only) More... | |
bool | contains (const UList< point > &points) const |
Contains all points? (inside or on edge) More... | |
template<unsigned N> | |
bool | contains (const UList< point > &points, const FixedList< label, N > &indices) const |
Contains all of the (subsetted) points? (inside or on edge) More... | |
template<class IntContainer > | |
bool | contains (const UList< point > &points, const IntContainer &indices) const |
Contains all of the (subsetted) points? (inside or on edge) More... | |
bool | containsAny (const UList< point > &points) const |
Contains any of the points? (inside or on edge) More... | |
template<unsigned N> | |
bool | containsAny (const UList< point > &points, const FixedList< label, N > &indices) const |
Contains any of the (subsetted) points? (inside or on edge) More... | |
template<class IntContainer > | |
bool | containsAny (const UList< point > &points, const IntContainer &indices) const |
Contains any of the (subsetted) points? (inside or on edge) More... | |
point | nearest (const point &p) const |
Return the nearest point on the boundBox to the supplied point. More... | |
void | operator &= (const boundBox &bb) |
Restrict min/max to union with other box. More... | |
void | operator+= (const boundBox &bb) |
Extend box to include the second box, as per the add() method. More... | |
bool | intersect (const boundBox &bb) |
Deprecated(2022-10) - use 'operator&=' to avoid confusion with other intersects() methods. More... | |
point | midpoint () const |
Identical to centre() More... | |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<> | |
Foam::point | hexCorner () const |
template<Foam::direction CornerNumber> | |
Foam::point | hexCorner () const |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | objectState : char { GOOD, BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster } |
Enumeration defining the file checking options. More... | |
Public Types inherited from IOobjectOption | |
enum | readOption : unsigned char { NO_READ = 0, MUST_READ = 0x1, READ_MODIFIED = 0x3, MUST_READ_IF_MODIFIED = 0x3, LAZY_READ = 0x4, READ_IF_PRESENT = 0x4 } |
Enumeration defining read preferences. More... | |
enum | writeOption : unsigned char { NO_WRITE = 0, AUTO_WRITE = 0x10 } |
Enumeration defining write preferences. More... | |
enum | registerOption : unsigned char { NO_REGISTER = 0, REGISTER = 1, LEGACY_REGISTER = 2 } |
Enumeration for use with registerObject(). Values map to bool (false/true) More... | |
Public Types inherited from treeBoundBox | |
enum | octantBit : direction { RIGHTHALF = 1, TOPHALF = 2, FRONTHALF = 4 } |
Bits used for octant/point directional encoding. More... | |
enum | faceId : direction { LEFT = 0, RIGHT = 1, BOTTOM = 2, TOP = 3, BACK = 4, FRONT = 5 } |
Face codes. Identical order and meaning as per hex cellmodel and boundBox, but have a different point ordering. More... | |
enum | faceBit : direction { NOFACE = 0, LEFTBIT = (1 << LEFT), RIGHTBIT = (1 << RIGHT), BOTTOMBIT = (1 << BOTTOM), TOPBIT = (1 << TOP), BACKBIT = (1 << BACK), FRONTBIT = (1 << FRONT) } |
Bits used for face encoding. More... | |
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 } |
Edges codes. More... | |
Public Types inherited from boundBox | |
enum | directionBit : direction { XDIR = 1, YDIR = 2, ZDIR = 4 } |
Bits used for (x/y/z) directional encoding. More... | |
Static Public Member Functions inherited from searchableSurface | |
static autoPtr< searchableSurface > | New (const word &surfaceType, const IOobject &io, const dictionary &dict) |
Return a reference to the selected searchableSurface. More... | |
Static Public Member Functions inherited from regIOobject | |
template<class Type > | |
static Type & | store (Type *p) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (std::unique_ptr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (refPtr< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (refPtr< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (tmp< Type > &ptr) |
Transfer pointer ownership to its registry. More... | |
template<class Type > | |
static Type & | store (tmp< Type > &&ptr) |
Transfer pointer ownership to its registry. More... | |
Static Public Member Functions inherited from IOobject | |
static bool | bannerEnabled () noexcept |
Status of output file banner. More... | |
static bool | bannerEnabled (bool on) noexcept |
Enable/disable output file banner. More... | |
static bool | fileNameComponents (const fileName &path, fileName &instance, fileName &local, word &name) |
Split path into instance, local, name components. More... | |
template<class StringType > | |
static word | groupName (StringType base, const word &group) |
Create dot-delimited name.group string. More... | |
static word | group (const word &name) |
Return group (extension part of name) More... | |
static word | member (const word &name) |
Return member (name without the extension) More... | |
static word | scopedName (const std::string &scope, const word &name) |
Create scope:name or scope_name string. More... | |
static word | scopedName (const std::string &scope, const word &name1, const word &name2) |
Create scope:name1:name2 or scope_name1_name2 string. More... | |
static IOobject | selectIO (const IOobject &io, const fileName &altFile, const word &ioName="") |
Return the IOobject, but also consider an alternative file name. More... | |
static Ostream & | writeBanner (Ostream &os, const bool noSyntaxHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
static Ostream & | writeDivider (Ostream &os) |
Write the standard file section divider. More... | |
static Ostream & | writeEndDivider (Ostream &os) |
Write the standard end file divider. More... | |
Static Public Member Functions inherited from IOobjectOption | |
static bool | isAnyRead (readOption opt) noexcept |
True if any reading may be required (ie, != NO_READ) More... | |
static bool | isReadRequired (readOption opt) noexcept |
True if (MUST_READ | READ_MODIFIED) bits are set. More... | |
static bool | isReadOptional (readOption opt) noexcept |
True if (LAZY_READ) bits are set [same as READ_IF_PRESENT]. More... | |
static readOption | lazierRead (readOption opt) noexcept |
Downgrade readOption optional (LAZY_READ), leaves NO_READ intact. More... | |
Static Public Member Functions inherited from treeBoundBox | |
static const treeBoundBox & | null () noexcept |
The null treeBoundBox is the same as an inverted box. More... | |
static direction | subOctant (const point &mid, const point &pt) |
Returns octant number given point and midpoint. More... | |
static direction | subOctant (const point &mid, const point &pt, bool &onEdge) |
Returns octant number given point and midpoint. More... | |
static direction | subOctant (const point &mid, const vector &dir, const point &pt, bool &onEdge) |
Returns octant number given intersection and midpoint. More... | |
Static Public Member Functions inherited from boundBox | |
static const boundBox & | null () noexcept |
The null boundBox is the same as an inverted box. More... | |
static const Foam::faceList & | hexFaces () |
The boundBox faces as a hexCell, using hexCorner points. Same as hexCell::modelFaces() More... | |
static constexpr label | nPoints () noexcept |
Number of points for boundBox and HEX. More... | |
static constexpr label | nEdges () noexcept |
Number of edges for boundBox and HEX. More... | |
static constexpr label | nFaces () noexcept |
Number of faces for boundBox and HEX. More... | |
static boundBox | returnReduce (const boundBox &bb) |
Perform a reduction on a copy and return the result. More... | |
Static Public Attributes inherited from IOobject | |
static const Enum< fileCheckTypes > | fileCheckTypesNames |
Names for the fileCheckTypes. More... | |
static char | scopeSeparator |
Character for scoping object names (':' or '_') More... | |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
static float | fileModificationSkew |
Time skew (seconds) for file modification checks. More... | |
static int | maxFileModificationPolls |
Max number of times to poll for file modification changes. More... | |
Static Public Attributes inherited from treeBoundBox | |
static const faceList | faces |
Face to point addressing, using octant corner points. More... | |
static const edgeList | edges |
Edge to point addressing, using octant corner points. More... | |
Static Public Attributes inherited from boundBox | |
static const boundBox | greatBox |
A large boundBox: min/max == -/+ ROOTVGREAT. More... | |
static const boundBox | invertedBox |
A large inverted boundBox: min/max == +/- ROOTVGREAT. More... | |
static const FixedList< vector, 6 > | faceNormals |
The unit normal per face. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &s) |
Set the object state to bad. More... | |
Static Protected Member Functions inherited from IOobject | |
static void | writeHeaderContent (Ostream &os, const IOobject &io, const word &objectType, const dictionary *metaDataDict=nullptr) |
Helper: write content for FoamFile IOobject header with optional meta information. More... | |
static void | writeHeaderContent (dictionary &dict, const IOobject &io, const word &objectType, IOstreamOption streamOpt, const dictionary *metaDataDict=nullptr) |
Helper: write dictionary content for FoamFile header with optional meta information. More... | |
Static Protected Member Functions inherited from boundBox | |
static bool | box_box_overlaps (const point &minA, const point &maxA, const point &minB, const point &maxB) |
Test for overlap of box and box (inclusive check) More... | |
static bool | box_sphere_overlaps (const point &corner0, const point &corner1, const point ¢re, const scalar radiusSqr) |
Test for overlap of box and boundingSphere (centre + sqr(radius)) More... | |
Static Protected Attributes inherited from regIOobject | |
static bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
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 |
min-max
or min-span
pairsearchableBox
Definition at line 89 of file searchableBox.H.
searchableBox | ( | const IOobject & | io, |
const treeBoundBox & | bb | ||
) |
Construct from components.
Definition at line 194 of file searchableBox.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, boundBox::good(), and Foam::nl.
searchableBox | ( | const IOobject & | io, |
const dictionary & | dict | ||
) |
Construct from dictionary (used by searchableSurface)
Definition at line 215 of file searchableBox.C.
References dict, Foam::exit(), Foam::FatalError, FatalErrorInFunction, boundBox::good(), Foam::nl, and Foam::readBoxDim().
|
virtualdefault |
Destructor.
TypeName | ( | "searchableBox" | ) |
Runtime type information.
|
virtual |
Names of regions.
Implements searchableSurface.
Definition at line 239 of file searchableBox.C.
References List< T >::resize().
Referenced by searchableRotatedBox::regions().
|
inlinevirtual |
Whether surface supports volume type (below)
Reimplemented from searchableSurface.
Definition at line 179 of file searchableBox.H.
|
inlinevirtual |
What is type of points outside bounds.
Implements searchableSurface.
Definition at line 186 of file searchableBox.H.
References volumeType::OUTSIDE.
|
inlinevirtual |
Range of local indices that can be returned.
Implements searchableSurface.
Definition at line 194 of file searchableBox.H.
|
virtual |
Get representative set of element coordinates.
Usually the element centres (should be of length size()).
Implements searchableSurface.
Definition at line 250 of file searchableBox.C.
References treeBoundBox::faces, forAll, tmp< T >::New(), treeBoundBox::points(), and pts.
|
virtual |
Get bounding spheres (centre and radius squared), one per element.
Any point on element is guaranteed to be inside.
Implements searchableSurface.
Definition at line 268 of file searchableBox.C.
References f(), treeBoundBox::faces, forAll, Foam::max(), treeBoundBox::points(), pts, List< T >::setSize(), Foam::sqr(), and Foam::Zero.
|
virtual |
Get the points that define the surface.
Implements searchableSurface.
Definition at line 298 of file searchableBox.C.
References treeBoundBox::points().
|
inlinevirtual |
Does any part of the surface overlap the supplied bound box?
Implements searchableSurface.
Definition at line 223 of file searchableBox.H.
References boundBox::overlaps().
Foam::pointIndexHit findNearest | ( | const point & | sample, |
const scalar | nearestDistSqr | ||
) | const |
Calculate nearest point on surface.
Returns
Definition at line 305 of file searchableBox.C.
Foam::pointIndexHit findNearestOnEdge | ( | const point & | sample, |
const scalar | nearestDistSqr | ||
) | const |
Calculate nearest point on edge.
Returns
Definition at line 315 of file searchableBox.C.
References Foam::cmptMag(), SortableList< T >::indices(), Foam::max(), Foam::min(), Foam::expressions::Detail::nComponents(), PointIndexHit< PointType >::point(), PointIndexHit< PointType >::setIndex(), PointIndexHit< PointType >::setMiss(), and SortableList< T >::sort().
Foam::pointIndexHit findNearest | ( | const linePointRef & | ln, |
treeBoundBox & | tightest, | ||
point & | linePoint | ||
) | const |
Find nearest to segment.
Returns
Definition at line 385 of file searchableBox.C.
References NotImplemented.
Foam::pointIndexHit findLine | ( | const point & | start, |
const point & | end | ||
) | const |
Find nearest intersection of line between start and end.
Definition at line 397 of file searchableBox.C.
References Foam::abort(), stdFoam::end(), Foam::FatalError, FatalErrorInFunction, PointIndexHit< PointType >::index(), Foam::max(), Foam::min(), Foam::expressions::Detail::nComponents(), PointIndexHit< PointType >::point(), PointIndexHit< PointType >::setHit(), and PointIndexHit< PointType >::setIndex().
Foam::pointIndexHit findLineAny | ( | const point & | start, |
const point & | end | ||
) | const |
Find any intersection of line between start and end.
Definition at line 460 of file searchableBox.C.
References stdFoam::end().
|
virtual |
Implements searchableSurface.
Definition at line 470 of file searchableBox.C.
References forAll, samples(), List< T >::setSize(), and UList< T >::size().
|
virtual |
Find first intersection on segment from start to end.
Note: searchableSurfacesQueries expects no intersection to be found if start==end. Is problem?
Implements searchableSurface.
Definition at line 488 of file searchableBox.C.
References stdFoam::end(), forAll, List< T >::setSize(), and UList< T >::size().
|
virtual |
Return any intersection on segment from start to end.
Implements searchableSurface.
Definition at line 504 of file searchableBox.C.
References stdFoam::end(), forAll, List< T >::setSize(), and UList< T >::size().
|
virtual |
Get all intersections in order from start to end.
Implements searchableSurface.
Definition at line 520 of file searchableBox.C.
References DynamicList< T, SizeMin >::append(), List< T >::clear(), DynamicList< T, SizeMin >::clear(), stdFoam::end(), forAll, PointIndexHit< PointType >::hit(), PointIndexHit< PointType >::hitPoint(), PointIndexHit< PointType >::index(), UList< T >::last(), Foam::magSqr(), List< T >::setSize(), UList< T >::size(), and List< T >::transfer().
|
virtual |
From a set of points and indices get the region.
Implements searchableSurface.
Definition at line 587 of file searchableBox.C.
References List< T >::setSize(), and UList< T >::size().
|
virtual |
From a set of points and indices get the normal.
Implements searchableSurface.
Definition at line 598 of file searchableBox.C.
References boundBox::faceNormals, forAll, List< T >::setSize(), UList< T >::size(), and Foam::Zero.
|
virtual |
Determine type (inside/outside) for points.
Implements searchableSurface.
Definition at line 621 of file searchableBox.C.
References treeBoundBox::contains(), forAll, volumeType::INSIDE, volumeType::OUTSIDE, points, List< T >::resize_nocopy(), and UList< T >::size().
|
inlinevirtual |
Pure virtual writeData function.
Must be defined in derived types
Implements regIOobject.
Definition at line 358 of file searchableBox.H.
References NotImplemented.