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...
#include <meshTools/distributedTriSurfaceMesh.H>
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 74 of file distributedTriSurfaceMesh.H.
Public Types | |
enum | distributionType { FOLLOW = 0, INDEPENDENT = 1, FROZEN = 2 } |
Public Member Functions | |
TypeName ("distributedTriSurfaceMesh") | |
Runtime type information. | |
distributedTriSurfaceMesh (const IOobject &, const triSurface &, const dictionary &dict) | |
Construct from triSurface. | |
distributedTriSurfaceMesh (const IOobject &io) | |
Construct read. Does findInstance to find io.local(). | |
distributedTriSurfaceMesh (const IOobject &io, const dictionary &dict) | |
Construct from dictionary (used by searchableSurface). | |
virtual | ~distributedTriSurfaceMesh () |
void | clearOut () |
Clear storage. | |
const globalIndex & | globalTris () const |
Triangle indexing (demand driven) | |
virtual bool | hasVolumeType () const |
Whether supports volume type below. I.e. whether is closed. | |
virtual label | globalSize () const |
Range of global indices that can be returned. | |
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. | |
virtual void | findLineAny (const pointField &start, const pointField &end, List< pointIndexHit > &) const |
Return any intersection on segment from start to end. | |
virtual void | findLineAll (const pointField &start, const pointField &end, List< List< pointIndexHit > > &) const |
Get all intersections in order from start to end. | |
virtual void | getRegion (const List< pointIndexHit > &, labelList ®ion) const |
From a set of points and indices get the region. | |
virtual void | getNormal (const List< pointIndexHit > &, vectorField &normal) const |
From a set of points and indices get the normal. | |
virtual void | getVolumeType (const pointField &, List< volumeType > &) const |
Determine type (inside/outside/mixed) for point. unknown if. | |
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. | |
virtual void | getField (const List< pointIndexHit > &, labelList &) const |
WIP. From a set of hits (points and. | |
void | writeStats (Ostream &os) const |
Print some stats. Parallel aware version of. | |
virtual bool | writeObject (IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp) const |
Write using given format, version and compression. | |
![]() | |
TypeName ("triSurfaceMesh") | |
Runtime type information. | |
triSurfaceMesh (const IOobject &, const triSurface &) | |
Construct from triSurface. | |
triSurfaceMesh (const IOobject &io) | |
Construct read. | |
triSurfaceMesh (const IOobject &io, const dictionary &dict) | |
Construct from IO and dictionary (used by searchableSurface). | |
virtual | ~triSurfaceMesh () |
virtual void | movePoints (const pointField &) |
Move points. | |
const indexedOctree < treeDataTriSurface > & | tree () const |
Demand driven contruction of octree. | |
const indexedOctree < treeDataEdge > & | edgeTree () const |
Demand driven contruction of octree for boundary edges. | |
virtual const wordList & | regions () const |
Names of regions. | |
virtual label | size () const |
Range of local indices that can be returned. | |
virtual pointField | coordinates () const |
Get representative set of element coordinates. | |
virtual void | setField (const labelList &values) |
WIP. Store element-wise field. | |
bool | writeData (Ostream &) const |
writeData function required by regIOobject but not used | |
![]() | |
TypeName ("searchableSurface") | |
Runtime type information. | |
declareRunTimeSelectionTable (autoPtr, searchableSurface, dict,(const IOobject &io, const dictionary &dict),(io, dict)) | |
searchableSurface (const IOobject &io) | |
virtual autoPtr < searchableSurface > | clone () const |
Clone. | |
virtual | ~searchableSurface () |
![]() | |
TypeName ("regIOobject") | |
Runtime type information. | |
regIOobject (const IOobject &, const bool isTime=false) | |
Construct from IOobject. Optional flag for if IOobject is the. | |
regIOobject (const regIOobject &) | |
Construct as copy. | |
regIOobject (const regIOobject &, bool registerCopy) | |
Construct as copy, and transferring registry registration to copy. | |
virtual | ~regIOobject () |
bool | checkIn () |
Add object to registry. | |
bool | checkOut () |
Remove object from registry. | |
bool | ownedByRegistry () const |
Is this object owned by the registry? | |
void | store () |
Transfer ownership of this object to its registry. | |
void | release () |
Release ownership of this object from its registry. | |
label | eventNo () const |
Event number at last update. | |
label & | eventNo () |
Event number at last update. | |
bool | upToDate (const word &) const |
Am I uptodate with respect to other regIOobjects. | |
bool | upToDate (const word &, const word &) const |
bool | upToDate (const word &, const word &, const word &) const |
bool | upToDate (const word &, const word &, const word &, const word &) const |
void | setUpToDate () |
Flag me as up to date. | |
Istream & | readStream (const word &) |
Return Istream and check object type against that given. | |
void | close () |
Close Istream. | |
virtual bool | readData (Istream &) |
Virtual readData function. | |
virtual bool | write () const |
Write using setting from DB. | |
void | operator= (const IOobject &) |
![]() | |
TypeName ("IOobject") | |
Runtime type information. | |
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. | |
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. | |
IOobject (const fileName &path, const objectRegistry ®istry, readOption r=NO_READ, writeOption w=NO_WRITE, bool registerObject=true) | |
Construct from path, registry, io options. | |
virtual | ~IOobject () |
const objectRegistry & | db () const |
Return the local objectRegistry. | |
const word & | name () const |
Return name. | |
const word & | headerClassName () const |
Return name of the class name read from header. | |
string & | note () |
Return non-constant access to the optional note. | |
const string & | note () const |
Return the optional note. | |
bool | registerObject () const |
Register object created from this IOobject with registry if true. | |
readOption | readOpt () const |
readOption & | readOpt () |
writeOption | writeOpt () const |
writeOption & | writeOpt () |
const fileName & | rootPath () const |
const fileName & | caseName () const |
const fileName & | instance () const |
fileName & | instance () |
const fileName & | local () const |
fileName | path () const |
Return complete path. | |
fileName | path (const word &instance, const fileName &local="") const |
Return complete path with alternative instance and local. | |
fileName | objectPath () const |
Return complete path + object name. | |
fileName | filePath () const |
Return complete path + object name if the file exists. | |
bool | readHeader (Istream &) |
Read header. | |
bool | headerOk () |
Read and check header info. | |
bool | writeHeader (Ostream &) const |
Write header. | |
bool | good () const |
bool | bad () const |
InfoProxy< IOobject > | info () const |
Return info proxy. | |
![]() | |
TypeName ("objectRegistry") | |
Declare type name for this IOobject. | |
objectRegistry (const Time &db, const label nIoObjects=128) | |
Construct the time objectRegistry given an initial estimate. | |
objectRegistry (const IOobject &io, const label nIoObjects=128) | |
Construct a sub-registry given an IObject to describe the registry. | |
virtual | ~objectRegistry () |
const Time & | time () const |
Return time. | |
const objectRegistry & | parent () const |
Return the parent objectRegistry. | |
virtual const fileName & | dbDir () const |
Local directory path of this objectRegistry relative to the time. | |
wordList | names () const |
Return the list of names of the IOobjects. | |
wordList | names (const word &className) const |
Return the list of names of the IOobjects of given class name. | |
template<class Type > | |
wordList | names () const |
Return the list of names of the IOobjects of given type. | |
const objectRegistry & | subRegistry (const word &name) const |
Lookup and return a const sub-objectRegistry. | |
template<class Type > | |
HashTable< const Type * > | lookupClass () const |
Lookup and return all the object of the given Type. | |
template<class Type > | |
bool | foundObject (const word &name) const |
Is the named Type. | |
template<class Type > | |
const Type & | lookupObject (const word &name) const |
Lookup and return the object of the given Type. | |
label | getEvent () const |
Return new event number. | |
virtual void | rename (const word &newName) |
Rename. | |
bool | checkIn (regIOobject &) const |
Add an regIOobject to registry. | |
bool | checkOut (regIOobject &) const |
Remove an regIOobject from registry. | |
virtual bool | modified () const |
Return true if any of the object's files have been modified. | |
void | readModifiedObjects () |
Read the objects that have been modified. | |
virtual bool | readIfModified () |
Read object if modified. | |
![]() | |
ClassName ("triSurface") | |
Runtime type information. | |
triSurface () | |
Construct null. | |
triSurface (const List< labelledTri > &, const geometricSurfacePatchList &, const pointField &) | |
Construct from triangles, patches, points. | |
triSurface (List< labelledTri > &, const geometricSurfacePatchList &, pointField &, const bool reUse) | |
Construct from triangles, patches, points. Reuse storage. | |
triSurface (const List< labelledTri > &, const pointField &) | |
Construct from triangles, points. Set patchnames to default. | |
triSurface (const triFaceList &, const pointField &) | |
Construct from triangles, points. Set region to 0 and default. | |
triSurface (const fileName &) | |
Construct from file name (uses extension to determine type) | |
triSurface (Istream &) | |
Construct from Istream. | |
triSurface (const Time &d) | |
Construct from objectRegistry. | |
triSurface (const triSurface &) | |
Construct as copy. | |
~triSurface () | |
void | clearTopology () |
void | clearPatchMeshAddr () |
const geometricSurfacePatchList & | patches () const |
geometricSurfacePatchList & | patches () |
const labelListList & | sortedEdgeFaces () const |
Return edge-face addressing sorted (for edges with more than. | |
const labelList & | edgeOwner () const |
If 2 face neighbours: label of face where ordering of edge. | |
virtual void | scalePoints (const scalar &) |
Scale points. A non-positive factor is ignored. | |
void | checkTriangles (const bool verbose) |
Check/remove duplicate/degenerate triangles. | |
void | checkEdges (const bool verbose) |
Check triply (or more) connected edges. | |
void | cleanup (const bool verbose) |
Remove non-valid triangles. | |
void | markZone (const boolList &borderEdge, const label faceI, const label currentZone, labelList &faceZone) const |
Fill faceZone with currentZone for every face reachable. | |
label | markZones (const boolList &borderEdge, labelList &faceZone) const |
(size and) fills faceZone with zone of face. Zone is area | |
void | subsetMeshMap (const boolList &include, labelList &pointMap, labelList &faceMap) const |
'Create' sub mesh, including only faces for which | |
triSurface | subsetMesh (const boolList &include, labelList &pointMap, labelList &faceMap) const |
Return new surface. Returns pointMap, faceMap from. | |
void | write (Ostream &) const |
Write to Ostream in simple FOAM format. | |
void | write (const fileName &, const bool sortByRegion=false) const |
Generic write routine. Chooses writer based on extension. | |
void | write (const Time &) const |
Write to database. | |
void | writeDX (const scalarField &, Ostream &) const |
Write to Ostream in OpenDX format. | |
void | writeDX (const vectorField &, Ostream &) const |
void | operator= (const triSurface &) |
![]() | |
PrimitivePatch (const ::Foam::List< labelledTri > &faces, const Field< point > &points) | |
Construct from components. | |
PrimitivePatch (::Foam::List< labelledTri > &faces, Field< point > &points, const bool reUse) | |
Construct from components, reuse storage. | |
PrimitivePatch (const PrimitivePatch< labelledTri,::Foam::List, pointField, point > &) | |
Construct as copy. | |
virtual | ~PrimitivePatch () |
void | clearGeom () |
const Field< point > & | points () const |
Return reference to global points. | |
label | nPoints () const |
Return number of points supporting patch faces. | |
label | nEdges () const |
Return number of edges in patch. | |
const edgeList & | edges () const |
Return list of edges, address into LOCAL point list. | |
label | nInternalEdges () const |
Number of internal edges. | |
bool | isInternalEdge (const label edgeI) const |
Is internal edge? | |
const labelList & | boundaryPoints () const |
Return list of boundary points,. | |
const labelListList & | faceFaces () const |
Return face-face addressing. | |
const labelListList & | edgeFaces () const |
Return edge-face addressing. | |
const labelListList & | faceEdges () const |
Return face-edge addressing. | |
const labelListList & | pointEdges () const |
Return point-edge addressing. | |
const labelListList & | pointFaces () const |
Return point-face addressing. | |
const List< labelledTri > & | localFaces () const |
Return patch faces addressing into local point list. | |
const labelList & | meshPoints () const |
Return labelList of mesh points in patch. They are constructed. | |
const Map< label > & | meshPointMap () const |
Mesh point map. Given the global point index find its. | |
const Field< point > & | localPoints () const |
Return pointField of points in patch. | |
const labelList & | localPointOrder () const |
Return orders the local points for most efficient search. | |
label | whichPoint (const label gp) const |
Given a global point index, return the local point index. | |
label | whichEdge (const edge &) const |
Given an edge in local point labels, return its. | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &cellEdges, const labelList &faceCells) const |
Return labels of patch edges in the global edge list using. | |
labelList | meshEdges (const edgeList &allEdges, const labelListList &pointEdges) const |
Return labels of patch edges in the global edge list using. | |
const Field< point > & | faceCentres () const |
Return face centres for patch. | |
const Field< point > & | faceNormals () const |
Return face normals for patch. | |
const Field< point > & | pointNormals () const |
Return point normals for patch. | |
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. | |
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. | |
const labelListList & | edgeLoops () const |
Return list of closed loops of boundary vertices. | |
surfaceTopo | surfaceType () const |
Calculate surface type formed by patch. | |
bool | checkTopology (const bool report=false, labelHashSet *setPtr=NULL) const |
Check surface formed by patch for manifoldness (see above). | |
bool | checkPointManifold (const bool report=false, labelHashSet *setPtr=NULL) const |
Checks primitivePatch for faces sharing point but not edge. | |
virtual void | movePoints (const Field< point > &) |
Correct patch after moving points. | |
void | operator= (const PrimitivePatch< labelledTri,::Foam::List, pointField, point > &) |
Assignment. | |
![]() | |
List () | |
Null constructor. | |
List (const label) | |
Construct with given size. | |
List (const label, const labelledTri &) | |
Construct with given size and value for all elements. | |
List (const List< labelledTri > &) | |
Copy constructor. | |
List (const Xfer< List< labelledTri > > &) | |
Construct by transferring the parameter contents. | |
List (List< labelledTri > &, bool reUse) | |
Construct as copy or re-use as specified. | |
List (const UList< labelledTri > &, const unallocLabelList &mapAddressing) | |
Construct as subset. | |
List (InputIterator first, InputIterator last) | |
Construct given start and end iterators. | |
List (const FixedList< labelledTri, Size > &) | |
Construct as copy of FixedList<T, Size> | |
List (const PtrList< labelledTri > &) | |
Construct as copy of PtrList<T> | |
List (const SLList< labelledTri > &) | |
Construct as copy of SLList<T> | |
List (const IndirectList< labelledTri > &) | |
Construct as copy of IndirectList<T> | |
List (const UIndirectList< labelledTri > &) | |
Construct as copy of UIndirectList<T> | |
List (const BiIndirectList< labelledTri > &) | |
Construct as copy of BiIndirectList<T> | |
List (Istream &) | |
Construct from Istream. | |
autoPtr< List< labelledTri > > | clone () const |
Clone. | |
~List () | |
void | resize (const label) |
Reset size of List. | |
void | resize (const label, const labelledTri &) |
Reset size of List and value for new elements. | |
void | setSize (const label) |
Reset size of List. | |
void | setSize (const label, const labelledTri &) |
Reset size of List and value for new elements. | |
void | clear () |
Clear the list, i.e. set size to zero. | |
void | append (const UList< labelledTri > &) |
Append a List at the end of this list. | |
void | append (const UIndirectList< labelledTri > &) |
Append a UIndirectList at the end of this list. | |
void | transfer (List< labelledTri > &) |
Transfer the contents of the argument List into this list. | |
void | transfer (DynamicList< labelledTri, SizeInc, SizeMult, SizeDiv > &) |
Transfer the contents of the argument List into this list. | |
void | transfer (SortableList< labelledTri > &) |
Transfer the contents of the argument List into this list. | |
Xfer< List< labelledTri > > | xfer () |
Transfer contents to the Xfer container. | |
labelledTri & | newElmt (const label) |
Return subscript-checked element of UList. | |
void | operator= (const UList< labelledTri > &) |
Assignment from UList operator. Takes linear time. | |
void | operator= (const List< labelledTri > &) |
Assignment operator. Takes linear time. | |
void | operator= (const SLList< labelledTri > &) |
Assignment from SLList operator. Takes linear time. | |
void | operator= (const IndirectList< labelledTri > &) |
Assignment from IndirectList operator. Takes linear time. | |
void | operator= (const UIndirectList< labelledTri > &) |
Assignment from UIndirectList operator. Takes linear time. | |
void | operator= (const BiIndirectList< labelledTri > &) |
Assignment from BiIndirectList operator. Takes linear time. | |
void | operator= (const labelledTri &) |
Assignment of all entries to the given value. | |
![]() | |
UList () | |
Null constructor. | |
UList (labelledTri *__restrict__ v, label size) | |
Construct from components. | |
label | fcIndex (const label i) const |
Return the forward circular index, i.e. the next index. | |
label | rcIndex (const label i) const |
Return the reverse circular index, i.e. the previous index. | |
label | byteSize () const |
Return the binary size in number of characters of the UList. | |
const labelledTri * | cdata () const |
Return a const pointer to the first data element,. | |
labelledTri * | data () |
Return a pointer to the first data element,. | |
void | checkStart (const label start) const |
Check start is within valid range (0 ... size-1). | |
void | checkSize (const label size) const |
Check size is within valid range (0 ... size). | |
void | checkIndex (const label i) const |
Check index i is within valid range (0 ... size-1). | |
void | writeEntry (Ostream &) const |
Write the UList as a dictionary entry. | |
void | writeEntry (const word &keyword, Ostream &) const |
Write the UList as a dictionary entry with keyword. | |
void | assign (const UList< labelledTri > &) |
Assign elements to those from UList. | |
labelledTri & | operator[] (const label) |
Return element of UList. | |
const labelledTri & | operator[] (const label) const |
Return element of constant UList. | |
operator const Foam::List< labelledTri > & () const | |
Allow cast to a const List<T>&. | |
iterator | begin () |
Return an iterator to begin traversing the UList. | |
const_iterator | begin () const |
Return const_iterator to begin traversing the constant UList. | |
iterator | end () |
Return an iterator to end traversing the UList. | |
const_iterator | end () const |
Return const_iterator to end traversing the constant UList. | |
const_iterator | cbegin () const |
Return const_iterator to begin traversing the constant UList. | |
const_iterator | cend () const |
Return const_iterator to end traversing the constant UList. | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. | |
label | max_size () const |
Return size of the largest possible UList. | |
bool | empty () const |
Return true if the UList is empty (ie, size() is zero). | |
void | swap (UList< labelledTri > &) |
Swap two ULists of the same type in constant time. | |
bool | operator== (const UList< labelledTri > &) const |
Equality operation on ULists of the same type. | |
bool | operator!= (const UList< labelledTri > &) const |
The opposite of the equality operation. Takes linear time. | |
bool | operator< (const UList< labelledTri > &) const |
Compare two ULists lexicographically. Takes linear time. | |
bool | operator> (const UList< labelledTri > &) const |
Compare two ULists lexicographically. Takes linear time. | |
bool | operator<= (const UList< labelledTri > &) const |
Return true if !(a > b). Takes linear time. | |
bool | operator>= (const UList< labelledTri > &) const |
Return true if !(a < b). Takes linear time. |
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. |
Static Public Attributes | |
static const NamedEnum < distributionType, 3 > | distributionTypeNames_ |
Additional Inherited Members | |
![]() | |
void | calcBounds (boundBox &bb, label &nPoints) const |
Calculate (number of)used points and their bounding box. | |
![]() | |
pointField & | storedPoints () |
Non-const access to global points. | |
List< Face > & | storedFaces () |
Non-const access to the faces. |
enum distributionType |
Definition at line 82 of file distributedTriSurfaceMesh.H.
distributedTriSurfaceMesh | ( | const IOobject & | io, |
const triSurface & | s, | ||
const dictionary & | dict | ||
) |
Construct from triSurface.
Definition at line 1299 of file distributedTriSurfaceMesh.C.
References Foam::endl(), forAll, Pstream::gatherList(), Foam::Info, Pstream::myProcNo(), Pstream::nProcs(), Pstream::scatterList(), and List< labelledTri >::size().
distributedTriSurfaceMesh | ( | const IOobject & | io | ) |
Construct read. Does findInstance to find io.local().
Definition at line 1344 of file distributedTriSurfaceMesh.C.
References Foam::endl(), forAll, Pstream::gatherList(), Foam::Info, Pstream::myProcNo(), Pstream::nProcs(), IOobject::objectPath(), Pstream::scatterList(), triSurfaceMesh::size(), 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 1399 of file distributedTriSurfaceMesh.C.
References Foam::endl(), forAll, Pstream::gatherList(), Foam::Info, Pstream::myProcNo(), Pstream::nProcs(), IOobject::objectPath(), Pstream::scatterList(), and List< labelledTri >::size().
|
virtual |
Definition at line 1459 of file distributedTriSurfaceMesh.C.
TypeName | ( | "distributedTriSurfaceMesh" | ) |
Runtime type information.
void clearOut | ( | ) |
Clear storage.
Reimplemented from triSurfaceMesh.
Definition at line 1465 of file distributedTriSurfaceMesh.C.
References triSurfaceMesh::clearOut().
const Foam::globalIndex & globalTris | ( | ) | const |
Triangle indexing (demand driven)
Definition at line 1474 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 1485 of file distributedTriSurfaceMesh.C.
References mapDistribute::constructMap(), mapDistribute::constructSize(), mapDistribute::distribute(), forAll, Foam::magSqr(), Pstream::myProcNo(), PstreamBase::nonBlocking, Pstream::nProcs(), Pstream::parRun(), Foam::returnReduce(), List< T >::setSize(), List< T >::size(), mapDistribute::subMap(), 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 1676 of file distributedTriSurfaceMesh.C.
|
virtual |
Return any intersection on segment from start to end.
Reimplemented from triSurfaceMesh.
Definition at line 1693 of file distributedTriSurfaceMesh.C.
|
virtual |
Get all intersections in order from start to end.
Reimplemented from triSurfaceMesh.
Definition at line 1710 of file distributedTriSurfaceMesh.C.
References List< T >::clear(), forAll, Foam::magSqr(), Foam::returnReduce(), List< T >::setSize(), List< T >::size(), and Foam::sqrt().
|
virtual |
From a set of points and indices get the region.
Reimplemented from triSurfaceMesh.
Definition at line 1824 of file distributedTriSurfaceMesh.C.
References mapDistribute::constructMap(), mapDistribute::distribute(), forAll, PstreamBase::nonBlocking, UList< labelledTri >::operator[](), Pstream::parRun(), labelledTri::region(), List< T >::setSize(), List< T >::size(), and mapDistribute::subMap().
|
virtual |
From a set of points and indices get the normal.
Reimplemented from triSurfaceMesh.
Definition at line 1898 of file distributedTriSurfaceMesh.C.
References mapDistribute::constructMap(), mapDistribute::distribute(), forAll, triSurfaceMesh::getNormal(), Foam::mag(), PstreamBase::nonBlocking, Pstream::parRun(), PrimitivePatch< Face, FaceList, PointField, PointType >::points(), List< T >::setSize(), List< T >::size(), and mapDistribute::subMap().
|
virtual |
Determine type (inside/outside/mixed) for point. unknown if.
cannot be determined (e.g. non-manifold surface)
Reimplemented from triSurfaceMesh.
Definition at line 2025 of file distributedTriSurfaceMesh.C.
References Foam::exit(), Foam::FatalError, and FatalErrorIn.
|
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 triSurfaceMesh.
Definition at line 2082 of file distributedTriSurfaceMesh.C.
References PstreamBase::blocking, Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorIn, forAll, Pstream::gatherList(), Foam::identity(), Foam::Info, Pstream::myProcNo(), Pstream::nProcs(), triSurface::operator=(), patches, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), autoPtr< T >::reset(), Pstream::scatterList(), List< T >::setSize(), List< T >::size(), and List< labelledTri >::size().
|
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 1962 of file distributedTriSurfaceMesh.C.
References mapDistribute::constructMap(), mapDistribute::distribute(), forAll, triSurfaceMesh::getField(), PstreamBase::nonBlocking, Pstream::parRun(), List< T >::setSize(), List< T >::size(), and mapDistribute::subMap().
|
static |
Subset the part of surface that is overlapping bounds.
Definition at line 2041 of file distributedTriSurfaceMesh.C.
References forAll, Vector< Cmpt >::max, Foam::max(), Vector< Cmpt >::min, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), and List< T >::size().
void writeStats | ( | Ostream & | os | ) | const |
Print some stats. Parallel aware version of.
Reimplemented from triSurface.
Definition at line 2432 of file distributedTriSurfaceMesh.C.
References 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.
Reimplemented from triSurfaceMesh.
Definition at line 2416 of file distributedTriSurfaceMesh.C.
References IOstream::ASCII, IOobject::instance(), and triSurfaceMesh::writeObject().
|
static |
Definition at line 89 of file distributedTriSurfaceMesh.H.