Searching on a rotated box. More...
Public Member Functions | |
TypeName ("searchableRotatedBox") | |
Runtime type information. More... | |
searchableRotatedBox (const IOobject &io, const vector &span, const coordSystem::cartesian &csys=coordSystem::cartesian{}) | |
Construct from components. More... | |
searchableRotatedBox (const IOobject &io, const dictionary &dict) | |
Construct from dictionary (used by searchableSurface) More... | |
virtual | ~searchableRotatedBox ()=default |
Destructor. More... | |
virtual const wordList & | regions () const |
Names of regions. More... | |
virtual bool | hasVolumeType () const |
Whether 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 | 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/mixed) for point. unknown if. More... | |
bool | writeData (Ostream &) const |
Pure virtual writeData function. More... | |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const=0 |
Inherit findNearest from searchableSurface. More... | |
virtual void | findNearest (const pointField &samples, const scalarField &nearestDistSqr, const labelList ®ionIndices, List< pointIndexHit > &info) const |
Inherit findNearest from searchableSurface. More... | |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &, vectorField &normal, labelList ®ion) const |
Inherit findNearest from searchableSurface. More... | |
![]() | |
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... | |
![]() | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTimeObject=false) | |
regIOobject (const regIOobject &rio) | |
Copy construct. More... | |
regIOobject (const regIOobject &rio, bool registerCopy) | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
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 all file watches and remove object from registry. More... | |
virtual void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | ownedByRegistry () const |
Is this object owned by the registry? More... | |
bool | store () |
void | release (const bool unregister=false) |
Release ownership of this object from its registry. More... | |
label | eventNo () const |
Event number at last update. More... | |
label & | eventNo () |
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. More... | |
Istream & | readStream (const word &, const bool valid=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 |
Return file-monitoring handles. More... | |
labelList & | watchIndices () |
Return file-monitoring handles. More... | |
virtual bool | modified () const |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeObject (IOstreamOption streamOpt, const bool valid) const |
Write using stream options. More... | |
virtual bool | write (const bool valid=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 comp, const bool valid) const |
Write using given format, version and compression. More... | |
![]() | |
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, readOption r=NO_READ, writeOption w=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, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true, bool globalObject=false) | |
Construct from name, instance, local, registry, io options. More... | |
IOobject (const fileName &path, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=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, readOption, writeOption) | |
Copy construct, resetting io options. 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 |
Return Time associated with the objectRegistry. More... | |
const word & | name () const noexcept |
Return 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 |
Return non-constant access to the optional note. More... | |
bool | registerObject () const noexcept |
Should object created with this IOobject be registered? More... | |
bool | registerObject (bool on) noexcept |
Change registration preference, return previous value. More... | |
bool | globalObject () const noexcept |
Is object same for all processors? More... | |
bool | globalObject (bool on) noexcept |
Change global-object status, return previous value. 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... | |
bool | isHeaderClassName (const word &clsName) const |
Test if headerClassName() equals the given class name. More... | |
template<class Type > | |
bool | isHeaderClassName () const |
Test if headerClassName() equals Type::typeName. More... | |
readOption | readOpt () const noexcept |
The read option. More... | |
readOption | readOpt (readOption opt) noexcept |
Change the read option, return previous value. More... | |
writeOption | writeOpt () const noexcept |
The write option. More... | |
writeOption | writeOpt (writeOption opt) noexcept |
Change the write option, return previous value. 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 |
const fileName & | caseName () const |
const fileName & | instance () const noexcept |
fileName & | instance () noexcept |
const fileName & | local () const noexcept |
fileName | path () const |
The complete path. More... | |
fileName | path (const word &instance, const fileName &local=fileName::null) const |
The complete path with alternative instance and local. More... | |
fileName | objectPath () const |
The complete 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 |
Helper for filePath that searches locally. More... | |
fileName | globalFilePath (const word &typeName, const bool search=true) const |
Helper for filePath that searches up if in parallel. More... | |
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) |
Read header (uses typeFilePath to find file) and check its info. 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 |
void | writeHeader (dictionary &dict, const word &objectType, IOstreamOption streamOpt) const |
bool | good () const noexcept |
bool | bad () const noexcept |
InfoProxy< IOobject > | info () const |
Return info proxy. More... | |
void | operator= (const IOobject &io) |
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... | |
template<> | |
bool | isHeaderClassName () const |
Specialization for void always returns true (no headerClassName check). More... | |
template<class StringType > | |
Foam::word | groupName (StringType base, const word &group) |
Additional Inherited Members | |
![]() | |
enum | objectState : char { GOOD, BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | readOption : char { MUST_READ, MUST_READ_IF_MODIFIED, READ_IF_PRESENT, NO_READ } |
Enumeration defining the read options. More... | |
enum | writeOption : char { AUTO_WRITE = 0, NO_WRITE = 1 } |
Enumeration defining the write options. More... | |
enum | fileCheckTypes : char { timeStamp, timeStampMaster, inotify, inotifyMaster } |
Enumeration defining the file checking options. More... | |
![]() | |
static autoPtr< searchableSurface > | New (const word &surfaceType, const IOobject &io, const dictionary &dict) |
Return a reference to the selected searchableSurface. More... | |
![]() | |
template<class Type > | |
static Type & | store (Type *p) |
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 bool | bannerEnabled () noexcept |
Status of output file banner. More... | |
static bool | bannerEnabled (bool on) noexcept |
Enable/disable an 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 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 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... | |
![]() | |
bool | readHeaderOk (const IOstreamOption::streamFormat fmt, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
![]() | |
void | setBad (const string &s) |
Set the object state to bad. More... | |
![]() | |
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 bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
Searching on a rotated box.
Box defined as min and max coordinate. Rotation by coordinate system at box middle.
E.g. box with sides 1 1 1 rotated 45 degrees around z-axis at origin (0.5 0.5 0.5)
span (1 1 1); origin (0.5 0.5 0.5); e1 (1 1 0); e3 (0 0 1);
Dictionary parameters
Property | Description | Required | Default |
---|---|---|---|
type | rotatedBox | selector | |
span | The box dimensions | yes | |
origin | The box corner | yes | |
e1 | Local x-axis of the box | yes | |
e3 | Local z-axis of the box | yes |
searchableRotatedBox
Definition at line 109 of file searchableRotatedBox.H.
searchableRotatedBox | ( | const IOobject & | io, |
const vector & | span, | ||
const coordSystem::cartesian & | csys = coordSystem::cartesian{} |
||
) |
Construct from components.
Definition at line 56 of file searchableRotatedBox.C.
searchableRotatedBox | ( | const IOobject & | io, |
const dictionary & | dict | ||
) |
Construct from dictionary (used by searchableSurface)
Definition at line 84 of file searchableRotatedBox.C.
|
virtualdefault |
Destructor.
TypeName | ( | "searchableRotatedBox" | ) |
Runtime type information.
|
virtual |
Names of regions.
Implements searchableSurface.
Definition at line 105 of file searchableRotatedBox.C.
References searchableBox::regions().
|
inlinevirtual |
Whether supports volume type below.
Reimplemented from searchableSurface.
Definition at line 168 of file searchableRotatedBox.H.
|
inlinevirtual |
What is type of points outside bounds.
Implements searchableSurface.
Definition at line 174 of file searchableRotatedBox.H.
References volumeType::OUTSIDE.
|
inlinevirtual |
Range of local indices that can be returned.
Implements searchableSurface.
Definition at line 180 of file searchableRotatedBox.H.
|
virtual |
Get representative set of element coordinates.
Usually the element centres (should be of length size()).
Implements searchableSurface.
Definition at line 111 of file searchableRotatedBox.C.
|
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 118 of file searchableRotatedBox.C.
|
virtual |
Get the points that define the surface.
Implements searchableSurface.
Definition at line 128 of file searchableRotatedBox.C.
Does any part of the surface overlap the supplied bound box?
Implements searchableSurface.
Definition at line 134 of file searchableRotatedBox.C.
References boundBox::containsAny(), PointHit< PointType >::distance(), Foam::constant::electromagnetic::e, treeBoundBox::edges, f(), treeBoundBox::faces, intersection::HALF_RAY, PointHit< PointType >::hit(), treeBoundBox::intersects(), boundBox::overlaps(), and boundBox::points().
Foam::pointIndexHit findNearest | ( | const point & | sample, |
const scalar | nearestDistSqr | ||
) | const |
Calculate nearest point on surface.
Returns
Definition at line 196 of file searchableRotatedBox.C.
References PointIndexHit< PointType >::rawPoint().
Foam::pointIndexHit findNearest | ( | const linePointRef & | ln, |
treeBoundBox & | tightest, | ||
point & | linePoint | ||
) | const |
Find nearest to segment.
Returns
Definition at line 217 of file searchableRotatedBox.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 229 of file searchableRotatedBox.C.
References stdFoam::end(), and PointIndexHit< PointType >::rawPoint().
Foam::pointIndexHit findLineAny | ( | const point & | start, |
const point & | end | ||
) | const |
Find any intersection of line between start and end.
Definition at line 250 of file searchableRotatedBox.C.
References stdFoam::end().
|
virtual |
Implements searchableSurface.
Definition at line 260 of file searchableRotatedBox.C.
References forAll, samples(), and List< T >::setSize().
|
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 276 of file searchableRotatedBox.C.
References stdFoam::end(), forAll, and List< T >::setSize().
|
virtual |
Return any intersection on segment from start to end.
Implements searchableSurface.
Definition at line 292 of file searchableRotatedBox.C.
References stdFoam::end(), forAll, and List< T >::setSize().
|
virtual |
Get all intersections in order from start to end.
Implements searchableSurface.
Definition at line 308 of file searchableRotatedBox.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(), Foam::magSqr(), List< T >::setSize(), Foam::sqrt(), and List< T >::transfer().
|
virtual |
From a set of points and indices get the region.
Implements searchableSurface.
Definition at line 376 of file searchableRotatedBox.C.
References List< T >::setSize().
|
virtual |
From a set of points and indices get the normal.
Implements searchableSurface.
Definition at line 387 of file searchableRotatedBox.C.
|
virtual |
Determine type (inside/outside/mixed) for point. unknown if.
cannot be determined (e.g. non-manifold surface)
Implements searchableSurface.
Definition at line 400 of file searchableRotatedBox.C.
References points.
Pure virtual writeData function.
Must be defined in derived types
Implements regIOobject.
Definition at line 305 of file searchableRotatedBox.H.
References NotImplemented.
virtual void findNearest |
Inherit findNearest from searchableSurface.
|
inline |
Inherit findNearest from searchableSurface.
Definition at line 295 of file searchableSurface.H.
void findNearest |
Inherit findNearest from searchableSurface.
Definition at line 83 of file searchableSurface.C.