48 #ifndef distributedTriSurfaceMesh_H 49 #define distributedTriSurfaceMesh_H 148 void distributeSegment
173 const bool nearestIntersection,
194 label calcOverlappingProcs
197 const scalar radiusSqr,
230 static void subsetMeshMap
234 const label nIncluded,
267 static label findTriangle
277 const scalar mergeDist,
296 TypeName(
"distributedTriSurfaceMesh");
359 virtual void findLine
417 const bool keepNonLocal,
455 const bool write =
true 459 virtual bool global()
const virtual void getField(const List< pointIndexHit > &, labelList &) const
WIP. From a set of hits (points and.
virtual void findLineAny(const pointField &start, const pointField &end, List< pointIndexHit > &) const
Return any intersection on segment from start to end.
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable
void operator=(const distributedTriSurfaceMesh &)=delete
Disallow default bitwise assignment.
A list of keyword definitions, which are a keyword followed by any number of values (e...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const globalIndex & globalTris() const
Triangle indexing (demand driven)
bool contiguous< segment >()
static const NamedEnum< distributionType, 3 > distributionTypeNames_
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
virtual void getVolumeType(const pointField &, List< volumeType > &) const
Determine type (inside/outside/mixed) for point. unknown if.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
A surface geometry formed of discrete facets, e.g. triangles and/or quadrilaterals, defined in a file using formats such as Wavefront OBJ, or stereolithography STL.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
An ordered pair of two objects of type <T> with first() and second() elements.
virtual bool hasVolumeType() const
Whether supports volume type below. I.e. whether is closed.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
virtual ~distributedTriSurfaceMesh()
Destructor.
virtual void getRegion(const List< pointIndexHit > &, labelList ®ion) const
From a set of points and indices get the region.
void clearOut()
Clear storage.
label size() const
Global sum of localSizes.
streamFormat
Enumeration for the format of data in the stream.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const
From a set of points and indices get the normal.
Abstract base class for decomposition.
Triangle with additional region number.
virtual void findLineAll(const pointField &start, const pointField &end, List< List< pointIndexHit >> &) const
Get all intersections in order from start to end.
compressionType
Enumeration for the format of data in the stream.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
IOoject and searching on distributed triSurface. All processor hold (possibly overlapping) part of th...
void write(Ostream &) const
Write to Ostream in simple FOAM format.
virtual void findNearest(const pointField &sample, const scalarField &nearestDistSqr, List< pointIndexHit > &) const
static triSurface overlappingSurface(const triSurface &, const List< treeBoundBox > &, labelList &subPointMap, labelList &subFaceMap)
Subset the part of surface that is overlapping bounds.
Class containing processor-to-processor mapping information.
virtual bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool write=true) const
Write using given format, version and compression.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
TypeName("distributedTriSurfaceMesh")
Runtime type information.
InfoProxy< IOobject > info() const
Return info proxy.
virtual void distribute(const List< treeBoundBox > &, const bool keepNonLocal, autoPtr< distributionMap > &faceMap, autoPtr< distributionMap > &pointMap)
Set bounds of surface. Bounds currently set as list of.
Triangulated surface description with patch information.
virtual label globalSize() const
Range of global indices that can be returned.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
bool typeGlobal< distributedTriSurfaceMesh >()
Template function for obtaining global status.
distributedTriSurfaceMesh(const IOobject &, const triSurface &, const dictionary &dict)
Construct from triSurface.
void writeStats(Ostream &os) const
Print some stats. Parallel aware version of.
virtual bool global() const
Is object global.