Searching on a rotated box. More...
Public Member Functions | |
TypeName ("searchableRotatedBox") | |
Runtime type information. 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... | |
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 | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &io, const bool isTime=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... | |
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 (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType comp, const bool valid) 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, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
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... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
const objectRegistry & | db () const |
Return the local objectRegistry. More... | |
const Time & | time () const |
Return time. More... | |
const word & | name () const |
Return name. More... | |
const word & | headerClassName () const |
Return name of the class name read from header. More... | |
word & | headerClassName () |
Return non-constant access to the class name read from header. More... | |
const string & | note () const |
Return the optional note. More... | |
string & | note () |
Return non-constant access to the optional note. More... | |
bool | registerObject () const |
Should object created with this IOobject be registered? More... | |
bool & | registerObject () |
Should object created with this IOobject be registered? More... | |
bool | globalObject () const |
Is object same for all processors? More... | |
bool & | globalObject () |
Is object same for all processors? More... | |
unsigned | labelByteSize () const |
The label byte-size, possibly read from the header. More... | |
unsigned | scalarByteSize () const |
The scalar byte-size, 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 |
The read option. More... | |
readOption & | readOpt () |
Non-constant access to the read option. More... | |
writeOption | writeOpt () const |
The write option. More... | |
writeOption & | writeOpt () |
Non-constant access to the write option. 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 |
fileName & | instance () |
const fileName & | local () const |
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 | 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... | |
bool | readHeader (Istream &is) |
Read header. More... | |
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. More... | |
bool | writeHeader (Ostream &os, const word &objectType) const |
Write header. Allow override of type. More... | |
bool | good () const |
bool | bad () const |
InfoProxy< IOobject > | info () const |
Return info proxy. More... | |
void | operator= (const IOobject &io) |
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) |
template<class StringType > | |
Foam::word | scopedName (StringType scope, const word &name) |
Additional Inherited Members | |
Public Types inherited from IOobject | |
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 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) |
template<class Type > | |
static Type & | store (autoPtr< Type > &aptr) |
template<class Type > | |
static Type & | store (autoPtr< Type > &&aptr) |
template<class Type > | |
static Type & | store (tmp< Type > &tptr) |
template<class Type > | |
static Type & | store (tmp< Type > &&tptr) |
Static Public Member Functions inherited from IOobject | |
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... | |
template<class StringType > | |
static word | scopedName (StringType 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, bool noHint=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 Attributes inherited from regIOobject | |
static float | fileModificationSkew |
static int | maxFileModificationPolls |
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... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstream::streamFormat PstreamFormat, const word &typeName) |
Helper: check readOpt flags and read if necessary. More... | |
Istream * | objectStream () |
Construct and return an IFstream for the object. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &s) |
Set the object state to bad. More... | |
Static Protected Attributes inherited from regIOobject | |
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 / searchableRotatedBox | 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 |
Definition at line 106 of file searchableRotatedBox.H.
searchableRotatedBox | ( | const IOobject & | io, |
const dictionary & | dict | ||
) |
Construct from dictionary (used by searchableSurface)
Definition at line 56 of file searchableRotatedBox.C.
|
virtualdefault |
Destructor.
TypeName | ( | "searchableRotatedBox" | ) |
Runtime type information.
|
virtual |
Names of regions.
Implements searchableSurface.
Definition at line 89 of file searchableRotatedBox.C.
References searchableBox::regions().
|
inlinevirtual |
Whether supports volume type below.
Reimplemented from searchableSurface.
Definition at line 159 of file searchableRotatedBox.H.
|
inlinevirtual |
What is type of points outside bounds.
Implements searchableSurface.
Definition at line 165 of file searchableRotatedBox.H.
References volumeType::OUTSIDE.
|
inlinevirtual |
Range of local indices that can be returned.
Implements searchableSurface.
Definition at line 171 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 95 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 102 of file searchableRotatedBox.C.
|
virtual |
Get the points that define the surface.
Implements searchableSurface.
Definition at line 112 of file searchableRotatedBox.C.
Does any part of the surface overlap the supplied bound box?
Implements searchableSurface.
Definition at line 118 of file searchableRotatedBox.C.
References boundBox::containsAny(), PointHit< Point >::distance(), Foam::constant::electromagnetic::e, treeBoundBox::edges, f(), treeBoundBox::faces, forAll, intersection::HALF_RAY, PointHit< Point >::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 185 of file searchableRotatedBox.C.
References PointIndexHit< Point >::rawPoint().
Foam::pointIndexHit findNearest | ( | const linePointRef & | ln, |
treeBoundBox & | tightest, | ||
point & | linePoint | ||
) | const |
Find nearest to segment.
Returns
Definition at line 206 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 218 of file searchableRotatedBox.C.
References stdFoam::end(), and PointIndexHit< Point >::rawPoint().
Foam::pointIndexHit findLineAny | ( | const point & | start, |
const point & | end | ||
) | const |
Find any intersection of line between start and end.
Definition at line 239 of file searchableRotatedBox.C.
References stdFoam::end().
|
virtual |
Implements searchableSurface.
Definition at line 249 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 265 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 281 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 297 of file searchableRotatedBox.C.
References DynamicList< T, SizeMin >::append(), DynamicList< T, SizeMin >::clear(), List< T >::clear(), stdFoam::end(), forAll, PointIndexHit< Point >::hit(), PointIndexHit< Point >::hitPoint(), PointIndexHit< Point >::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 365 of file searchableRotatedBox.C.
References List< T >::setSize().
|
virtual |
From a set of points and indices get the normal.
Implements searchableSurface.
Definition at line 376 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 389 of file searchableRotatedBox.C.
References points.
Pure virtual writeData function.
Must be defined in derived types
Implements regIOobject.
Definition at line 296 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.