IOoject and searching on distributed triSurface. All processor hold (possibly overlapping) part of the overall surface. All queries are distributed to the processor that can answer it and the result sent back. More...
Public Types | |
enum | distributionType { FOLLOW = 0, INDEPENDENT = 1, FROZEN = 2 } |
![]() | |
enum | fileCheckTypes { timeStamp, timeStampMaster, inotify, inotifyMaster } |
Types of communications. More... | |
![]() | |
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... | |
![]() | |
typedef T | value_type |
Type of values the HashTable contains. More... | |
typedef T & | reference |
Type that can be used for storing into HashTable::value_type. More... | |
typedef label | size_type |
The type that can represent the size of a HashTable. More... | |
![]() | |
typedef bool | BoundaryMesh |
Placeholder only, but do not remove - it is needed for GeoMesh. More... | |
typedef bool | BoundaryMesh |
Placeholder only, but do not remove - it is needed for GeoMesh. More... | |
![]() | |
enum | surfaceTopo |
Enumeration defining the surface type. Used in check routines. More... | |
enum | surfaceTopo |
Enumeration defining the surface type. Used in check routines. More... | |
typedef labelledTri | FaceType |
typedef labelledTri | FaceType |
typedef List< labelledTri > | FaceListType |
typedef List< labelledTri > | FaceListType |
typedef pointField | PointFieldType |
typedef pointField | PointFieldType |
![]() | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
Public Member Functions | |
TypeName ("distributedTriSurfaceMesh") | |
Runtime type information. More... | |
distributedTriSurfaceMesh (const IOobject &, const triSurface &, const dictionary &dict) | |
Construct from triSurface. More... | |
distributedTriSurfaceMesh (const IOobject &io) | |
Construct read. Does findInstance to find io.local(). More... | |
distributedTriSurfaceMesh (const IOobject &io, const dictionary &dict) | |
Construct from dictionary (used by searchableSurface). More... | |
virtual | ~distributedTriSurfaceMesh () |
Destructor. More... | |
void | clearOut () |
Clear storage. More... | |
const globalIndex & | globalTris () const |
Triangle indexing (demand driven) More... | |
virtual bool | hasVolumeType () const |
Whether supports volume type below. I.e. whether is closed. More... | |
virtual label | globalSize () const |
Range of global indices that can be returned. 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 &, List< volumeType > &) const |
Determine type (inside/outside/mixed) for point. unknown if. 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 | getField (const List< pointIndexHit > &, labelList &) const |
WIP. From a set of hits (points and. More... | |
void | writeStats (Ostream &os) const |
Print some stats. Parallel aware version of. More... | |
virtual bool | writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp) const |
Write using given format, version and compression. More... | |
![]() | |
TypeName ("triSurfaceMesh") | |
Runtime type information. More... | |
triSurfaceMesh (const IOobject &, const triSurface &) | |
Construct from triSurface. More... | |
triSurfaceMesh (const IOobject &io) | |
Construct read. More... | |
triSurfaceMesh (const IOobject &io, const dictionary &dict) | |
Construct from IO and dictionary (used by searchableSurface). More... | |
virtual | ~triSurfaceMesh () |
Destructor. More... | |
void | clearOut () |
Clear storage. More... | |
virtual void | movePoints (const pointField &) |
Move points. More... | |
const indexedOctree< treeDataEdge > & | edgeTree () const |
Demand driven construction of octree for boundary edges. More... | |
virtual const wordList & | regions () const |
Names of regions. 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). Any point. 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... | |
virtual void | findNearest (const pointField &sample, const scalarField &nearestDistSqr, const labelList ®ionIndices, List< pointIndexHit > &) const |
Find the nearest locations for the supplied points to a. More... | |
virtual void | setField (const labelList &values) |
WIP. Store element-wise field. More... | |
bool | writeData (Ostream &) const |
writeData function required by regIOobject but not used 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 () |
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 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... | |
![]() | |
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 &) | |
Construct as copy. More... | |
regIOobject (const regIOobject &, bool registerCopy) | |
Construct as copy, transferring registry registration to copy. More... | |
regIOobject (const word &newName, const regIOobject &, bool registerCopy) | |
Construct as copy with new name, transfering registry registration. More... | |
regIOobject (const IOobject &, const regIOobject &) | |
Construct as copy with new IO parameters. More... | |
virtual | ~regIOobject () |
Destructor. More... | |
bool | checkIn () |
Add object to registry. More... | |
bool | checkOut () |
Remove object from 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... | |
Istream & | readStream (const word &) |
Return Istream and check object type against that given. More... | |
void | close () |
Close Istream. More... | |
virtual bool | readData (Istream &) |
Virtual readData function. More... | |
label | watchIndex () const |
Return file-monitoring handle. More... | |
label & | watchIndex () |
Return file-monitoring handle. More... | |
virtual bool | write () const |
Write using setting from DB. More... | |
void | operator= (const 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 word &name) | |
Construct as copy resetting name. More... | |
Foam::autoPtr< IOobject > | clone () const |
Clone. 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... | |
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 |
const fileName & | instance () const |
fileName & | instance () |
const fileName & | local () const |
fileName | path () const |
Return complete path. More... | |
fileName | path (const word &instance, const fileName &local="") const |
Return complete path with alternative instance and local. More... | |
fileName | objectPath () const |
Return complete path + object name. More... | |
fileName | filePath () const |
Return complete path + object name if the file exists. More... | |
bool | readHeader (Istream &) |
Read header. More... | |
bool | headerOk () |
Read and check header info. 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) |
![]() | |
TypeName ("objectRegistry") | |
Declare type name for this IOobject. More... | |
objectRegistry (const Time &db, const label nIoObjects=128) | |
Construct the time objectRegistry given an initial estimate. More... | |
objectRegistry (const IOobject &io, const label nIoObjects=128) | |
Construct a sub-registry given an IObject to describe the registry. More... | |
virtual | ~objectRegistry () |
Destructor. More... | |
const Time & | time () const |
Return time. More... | |
const objectRegistry & | parent () const |
Return the parent objectRegistry. More... | |
virtual const fileName & | dbDir () const |
Local directory path of this objectRegistry relative to the time. More... | |
wordList | names () const |
Return the list of names of the IOobjects. More... | |
wordList | sortedNames () const |
Return the sorted list of names of the IOobjects. More... | |
wordList | names (const word &className) const |
Return the list of names of IOobjects of given class name. More... | |
wordList | sortedNames (const word &className) const |
Return the sorted list of names of IOobjects of given class name. More... | |
template<class Type > | |
wordList | names () const |
Return the list of names of the IOobjects of given type. More... | |
template<class Type > | |
wordList | names (const wordRe &name) const |
Return the list of objects whose name matches the input regExp. More... | |
template<class Type > | |
wordList | names (const wordReList &name) const |
Return the list of objects whose name matches the input regExp. More... | |
const objectRegistry & | subRegistry (const word &name, const bool forceCreate=false) const |
Lookup and return a const sub-objectRegistry. Optionally create. More... | |
template<class Type > | |
HashTable< const Type * > | lookupClass (const bool strict=false) const |
Lookup and return all objects of the given Type. More... | |
template<class Type > | |
HashTable< Type * > | lookupClass (const bool strict=false) |
Lookup and return all objects of the given Type. More... | |
template<class Type > | |
bool | foundObject (const word &name) const |
Is the named Type found? More... | |
template<class Type > | |
const Type & | lookupObject (const word &name) const |
Lookup and return the object of the given Type. More... | |
template<class Type > | |
Type & | lookupObjectRef (const word &name) const |
label | getEvent () const |
Return new event number. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
bool | checkIn (regIOobject &) const |
Add an regIOobject to registry. More... | |
bool | checkOut (regIOobject &) const |
Remove an regIOobject from registry. More... | |
virtual bool | modified () const |
Return true if any of the object's files have been modified. More... | |
void | readModifiedObjects () |
Read the objects that have been modified. More... | |
virtual bool | readIfModified () |
Read object if modified. More... | |
template<class Type > | |
Foam::wordList | names () const |
template<class Type > | |
Foam::wordList | names (const wordRe &name) const |
template<class Type > | |
Foam::wordList | names (const wordReList &patterns) const |
template<class Type > | |
Foam::HashTable< const Type * > | lookupClass (const bool strict) const |
template<class Type > | |
Foam::HashTable< Type * > | lookupClass (const bool strict) |
![]() | |
bool | set (const Key &, const T &newElmt) |
Assign a new hashedEntry, overwriting existing entries. More... | |
HashTable (const label size=128) | |
Construct given initial table size. More... | |
HashTable (Istream &, const label size=128) | |
Construct from Istream. More... | |
HashTable (const HashTable< T, Key, Hash > &) | |
Construct as copy. More... | |
HashTable (const Xfer< HashTable< T, Key, Hash > > &) | |
Construct by transferring the parameter contents. More... | |
~HashTable () | |
Destructor. More... | |
label | capacity () const |
The size of the underlying table. More... | |
label | size () const |
Return number of elements in table. More... | |
bool | empty () const |
Return true if the hash table is empty. More... | |
bool | found (const Key &) const |
Return true if hashedEntry is found in table. More... | |
iterator | find (const Key &) |
Find and return an iterator set at the hashedEntry. More... | |
const_iterator | find (const Key &) const |
Find and return an const_iterator set at the hashedEntry. More... | |
List< Key > | toc () const |
Return the table of contents. More... | |
List< Key > | sortedToc () const |
Return the table of contents as a sorted list. More... | |
Ostream & | printInfo (Ostream &) const |
Print information. More... | |
bool | insert (const Key &, const T &newElmt) |
Insert a new hashedEntry. More... | |
bool | erase (const iterator &) |
Erase a hashedEntry specified by given iterator. More... | |
bool | erase (const Key &) |
Erase a hashedEntry specified by the given key. More... | |
label | erase (const UList< Key > &) |
Remove entries given by the listed keys from this HashTable. More... | |
label | erase (const HashTable< AnyType, Key, AnyHash > &) |
Remove entries given by the given keys from this HashTable. More... | |
Foam::label | erase (const HashTable< AnyType, Key, AnyHash > &rhs) |
void | resize (const label newSize) |
Resize the hash table for efficiency. More... | |
void | clear () |
Clear all entries from table. More... | |
void | clearStorage () |
Clear the table entries and the table itself. More... | |
void | shrink () |
Shrink the allocated table to approx. twice number of elements. More... | |
void | transfer (HashTable< T, Key, Hash > &) |
Transfer the contents of the argument table into this table. More... | |
Xfer< HashTable< T, Key, Hash > > | xfer () |
Transfer contents to the Xfer container. More... | |
T & | operator[] (const Key &) |
Find and return a hashedEntry. More... | |
const T & | operator[] (const Key &) const |
Find and return a hashedEntry. More... | |
T & | operator() (const Key &) |
Find and return a hashedEntry, create it null if not present. More... | |
void | operator= (const HashTable< T, Key, Hash > &) |
Assignment. More... | |
bool | operator== (const HashTable< T, Key, Hash > &) const |
Equality. Hash tables are equal if the keys and values are equal. More... | |
bool | operator!= (const HashTable< T, Key, Hash > &) const |
The opposite of the equality operation. Takes linear time. More... | |
iterator | begin () |
Iterator set to the beginning of the HashTable. More... | |
const_iterator | begin () const |
const_iterator set to the beginning of the HashTable More... | |
const_iterator | cbegin () const |
const_iterator set to the beginning of the HashTable More... | |
![]() | |
ClassName ("triSurface") | |
Runtime type information. More... | |
triSurface () | |
Construct null. More... | |
triSurface (const List< labelledTri > &, const geometricSurfacePatchList &, const pointField &) | |
Construct from triangles, patches, points. More... | |
triSurface (List< labelledTri > &, const geometricSurfacePatchList &, pointField &, const bool reUse) | |
Construct from triangles, patches, points. Reuse storage. More... | |
triSurface (const List< labelledTri > &, const pointField &) | |
Construct from triangles, points. Set patchnames to default. More... | |
triSurface (const triFaceList &, const pointField &) | |
Construct from triangles, points. Set region to 0 and default. More... | |
triSurface (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
triSurface (Istream &) | |
Construct from Istream. More... | |
triSurface (const Time &d) | |
Construct from objectRegistry. More... | |
triSurface (const triSurface &) | |
Construct as copy. More... | |
~triSurface () | |
void | clearOut () |
Clear all data. More... | |
void | clearTopology () |
Clear topology. More... | |
void | clearPatchMeshAddr () |
Clear patch addressing. More... | |
const geometricSurfacePatchList & | patches () const |
geometricSurfacePatchList & | patches () |
const labelListList & | sortedEdgeFaces () const |
Return edge-face addressing sorted (for edges with more than. More... | |
const labelList & | edgeOwner () const |
If 2 face neighbours: label of face where ordering of edge. More... | |
virtual void | scalePoints (const scalar &) |
Scale points. A non-positive factor is ignored. More... | |
void | checkTriangles (const bool verbose=false) |
Check/remove duplicate/degenerate triangles. More... | |
void | checkEdges (const bool verbose=false) |
Check triply (or more) connected edges. More... | |
void | cleanup (const bool verbose=false) |
Remove non-valid triangles. More... | |
void | markZone (const boolList &borderEdge, const label faceI, const label currentZone, labelList &faceZone) const |
Fill faceZone with currentZone for every face reachable. More... | |
label | markZones (const boolList &borderEdge, labelList &faceZone) const |
(size and) fills faceZone with zone of face. Zone is area More... | |
void | subsetMeshMap (const boolList &include, labelList &pointMap, labelList &faceMap) const |
'Create' sub mesh, including only faces for which More... | |
triSurface | subsetMesh (const boolList &include, labelList &pointMap, labelList &faceMap) const |
Return new surface. Returns pointMap, faceMap from. More... | |
void | write (Ostream &) const |
Write to Ostream in simple FOAM format. More... | |
void | write (const fileName &, const bool sortByRegion=false) const |
Generic write routine. Chooses writer based on extension. More... | |
void | write (const Time &) const |
Write to database. More... | |
void | writeDX (const scalarField &, Ostream &) const |
Write to Ostream in OpenDX format. More... | |
void | writeDX (const vectorField &, Ostream &) const |
void | writeStats (Ostream &) const |
Write some statistics. More... | |
void | operator= (const triSurface &) |
ClassName ("triSurface") | |
Runtime type information. More... | |
triSurface () | |
Construct null. More... | |
triSurface (const List< labelledTri > &, const geometricSurfacePatchList &, const pointField &) | |
Construct from triangles, patches, points. More... | |
triSurface (List< labelledTri > &, const geometricSurfacePatchList &, pointField &, const bool reUse) | |
Construct from triangles, patches, points. Reuse storage. More... | |
triSurface (const Xfer< List< labelledTri > > &, const geometricSurfacePatchList &, const Xfer< List< point > > &) | |
Construct from triangles, patches, points. More... | |
triSurface (const List< labelledTri > &, const pointField &) | |
Construct from triangles, points. Set patchnames to default. More... | |
triSurface (const triFaceList &, const pointField &) | |
Construct from triangles, points. Set region to 0 and default. More... | |
triSurface (const fileName &) | |
Construct from file name (uses extension to determine type) More... | |
triSurface (Istream &) | |
Construct from Istream. More... | |
triSurface (const Time &d) | |
Construct from objectRegistry. More... | |
triSurface (const triSurface &) | |
Construct as copy. More... | |
~triSurface () | |
Destructor. More... | |
void | clearOut () |
void | clearTopology () |
void | clearPatchMeshAddr () |
const geometricSurfacePatchList & | patches () const |
geometricSurfacePatchList & | patches () |
const labelListList & | sortedEdgeFaces () const |
Return edge-face addressing sorted (for edges with more than. More... | |
const labelList & | edgeOwner () const |
If 2 face neighbours: label of face where ordering of edge. More... | |
virtual void | scalePoints (const scalar) |
Scale points. A non-positive factor is ignored. More... | |
void | checkTriangles (const bool verbose) |
Check/remove duplicate/degenerate triangles. More... | |
void | checkEdges (const bool verbose) |
Check triply (or more) connected edges. More... | |
void | cleanup (const bool verbose) |
Remove non-valid triangles. More... | |
void | markZone (const boolList &borderEdge, const label faceI, const label currentZone, labelList &faceZone) const |
Fill faceZone with currentZone for every face reachable. More... | |
label | markZones (const boolList &borderEdge, labelList &faceZone) const |
(size and) fills faceZone with zone of face. Zone is area More... | |
void | subsetMeshMap (const boolList &include, labelList &pointMap, labelList &faceMap) const |
'Create' sub mesh, including only faces for which More... | |
triSurface | subsetMesh (const boolList &include, labelList &pointMap, labelList &faceMap) const |
Return new surface. Returns pointMap, faceMap from. More... | |
void | write (Ostream &) const |
Write to Ostream in simple FOAM format. More... | |
void | write (const fileName &, const bool sortByRegion=false) const |
Generic write routine. Chooses writer based on extension. More... | |
void | write (const Time &) const |
Write to database. More... | |
void | writeDX (const scalarField &, Ostream &) const |
Write to Ostream in OpenDX format. More... | |
void | writeDX (const vectorField &, Ostream &) const |
void | writeStats (Ostream &) const |
Write some statistics. More... | |
void | operator= (const triSurface &) |
![]() | |
PrimitivePatch (const List< labelledTri > &faces, const Field< point > &points) | |
Construct from components. More... | |
PrimitivePatch (List< labelledTri > &faces, Field< point > &points, const bool reUse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< labelledTri, List, pointField, point > &) | |
Construct as copy. More... | |
PrimitivePatch (const List< labelledTri > &faces, const Field< point > &points) | |
Construct from components. More... | |
PrimitivePatch (const Xfer< List< labelledTri > > &faces, const Xfer< List< point > > &points) | |
Construct from components. More... | |
PrimitivePatch (List< labelledTri > &faces, Field< point > &points, const bool reUse) | |
Construct from components, reuse storage. More... | |
PrimitivePatch (const PrimitivePatch< labelledTri, List, pointField, point > &) | |
Construct as copy. More... | |
virtual | ~PrimitivePatch () |
virtual | ~PrimitivePatch () |
Destructor. More... | |
void | clearOut () |
void | clearOut () |
void | clearGeom () |
void | clearGeom () |
void | clearTopology () |
void | clearTopology () |
void | clearPatchMeshAddr () |
void | clearPatchMeshAddr () |
const Field< point > & | points () const |
Return reference to global points. More... | |
const Field< point > & | points () const |
Return reference to global points. More... | |
label | nPoints () const |
Return number of points supporting patch faces. More... | |
label | nPoints () const |
Return number of points supporting patch faces. More... | |
label | nEdges () const |
Return number of edges in patch. More... | |
label | nEdges () const |
Return number of edges in patch. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
label | nInternalEdges () const |
Number of internal edges. More... | |
bool | isInternalEdge (const label edgeI) const |
Is internal edge? More... | |
bool | isInternalEdge (const label edgeI) const |
Is internal edge? More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points,. More... | |
const labelList & | boundaryPoints () const |
Return list of boundary points,. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | faceFaces () const |
Return face-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | faceEdges () const |
Return face-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointEdges () const |
Return point-edge addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const labelListList & | pointFaces () const |
Return point-face addressing. More... | |
const List< labelledTri > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const List< labelledTri > & | localFaces () const |
Return patch faces addressing into local point list. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. More... | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. They are constructed. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. Given the global point index find its. More... | |
const Map< label > & | meshPointMap () const |
Mesh point map. Given the global point index find its. More... | |
const Field< point > & | localPoints () const |
Return pointField of points in patch. More... | |
const Field< point > & | localPoints () const |
Return pointField of points in patch. More... | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. More... | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. More... | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point. More... | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point index. More... | |
label | whichEdge (const edge &e) const |
Given an edge in local point labels, return its index. More... | |
label | whichEdge (const edge &) const |
Given an edge in local point labels, return its. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges in the global edge list using. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using. More... | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges in the global edge list using. More... | |
const Field< point > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< point > & | faceCentres () const |
Return face centres for patch. More... | |
const Field< point > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< point > & | faceNormals () const |
Return face normals for patch. More... | |
const Field< point > & | pointNormals () const |
Return point normals for patch. More... | |
const Field< point > & | pointNormals () const |
Return point normals for patch. More... | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< point > &projectionDirection, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
List< objectHit > | projectPoints (const ToPatch &targetPatch, const Field< point > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
Foam::List< Foam::objectHit > | projectPoints (const ToPatch &targetPatch, const Field< point > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< point > &projectionDirection, const intersection::algorithm alg=intersection::FULL_RAY, const intersection::direction dir=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
List< objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< point > &projectionDirection, const intersection::algorithm=intersection::FULL_RAY, const intersection::direction=intersection::VECTOR) const |
Project vertices of patch onto another patch. More... | |
Foam::List< Foam::objectHit > | projectFaceCentres (const ToPatch &targetPatch, const Field< point > &projectionDirection, const intersection::algorithm alg, const intersection::direction dir) const |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. More... | |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. More... | |
surfaceTopo | surfaceType () const |
Calculate surface type formed by patch. More... | |
surfaceTopo | surfaceType () const |
Calculate surface type formed by patch. More... | |
bool | checkTopology (const bool report=false, labelHashSet *setPtr=NULL) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkTopology (const bool report=false, labelHashSet *setPtr=NULL) const |
Check surface formed by patch for manifoldness (see above). More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const |
Checks primitivePatch for faces sharing point but not edge. More... | |
void | writeVTK (const fileName &name) const |
Write VTK patch. More... | |
void | writeVTKNormals (const fileName &name) const |
Write VTK patch normals. More... | |
virtual void | movePoints (const Field< point > &) |
Correct patch after moving points. More... | |
virtual void | movePoints (const Field< point > &) |
Correct patch after moving points. More... | |
void | operator= (const PrimitivePatch< labelledTri, List, pointField, point > &) |
Assignment. More... | |
void | operator= (const PrimitivePatch< labelledTri, List, pointField, point > &) |
Assignment. More... | |
![]() | |
label | size () const |
Return the number of elements in the UList. More... | |
List () | |
Null constructor. More... | |
List (const label) | |
Construct with given size. More... | |
List (const label, const T &) | |
Construct with given size and value for all elements. More... | |
List (const List< T > &) | |
Copy constructor. More... | |
List (const Xfer< List< T > > &) | |
Construct by transferring the parameter contents. More... | |
List (List< T > &, bool reUse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< T > &, const labelUList &mapAddressing) | |
Construct as subset. More... | |
List (InputIterator first, InputIterator last) | |
Construct given start and end iterators. More... | |
List (const FixedList< T, Size > &) | |
Construct as copy of FixedList<T, Size> More... | |
List (const PtrList< T > &) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< T > &) | |
Construct as copy of SLList<T> More... | |
List (const UIndirectList< T > &) | |
Construct as copy of UIndirectList<T> More... | |
List (const BiIndirectList< T > &) | |
Construct as copy of BiIndirectList<T> More... | |
List (Istream &) | |
Construct from Istream. More... | |
List (const label s) | |
List (const label s, const T &a) | |
List (const List< T > &a) | |
List (const Xfer< List< T > > &lst) | |
List (List< T > &a, bool reUse) | |
List (const UList< T > &a, const labelUList &map) | |
List (const PtrList< T > &lst) | |
List (const SLList< T > &lst) | |
List (const UIndirectList< T > &lst) | |
List (const BiIndirectList< T > &lst) | |
List () | |
List (Istream &is) | |
autoPtr< List< T > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | resize (const label) |
Alias for setSize(const label) More... | |
void | resize (const label, const T &) |
Alias for setSize(const label, const T&) More... | |
void | setSize (const label) |
Reset size of List. More... | |
void | setSize (const label, const T &) |
Reset size of List and value for new elements. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | append (const T &) |
Append an element at the end of the list. More... | |
void | append (const UList< T > &) |
Append a List at the end of this list. More... | |
void | append (const UIndirectList< T > &) |
Append a UIndirectList at the end of this list. More... | |
void | transfer (List< T > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (DynamicList< T, SizeInc, SizeMult, SizeDiv > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (SortableList< T > &) |
Transfer the contents of the argument List into this list. More... | |
void | transfer (List< T > &a) |
void | transfer (SortableList< T > &a) |
Xfer< List< T > > | xfer () |
Transfer contents to the Xfer container. More... | |
T & | newElmt (const label) |
Return subscript-checked element of UList. More... | |
void | operator= (const UList< T > &) |
Assignment from UList operator. Takes linear time. More... | |
void | operator= (const List< T > &) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< T > &) |
Assignment from SLList operator. Takes linear time. More... | |
void | operator= (const UIndirectList< T > &) |
Assignment from UIndirectList operator. Takes linear time. More... | |
void | operator= (const BiIndirectList< T > &) |
Assignment from BiIndirectList operator. Takes linear time. More... | |
void | operator= (const T &) |
Assignment of all entries to the given value. More... | |
![]() | |
triSurfaceRegionSearch (const triSurface &) | |
Construct from surface. Holds reference to surface! More... | |
triSurfaceRegionSearch (const triSurface &, const dictionary &dict) | |
Construct from surface and dictionary. Holds reference to surface! More... | |
~triSurfaceRegionSearch () | |
Destructor. More... | |
void | clearOut () |
Clear storage. More... | |
const PtrList< treeType > & | treeByRegion () const |
Demand driven construction of octree for each region. More... | |
void | findNearest (const pointField &samples, const scalarField &nearestDistSqr, const labelList ®ionIndices, List< pointIndexHit > &info) const |
Find the nearest point on the surface out of the regions. More... | |
![]() | |
triSurfaceSearch (const triSurface &) | |
Construct from surface. Holds reference to surface! More... | |
triSurfaceSearch (const triSurface &, const dictionary &dict) | |
Construct from surface and dictionary. More... | |
triSurfaceSearch (const triSurface &surface, const scalar tolerance, const label maxTreeDepth) | |
Construct from components. More... | |
~triSurfaceSearch () | |
Destructor. More... | |
void | clearOut () |
Clear storage. More... | |
const indexedOctree< treeDataTriSurface > & | tree () const |
Demand driven construction of the octree. More... | |
const triSurface & | surface () const |
Return reference to the surface. More... | |
scalar | tolerance () const |
Return tolerance to use in searches. More... | |
label | maxTreeDepth () const |
Return max tree depth of octree. More... | |
boolList | calcInside (const pointField &searchPoints) const |
Calculate for each searchPoint inside/outside status. More... | |
void | findNearest (const pointField &samples, const scalarField &nearestDistSqr, List< pointIndexHit > &info) const |
pointIndexHit | nearest (const point &, const vector &span) const |
Calculate nearest point on surface for single searchPoint. Returns. More... | |
void | findLine (const pointField &start, const pointField &end, List< pointIndexHit > &info) const |
void | findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &info) const |
void | findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit > > &info) const |
Calculate all intersections from start to end. More... | |
Static Public Member Functions | |
static triSurface | overlappingSurface (const triSurface &, const List< treeBoundBox > &, labelList &subPointMap, labelList &subFaceMap) |
Subset the part of surface that is overlapping bounds. 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 *) |
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 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) |
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 void | replaceFileName (const word &from, const word &to) |
![]() | |
static fileName | triSurfInstance (const Time &) |
Name of triSurface directory to use. More... | |
static fileName | triSurfInstance (const Time &) |
Name of triSurface directory to use. More... | |
![]() | |
static void | writeVTK (const fileName &name, const FaceListType &faces, const Field< point > &points) |
Write generic VTK patch, HJ, 14/Jan/2009. More... | |
static void | writeVTKNormals (const fileName &name, const FaceListType &faces, const Field< point > &points) |
Write generic VTK patch normals, HJ, 14/Jan/2009. More... | |
![]() | |
static const List< T > & | null () |
Return a null List. More... | |
Static Public Attributes | |
static const NamedEnum< distributionType, 3 > | distributionTypeNames_ |
![]() | |
static word | meshSubDir = "triSurface" |
Return the mesh sub-directory name (usually "triSurface") More... | |
![]() | |
static const NamedEnum< fileCheckTypes, 4 > | fileCheckTypesNames |
static int | fileModificationSkew |
static fileCheckTypes | fileModificationChecking |
Private Member Functions | |
bool | read () |
Read my additional data. More... | |
void | distributeSegment (const label, const point &start, const point &end, DynamicList< segment > &, DynamicList< label > &, List< DynamicList< label > > &) const |
Split segment into subsegments overlapping the processor. More... | |
autoPtr< mapDistribute > | distributeSegments (const pointField &start, const pointField &end, List< segment > &allSegments, List< label > &allSegmentMap) const |
Divide edges into local and remote segments. Construct map to. More... | |
void | findLine (const bool nearestIntersection, const pointField &start, const pointField &end, List< pointIndexHit > &info) const |
Split edges, distribute, test and collect. More... | |
autoPtr< mapDistribute > | calcLocalQueries (const List< pointIndexHit > &, labelList &triangleIndex) const |
Obtains global indices from pointIndexHit and swaps them back. More... | |
label | calcOverlappingProcs (const point ¢re, const scalar radiusSqr, boolList &overlaps) const |
autoPtr< mapDistribute > | calcLocalQueries (const pointField ¢res, const scalarField &radiusSqr, pointField &allCentres, scalarField &allRadiusSqr, labelList &allSegmentMap) const |
List< List< treeBoundBox > > | independentlyDistributedBbs (const triSurface &) |
Finds new bounds based on an indepedent decomposition. More... | |
template<class Type > | |
void | distributeFields (const mapDistribute &map) |
Distribute stored fields. More... | |
distributedTriSurfaceMesh (const distributedTriSurfaceMesh &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const distributedTriSurfaceMesh &) |
Disallow default bitwise assignment. More... | |
Static Private Member Functions | |
static bool | isLocal (const List< treeBoundBox > &myBbs, const point &start, const point &end) |
static bool | overlaps (const List< treeBoundBox > &bb, const point &p0, const point &p1, const point &p2) |
Does any part of triangle overlap bb. More... | |
static void | subsetMeshMap (const triSurface &s, const boolList &include, const label nIncluded, labelList &newToOldPoints, labelList &oldToNewPoints, labelList &newToOldFaces) |
Find points used in subset. More... | |
static triSurface | subsetMesh (const triSurface &s, const labelList &newToOldPoints, const labelList &oldToNewPoints, const labelList &newToOldFaces) |
Construct subsetted surface. More... | |
static triSurface | subsetMesh (const triSurface &s, const boolList &include, labelList &newToOldPoints, labelList &newToOldFaces) |
Subset given marked faces. More... | |
static triSurface | subsetMesh (const triSurface &s, const labelList &newToOldFaces, labelList &newToOldPoints) |
Subset given marked faces. More... | |
static label | findTriangle (const List< labelledTri > &allFaces, const labelListList &allPointFaces, const labelledTri &otherF) |
Find triangle otherF in allFaces. More... | |
static void | merge (const scalar mergeDist, const List< labelledTri > &subTris, const pointField &subPoints, List< labelledTri > &allTris, pointField &allPoints, labelList &faceConstructMap, labelList &pointConstructMap) |
Merge triSurface (subTris, subPoints) into allTris, allPoints. More... | |
Private Attributes | |
scalar | mergeDist_ |
Merging distance. More... | |
autoPtr< IOdictionary > | decomposeParDict_ |
autoPtr< decompositionMethod > | decomposer_ |
Decomposition used when independently decomposing surface. More... | |
IOdictionary | dict_ |
Bounding box settings. More... | |
List< List< treeBoundBox > > | procBb_ |
Bounding boxes of all processors. More... | |
autoPtr< globalIndex > | globalTris_ |
Global triangle numbering. More... | |
distributionType | distType_ |
The distribution type. More... | |
Additional Inherited Members | |
![]() | |
const typedef T & | const_reference |
Type that can be used for storing into constant. More... | |
![]() | |
Istream * | objectStream () |
Construct and return an IFstream for the object. More... | |
Istream * | objectStream (const fileName &) |
Construct and return an IFstream for the object given the. More... | |
void | setBad (const string &) |
Set the object state to bad. More... | |
![]() | |
pointField & | storedPoints () |
Non-const access to global points. More... | |
List< Face > & | storedFaces () |
Non-const access to the faces. More... | |
pointField & | storedPoints () |
Non-const access to global points. More... | |
List< Face > & | storedFaces () |
Non-const access to the faces. More... | |
![]() | |
void | size (const label) |
Override size to be inconsistent with allocated storage. More... | |
![]() | |
static bool | masterOnlyReading = false |
To flag master-only reading of objects. More... | |
IOoject and searching on distributed triSurface. All processor hold (possibly overlapping) part of the overall surface. All queries are distributed to the processor that can answer it and the result sent back.
Definition at line 73 of file distributedTriSurfaceMesh.H.
enum distributionType |
Enumerator | |
---|---|
FOLLOW | |
INDEPENDENT | |
FROZEN |
Definition at line 81 of file distributedTriSurfaceMesh.H.
|
private |
Disallow default bitwise copy construct.
distributedTriSurfaceMesh | ( | const IOobject & | io, |
const triSurface & | s, | ||
const dictionary & | dict | ||
) |
Construct from triSurface.
Definition at line 1313 of file distributedTriSurfaceMesh.C.
References Foam::endl(), forAll, Pstream::gatherList(), Foam::Info, Foam::max(), Foam::min(), UPstream::myProcNo(), UPstream::nProcs(), Foam::read(), Foam::reduce(), Pstream::scatterList(), List< labelledTri >::size(), and writeStats().
distributedTriSurfaceMesh | ( | const IOobject & | io | ) |
Construct read. Does findInstance to find io.local().
Definition at line 1361 of file distributedTriSurfaceMesh.C.
References searchableSurface::bounds(), distributedTriSurfaceMesh::dict_, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, regIOobject::fileModificationChecking, forAll, Pstream::gatherList(), Foam::Info, regIOobject::inotifyMaster, Foam::max(), Foam::min(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, UPstream::myProcNo(), UPstream::nProcs(), IOobject::objectPath(), UPstream::parRun(), distributedTriSurfaceMesh::procBb_, distributedTriSurfaceMesh::read(), IOobject::readOpt(), Foam::reduce(), Pstream::scatterList(), List< labelledTri >::size(), regIOobject::timeStampMaster, and distributedTriSurfaceMesh::writeStats().
distributedTriSurfaceMesh | ( | const IOobject & | io, |
const dictionary & | dict | ||
) |
Construct from dictionary (used by searchableSurface).
Does read. Does findInstance to find io.local().
Definition at line 1440 of file distributedTriSurfaceMesh.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, regIOobject::fileModificationChecking, forAll, Pstream::gatherList(), Foam::Info, Foam::max(), Foam::min(), IOobject::MUST_READ, IOobject::MUST_READ_IF_MODIFIED, UPstream::myProcNo(), UPstream::nProcs(), IOobject::objectPath(), UPstream::parRun(), Foam::read(), Foam::reduce(), Pstream::scatterList(), List< labelledTri >::size(), and writeStats().
|
virtual |
Destructor.
Definition at line 1524 of file distributedTriSurfaceMesh.C.
|
privatevirtual |
Read my additional data.
Reimplemented from regIOobject.
Definition at line 76 of file distributedTriSurfaceMesh.C.
References distributedTriSurfaceMesh::dict_, distributedTriSurfaceMesh::distributionTypeNames_, distributedTriSurfaceMesh::distType_, Pstream::gatherList(), dictionary::lookup(), distributedTriSurfaceMesh::mergeDist_, UPstream::myProcNo(), UPstream::nProcs(), distributedTriSurfaceMesh::procBb_, NamedEnum< Enum, nEnum >::read(), Foam::readScalar(), and Pstream::scatterList().
Referenced by distributedTriSurfaceMesh::distributedTriSurfaceMesh().
|
staticprivate |
Definition at line 97 of file distributedTriSurfaceMesh.C.
References forAll.
|
private |
Split segment into subsegments overlapping the processor.
bounding box. void Foam::distributedTriSurfaceMesh::splitSegment ( const label segmentI, const point& start, const point& end, const treeBoundBox& bb,
DynamicList<segment>& allSegments, DynamicList<label>& allSegmentMap, DynamicList<label> sendMap ) const Distribute segments into overlapping processor
bounding boxes. Sort per processor.
Definition at line 177 of file distributedTriSurfaceMesh.C.
References List::append(), DynamicList::append(), forAll, treeBoundBox::intersects(), and UPstream::myProcNo().
|
private |
Divide edges into local and remote segments. Construct map to.
distribute and collect data.
Definition at line 258 of file distributedTriSurfaceMesh.C.
References forAll, Pstream::gatherList(), Foam::identity(), UPstream::myProcNo(), UPstream::nProcs(), Pstream::scatterList(), List::setSize(), DynamicList::shrink(), List::size(), List::transfer(), and List::xfer().
|
private |
Split edges, distribute, test and collect.
Definition at line 359 of file distributedTriSurfaceMesh.C.
References mapDistribute::distribute(), indexedOctree::findLine(), indexedOctree::findLineAny(), forAll, PointIndexHit< Point >::hit(), PointIndexHit< Point >::hitPoint(), Foam::magSqr(), UPstream::myProcNo(), UPstream::parRun(), Foam::returnReduce(), mapDistribute::reverseDistribute(), List::setSize(), List::size(), and globalIndex::toGlobal().
|
private |
Obtains global indices from pointIndexHit and swaps them back.
to their original processor. Used to calculate local region and normal.
Definition at line 543 of file distributedTriSurfaceMesh.C.
References mapDistribute::distribute(), forAll, Pstream::gatherList(), Foam::identity(), UPstream::myProcNo(), UPstream::nProcs(), Pstream::scatterList(), List::setSize(), List::size(), globalIndex::toLocal(), globalIndex::whichProcID(), and List::xfer().
|
private |
Definition at line 662 of file distributedTriSurfaceMesh.C.
References forAll.
|
private |
Definition at line 694 of file distributedTriSurfaceMesh.C.
References List::append(), DynamicList::append(), forAll, Pstream::gatherList(), Foam::identity(), UPstream::myProcNo(), UPstream::nProcs(), Pstream::scatterList(), List::setSize(), DynamicList::shrink(), List::size(), List::transfer(), and List::xfer().
|
private |
Finds new bounds based on an indepedent decomposition.
Definition at line 813 of file distributedTriSurfaceMesh.C.
References geomDecomp::decompose(), Foam::endl(), Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::max(), Foam::min(), IOobject::MUST_READ_IF_MODIFIED, decompositionMethod::New(), IOobject::NO_WRITE, UPstream::nProcs(), Foam::reduce(), s(), List::setSize(), Foam::system(), and IOobject::time().
|
staticprivate |
Does any part of triangle overlap bb.
Exact test of triangle intersecting bb
Definition at line 933 of file distributedTriSurfaceMesh.C.
References treeBoundBox::contains(), forAll, intersect(), triangleFuncs::intersectBb(), boundBox::max(), Foam::max(), boundBox::min(), Foam::min(), and treeBoundBox::overlaps().
|
staticprivate |
Find points used in subset.
Definition at line 980 of file distributedTriSurfaceMesh.C.
References f(), forAll, s(), and List::setSize().
|
staticprivate |
Construct subsetted surface.
Definition at line 1025 of file distributedTriSurfaceMesh.C.
References forAll, s(), and List::size().
|
staticprivate |
Subset given marked faces.
Definition at line 1058 of file distributedTriSurfaceMesh.C.
References forAll, n, and s().
|
staticprivate |
Subset given marked faces.
Definition at line 1097 of file distributedTriSurfaceMesh.C.
References f(), forAll, s(), and List::setSize().
|
staticprivate |
Find triangle otherF in allFaces.
Definition at line 1152 of file distributedTriSurfaceMesh.C.
References f(), Foam::findIndex(), forAll, and pFaces.
|
staticprivate |
Merge triSurface (subTris, subPoints) into allTris, allPoints.
Definition at line 1185 of file distributedTriSurfaceMesh.C.
References Foam::DelaunayMeshTools::allPoints(), forAll, Foam::invertManyToMany(), Foam::matchPoints(), List::setSize(), and List::size().
|
private |
Distribute stored fields.
Definition at line 85 of file distributedTriSurfaceMeshTemplates.C.
References mapDistribute::distribute(), Foam::endl(), fields, and Foam::Info.
|
private |
Disallow default bitwise assignment.
TypeName | ( | "distributedTriSurfaceMesh" | ) |
Runtime type information.
void clearOut | ( | ) |
Clear storage.
Definition at line 1530 of file distributedTriSurfaceMesh.C.
References triSurfaceMesh::clearOut().
const Foam::globalIndex & globalTris | ( | ) | const |
Triangle indexing (demand driven)
Definition at line 1539 of file distributedTriSurfaceMesh.C.
References List< labelledTri >::size().
Referenced by distributedTriSurfaceMesh::globalSize().
|
inlinevirtual |
Whether supports volume type below. I.e. whether is closed.
Not supported.
Reimplemented from triSurfaceMesh.
Definition at line 345 of file distributedTriSurfaceMesh.H.
|
inlinevirtual |
Range of global indices that can be returned.
Reimplemented from searchableSurface.
Definition at line 351 of file distributedTriSurfaceMesh.H.
References distributedTriSurfaceMesh::globalTris(), and globalIndex::size().
|
virtual |
Reimplemented from triSurfaceMesh.
Definition at line 1550 of file distributedTriSurfaceMesh.C.
References mapDistribute::distribute(), indexedOctree::findNearest(), forAll, Foam::magSqr(), UPstream::myProcNo(), UPstream::nProcs(), UPstream::parRun(), Foam::returnReduce(), mapDistribute::reverseDistribute(), samples(), List::setSize(), List::size(), and globalIndex::toGlobal().
|
virtual |
Find first intersection on segment from start to end.
Note: searchableSurfacesQueries expects no intersection to be found if start==end. Is problem?
Reimplemented from triSurfaceMesh.
Definition at line 1707 of file distributedTriSurfaceMesh.C.
|
virtual |
Return any intersection on segment from start to end.
Reimplemented from triSurfaceMesh.
Definition at line 1724 of file distributedTriSurfaceMesh.C.
|
virtual |
Get all intersections in order from start to end.
Reimplemented from triSurfaceMesh.
Definition at line 1741 of file distributedTriSurfaceMesh.C.
References List::clear(), forAll, Foam::magSqr(), Foam::returnReduce(), List::setSize(), and List::size().
|
virtual |
From a set of points and indices get the region.
Reimplemented from triSurfaceMesh.
Definition at line 1855 of file distributedTriSurfaceMesh.C.
References forAll, UPstream::parRun(), mapDistribute::reverseDistribute(), s(), List::setSize(), and List::size().
|
virtual |
From a set of points and indices get the normal.
Reimplemented from triSurfaceMesh.
Definition at line 1915 of file distributedTriSurfaceMesh.C.
References forAll, triSurfaceMesh::getNormal(), Foam::mag(), UPstream::parRun(), mapDistribute::reverseDistribute(), s(), and List::size().
|
virtual |
Determine type (inside/outside/mixed) for point. unknown if.
cannot be determined (e.g. non-manifold surface)
Reimplemented from triSurfaceMesh.
Definition at line 2020 of file distributedTriSurfaceMesh.C.
References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.
|
virtual |
Set bounds of surface. Bounds currently set as list of.
bounding boxes. Will do redistribution of surface to locally have all triangles overlapping bounds. Larger bounds: more triangles (memory), more fully local tests (quick). keepNonLocal = true : keep triangles that do not overlap any processor bounds. Should really be split into a routine to determine decomposition and one that does actual distribution but determining decomposition with duplicate triangle merging requires same amount as work as actual distribution.
Reimplemented from searchableSurface.
Definition at line 2074 of file distributedTriSurfaceMesh.C.
References Foam::DelaunayMeshTools::allPoints(), UPstream::defaultCommsType, Foam::e, treeBoundBox::edges, Foam::endl(), Foam::exit(), Foam::faceMap(), Foam::FatalError, FatalErrorInFunction, PstreamBuffers::finishedSends(), forAll, Pstream::gatherList(), Foam::identity(), Foam::Info, merge(), UPstream::myProcNo(), OFstream::name(), UPstream::nProcs(), triSurface::operator=(), patches, path(), points, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), autoPtr::reset(), s(), Pstream::scatterList(), List::setSize(), List::size(), List< labelledTri >::size(), IOobject::time(), OBJstream::write(), and List::xfer().
|
virtual |
WIP. From a set of hits (points and.
indices) get the specified field. Misses do not get set.
Reimplemented from triSurfaceMesh.
Definition at line 1965 of file distributedTriSurfaceMesh.C.
References fld(), forAll, triSurfaceMesh::getField(), UPstream::parRun(), mapDistribute::reverseDistribute(), List::setSize(), and List::size().
|
static |
Subset the part of surface that is overlapping bounds.
Definition at line 2033 of file distributedTriSurfaceMesh.C.
References f(), forAll, Foam::max(), s(), and List::size().
void writeStats | ( | Ostream & | os | ) | const |
Print some stats. Parallel aware version of.
Definition at line 2462 of file distributedTriSurfaceMesh.C.
References PatchTools::calcBounds(), Foam::endl(), boundBox::max(), boundBox::min(), nPoints, Foam::reduce(), Foam::returnReduce(), and List< labelledTri >::size().
Referenced by distributedTriSurfaceMesh::distributedTriSurfaceMesh().
|
virtual |
Write using given format, version and compression.
Do not use the triSurfaceMesh::writeObject since it would filter out empty regions. These need to be preserved in case we want to make decisions based on the number of regions.
Reimplemented from triSurfaceMesh.
Definition at line 2428 of file distributedTriSurfaceMesh.C.
References IOstream::ASCII, IOobject::instance(), Foam::isFile(), Foam::mkDir(), IOobject::objectPath(), fileName::path(), and triSurface::write().
|
static |
Definition at line 88 of file distributedTriSurfaceMesh.H.
Referenced by faceHeatShading::calculate(), faceShading::calculate(), and distributedTriSurfaceMesh::read().
|
private |
Merging distance.
Definition at line 95 of file distributedTriSurfaceMesh.H.
Referenced by distributedTriSurfaceMesh::read().
|
private |
Definition at line 97 of file distributedTriSurfaceMesh.H.
|
private |
Decomposition used when independently decomposing surface.
Definition at line 100 of file distributedTriSurfaceMesh.H.
|
private |
Bounding box settings.
Definition at line 103 of file distributedTriSurfaceMesh.H.
Referenced by distributedTriSurfaceMesh::distributedTriSurfaceMesh(), and distributedTriSurfaceMesh::read().
|
private |
Bounding boxes of all processors.
Definition at line 106 of file distributedTriSurfaceMesh.H.
Referenced by distributedTriSurfaceMesh::distributedTriSurfaceMesh(), and distributedTriSurfaceMesh::read().
|
mutableprivate |
Global triangle numbering.
Definition at line 109 of file distributedTriSurfaceMesh.H.
|
private |
The distribution type.
Definition at line 112 of file distributedTriSurfaceMesh.H.
Referenced by distributedTriSurfaceMesh::read().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.