Base class of (analytical or triangulated) surface. Encapsulates all the search routines. WIP. More...
Classes | |
class | iNew |
Class used for the read-construction of. More... | |
Public Member Functions | |
TypeName ("searchableSurface") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, searchableSurface, dict,(const IOobject &io, const dictionary &dict),(io, dict)) | |
searchableSurface (const IOobject &io) | |
searchableSurface (const searchableSurface &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual autoPtr< searchableSurface > | clone () const |
Clone. More... | |
virtual | ~searchableSurface () |
Destructor. More... | |
const boundBox & | bounds () const |
Return const reference to boundBox. More... | |
boundBox & | bounds () |
Return non-const access to the boundBox to allow it to be set. More... | |
virtual const wordList & | regions () const =0 |
Names of regions. More... | |
virtual bool | hasVolumeType () const =0 |
Whether supports volume type below. More... | |
virtual label | size () const =0 |
Range of local indices that can be returned. More... | |
virtual label | globalSize () const |
Range of global indices that can be returned. More... | |
virtual tmp< pointField > | coordinates () const =0 |
Get representative set of element coordinates. More... | |
virtual void | boundingSpheres (pointField ¢res, scalarField &radiusSqr) const =0 |
Get bounding spheres (centre and radius squared), one per element. More... | |
virtual tmp< pointField > | points () const =0 |
Get the points that define the surface. More... | |
virtual bool | overlaps (const boundBox &bb) const =0 |
Does any part of the surface overlap the supplied bound box? More... | |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const =0 |
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 | findLine (const pointField &start, const pointField &end, List< pointIndexHit > &) const =0 |
Find first intersection on segment from start to end. More... | |
virtual void | findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const =0 |
Return any intersection on segment from start to end. More... | |
virtual void | findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const =0 |
Get all intersections in order from start to end. More... | |
virtual void | getRegion (const List< pointIndexHit > &, labelList ®ion) const =0 |
From a set of points and indices get the region. More... | |
virtual void | getNormal (const List< pointIndexHit > &, vectorField &normal) const =0 |
From a set of points and indices get the normal. More... | |
virtual void | getVolumeType (const pointField &, List< volumeType > &) const =0 |
Determine type (inside/outside) for point. unknown if. 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< distributionMap > &faceMap, autoPtr< distributionMap > &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... | |
void | operator= (const searchableSurface &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from regIOobject | |
TypeName ("regIOobject") | |
Runtime type information. More... | |
regIOobject (const IOobject &, const bool isTime=false) | |
Construct from IOobject. Optional flag for if IOobject is the. More... | |
regIOobject (const regIOobject &) | |
Copy constructor. More... | |
regIOobject (const regIOobject &&) | |
Move constructor. More... | |
regIOobject (const regIOobject &, bool registerCopy) | |
Copy constructor, transferring registry registration to copy. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Copy constructor with new name, transferring registry registration. More... | |
regIOobject (const IOobject &, const regIOobject &) | |
Copy constructor with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
virtual bool | global () const |
Return true if object is global, i.e. same for all processors. More... | |
virtual bool | globalFile () const |
Return true if object is global, i.e. same for all processors. More... | |
const fileName & | caseName () const |
fileName | path () const |
Return complete path. More... | |
fileName | objectPath () const |
Return complete path + object name. More... | |
fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | checkIn () |
Add object to registry. More... | |
bool | checkOut () |
Remove object from registry. More... | |
void | addWatch () |
Add file watch on object (if registered and READ_IF_MODIFIED) More... | |
bool | registered () const |
Is this object registered with the registry? More... | |
bool | ownedByRegistry () const |
Is this object owned by the registry? More... | |
void | store () |
Transfer ownership of this object to its registry. More... | |
void | release () |
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 up to date (obviously) More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
bool | headerOk () |
Read and check header info. More... | |
Istream & | readStream (const word &, const bool read=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... | |
const labelList & | watchIndices () const |
Return file-monitoring handles. More... | |
labelList & | watchIndices () |
Return file-monitoring handles. More... | |
virtual bool | modified () const |
Return true if the object's file (or files for objectRegistry) More... | |
virtual bool | readIfModified () |
Read object if modified (as set by call to modified) More... | |
virtual bool | writeData (Ostream &) const =0 |
Pure virtual writaData function. More... | |
virtual bool | writeObject (IOstream::streamFormat, IOstream::versionNumber, IOstream::compressionType, const bool write) const |
Write using given format, version and compression. More... | |
virtual bool | write (const bool write=true) const |
Write using setting from DB. More... | |
void | operator= (const IOobject &) |
Assign to IOobject. More... | |
void | operator= (const regIOobject &)=delete |
Disallow default assignment. More... | |
const fileName & | caseName (const bool global) const |
fileName | path (const bool global) const |
Return complete path including the processor sub-directory. More... | |
fileName | objectPath (const bool global) const |
Return complete path + object name including the processor. More... | |
fileName | filePath (const word &typeName, const bool global) const |
Return complete path + object name if the file exists. More... | |
Public Member Functions inherited from IOobject | |
TypeName ("IOobject") | |
Runtime type information. 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) | |
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) | |
Construct from path, registry, io options. More... | |
IOobject (const IOobject &io, const objectRegistry ®istry) | |
Construct from copy resetting registry. More... | |
IOobject (const IOobject &io, const word &name) | |
Construct from copy resetting name. More... | |
IOobject (const IOobject &io)=default | |
Copy constructor. More... | |
autoPtr< IOobject > | clone () const |
Clone. More... | |
autoPtr< IOobject > | clone (const objectRegistry ®istry) const |
Clone resetting registry. More... | |
virtual | ~IOobject () |
Destructor. More... | |
const Time & | time () const |
Return time. More... | |
const objectRegistry & | db () const |
Return the local objectRegistry. 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 name of the class name read from header. More... | |
string & | note () |
Return non-constant access to the optional note. More... | |
const string & | note () const |
Return the optional note. More... | |
bool & | registerObject () |
Register object created from this IOobject with registry if true. More... | |
bool | registerObject () const |
Register object created from this IOobject with registry if true. More... | |
readOption | readOpt () const |
readOption & | readOpt () |
writeOption | writeOpt () const |
writeOption & | writeOpt () |
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 bool global) const |
fileName & | instance () const |
Return the instance directory, constant, system, <time> etc. More... | |
void | updateInstance () const |
If the instance is a time directory update to the current time. More... | |
const fileName & | local () const |
fileName | path (const bool global) const |
Return complete path including the processor sub-directory. More... | |
fileName | objectPath (const bool global) const |
Return complete path + object name including the processor. More... | |
fileName | relativePath () const |
Return the path relative to the case directory. More... | |
fileName | relativeObjectPath () const |
Return complete relativePath + object name. More... | |
fileName | filePath (const word &typeName, const bool global) const |
Return complete path + object name if the file exists. More... | |
bool | readHeader (Istream &) |
Read header. More... | |
bool | headerOk () |
Read header of local object without type-checking. More... | |
template<class Type > | |
void | warnNoRereading () const |
Helper: warn that type does not support re-reading. More... | |
bool | writeHeader (Ostream &) const |
Write header. More... | |
bool | writeHeader (Ostream &, 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 &) |
template<class Name > | |
Foam::word | groupName (Name name, const word &group) |
Static Public Member Functions | |
static autoPtr< searchableSurface > | New (const word &surfaceType, const IOobject &io, const dictionary &dict) |
Return a reference to the selected searchableSurface. More... | |
static const word & | geometryDir () |
Return the geometry directory name. More... | |
static const word & | geometryDir (const Time &time) |
Check that the geometry directory exists and return. More... | |
Static Public Member Functions inherited from regIOobject | |
template<class Type > | |
static Type & | store (Type *) |
Transfer ownership of the given object pointer to its registry. More... | |
template<class Type > | |
static Type & | store (autoPtr< Type > &) |
Transfer ownership of the given object pointer to its registry. More... | |
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 Name > | |
static word | groupName (Name name, const word &group) |
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 Stream > | |
static Stream & | writeBanner (Stream &os, bool noHint=false) |
Write the standard OpenFOAM file/dictionary banner. More... | |
template<class Stream > | |
static Stream & | writeDivider (Stream &os) |
Write the standard file section divider. More... | |
template<class Stream > | |
static Stream & | writeEndDivider (Stream &os) |
Write the standard end file divider. More... | |
Static Public Attributes | |
static word | geometryDir_ |
Name of the directory for the geometry files. More... | |
Static Public Attributes inherited from regIOobject | |
static float | fileModificationSkew |
Static Public Attributes inherited from IOobject | |
static constexpr const char * | foamFile = "FoamFile" |
Keyword for the FoamFile header sub-dictionary. More... | |
static const NamedEnum< fileCheckTypes, 4 > | fileCheckTypesNames |
static fileCheckTypes | fileModificationChecking |
Type of file modification checking. More... | |
Additional Inherited Members | |
Public Types inherited from IOobject | |
enum | objectState { GOOD , BAD } |
Enumeration defining the valid states of an IOobject. More... | |
enum | readOption { MUST_READ , MUST_READ_IF_MODIFIED , READ_IF_PRESENT , NO_READ } |
Enumeration defining the read options. More... | |
enum | writeOption { AUTO_WRITE = 0 , NO_WRITE = 1 } |
Enumeration defining the write options. More... | |
enum | fileCheckTypes { timeStamp , timeStampMaster , inotify , inotifyMaster } |
Enumeration defining the file checking options. More... | |
Protected Member Functions inherited from regIOobject | |
bool | readHeaderOk (const IOstream::streamFormat defaultFormat, const word &typeName) |
Read header, check readOpt flags and read data if necessary. More... | |
Protected Member Functions inherited from IOobject | |
void | setBad (const string &) |
Set the object state to bad. More... | |
template<class Type > | |
bool | typeHeaderOk (const bool checkType) |
Read header using typeGlobalFile to find file. More... | |
Base class of (analytical or triangulated) surface. Encapsulates all the search routines. WIP.
Information returned is usually a pointIndexHit:
Definition at line 66 of file searchableSurface.H.
searchableSurface | ( | const IOobject & | io | ) |
Definition at line 70 of file searchableSurface.C.
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 78 of file searchableSurface.C.
TypeName | ( | "searchableSurface" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
searchableSurface | , | ||
dict | , | ||
(const IOobject &io, const dictionary &dict) | , | ||
(io, dict) | |||
) |
|
inlinevirtual |
|
static |
Return a reference to the selected searchableSurface.
Definition at line 44 of file searchableSurface.C.
References dict, Foam::endl(), Foam::exit(), Foam::FatalError, and FatalErrorInFunction.
Referenced by searchableSurface::iNew::operator()(), and searchableSurfaces::searchableSurfaces().
|
static |
Return the geometry directory name.
Definition at line 84 of file searchableSurface.C.
Referenced by triSurfaceMesh::extractCloseness(), triSurfaceMesh::extractPointCloseness(), powerLawLopesdaCostaZone::powerLawLopesdaCostaZone(), refinementRegions::refinementRegions(), triSurfaceMesh::setField(), surfaceDisplacementPointPatchVectorField::surfaces(), and surfaceSlipDisplacementPointPatchVectorField::surfaces().
|
static |
Check that the geometry directory exists and return.
if not return "triSurface" for backward compatibility
Definition at line 90 of file searchableSurface.C.
References TimePaths::constant(), searchableSurface::geometryDir_, TimePaths::globalCaseName(), Foam::isDir(), and Time::rootPath().
|
inline |
Return const reference to boundBox.
Definition at line 172 of file searchableSurface.H.
Referenced by searchableSurfacesQueries::bounds(), distributedTriSurfaceMesh::distribute(), distributedTriSurfaceMesh::distributedTriSurfaceMesh(), searchableBox::searchableBox(), searchableCylinder::searchableCylinder(), searchableDisk::searchableDisk(), searchableExtrudedCircle::searchableExtrudedCircle(), searchablePlane::searchablePlane(), searchablePlate::searchablePlate(), searchableSphere::searchableSphere(), searchableSurfaceCollection::searchableSurfaceCollection(), searchableSurfaceWithGaps::searchableSurfaceWithGaps(), and triSurfaceMesh::triSurfaceMesh().
|
inline |
Return non-const access to the boundBox to allow it to be set.
Definition at line 178 of file searchableSurface.H.
|
pure virtual |
Names of regions.
Implemented in triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findHigherIntersection(), refinementSurfaces::refinementSurfaces(), searchableSurfaceWithGaps::regions(), and refinementSurfaces::setMinLevelFields().
|
pure virtual |
Whether supports volume type below.
Implemented in distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, searchableBox, and closedTriSurfaceMesh.
Referenced by refinementSurfaces::findInside(), searchableSurfaceWithGaps::hasVolumeType(), and surfaceZonesInfo::surfaceZonesInfo().
|
pure virtual |
Range of local indices that can be returned.
Implemented in triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by searchableSurface::globalSize(), and searchableSurfaceWithGaps::size().
|
inlinevirtual |
Range of global indices that can be returned.
Reimplemented in distributedTriSurfaceMesh.
Definition at line 193 of file searchableSurface.H.
References searchableSurface::size().
Referenced by refinementSurfaces::setMinLevelFields().
|
pure virtual |
Get representative set of element coordinates.
Usually the element centres (should be of length size()).
Implemented in triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
|
pure virtual |
Get bounding spheres (centre and radius squared), one per element.
Any point on element is guaranteed to be inside.
Implemented in triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::setMinLevelFields().
|
pure virtual |
Get the points that define the surface.
Implemented in triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by searchableSurfaceWithGaps::points().
|
pure virtual |
Does any part of the surface overlap the supplied bound box?
Implemented in triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
|
pure virtual |
Implemented in searchableSurfaceWithGaps, distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
References IOobject::info(), and samples().
Referenced by refinementSurfaces::setMinLevelFields().
|
inlinevirtual |
Find the nearest locations for the supplied points to a.
particular region in the searchable surface.
Reimplemented in triSurfaceMesh.
Definition at line 282 of file searchableSurface.H.
|
pure virtual |
Find first intersection on segment from start to end.
Note: searchableSurfacesQueries expects no intersection to be found if start==end. Is problem?
Implemented in distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findNearestIntersection().
|
pure virtual |
Return any intersection on segment from start to end.
Implemented in distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findHigherIntersection().
|
pure virtual |
Get all intersections in order from start to end.
Implemented in distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceWithGaps, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findAllHigherIntersections().
|
pure virtual |
From a set of points and indices get the region.
Implemented in searchableSurfaceWithGaps, distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findAllHigherIntersections(), refinementSurfaces::findNearestIntersection(), searchableSurfaceWithGaps::getRegion(), and refinementSurfaces::setMinLevelFields().
|
pure virtual |
From a set of points and indices get the normal.
Implemented in searchableSurfaceWithGaps, distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findAllHigherIntersections(), refinementSurfaces::findNearestIntersection(), and searchableSurfaceWithGaps::getNormal().
|
pure virtual |
Determine type (inside/outside) for point. unknown if.
cannot be determined (e.g. non-manifold surface)
Implemented in searchableSurfaceWithGaps, distributedTriSurfaceMesh, triSurfaceMesh, searchableSurfaceCollection, searchableSphere, searchablePlate, searchablePlane, searchableExtrudedCircle, searchableDisk, searchableCylinder, and searchableBox.
Referenced by refinementSurfaces::findInside().
|
virtual |
Find nearest, normal and region. Can be overridden with.
optimised implementation
Definition at line 121 of file searchableSurface.C.
|
inlinevirtual |
Set bounds of surface. Bounds currently set as list of.
bounding boxes. The bounds are hints to the surface as for the range of queries it can expect. faceMap/pointMap can be set if the surface has done any redistribution.
Reimplemented in distributedTriSurfaceMesh, and searchableSurfaceCollection.
Definition at line 359 of file searchableSurface.H.
|
inlinevirtual |
WIP. Store element-wise field.
Reimplemented in triSurfaceMesh, searchableSurfaceWithGaps, and searchableSurfaceCollection.
Definition at line 369 of file searchableSurface.H.
|
inlinevirtual |
WIP. From a set of hits (points and.
indices) get the specified field. Misses do not get set. Return empty field if not supported.
Reimplemented in searchableSurfaceWithGaps, distributedTriSurfaceMesh, triSurfaceMesh, and searchableSurfaceCollection.
Definition at line 375 of file searchableSurface.H.
Referenced by refinementSurfaces::findHigherIntersection().
|
delete |
Disallow default bitwise assignment.
|
static |
Name of the directory for the geometry files.
Defaults to "geometry"
Definition at line 87 of file searchableSurface.H.
Referenced by searchableSurface::geometryDir().