38 #ifndef DistributedDelaunayMesh_H 39 #define DistributedDelaunayMesh_H 45 #include "indexedVertex.H" 58 template<
class Triangulation>
66 typedef typename Triangulation::Cell_handle
Cell_handle;
69 typedef typename Triangulation::Finite_vertices_iterator
71 typedef typename Triangulation::Finite_cells_iterator
73 typedef typename Triangulation::All_cells_iterator
84 bool distributeBoundBoxes(
const boundBox& bb);
89 bool isLocal(
const label localProcIndex)
const;
94 const scalar radiusSqr
97 bool checkProcBoundaryCell
103 void findProcessorBoundaryCells
108 void markVerticesToRefer
183 bool iterateReferral =
true 189 template<
class Po
intIterator>
194 bool printErrors =
true scalar calculateLoadUnbalance() const
A HashTable with keys but without contents that is similar to std::unordered_set. ...
Triangulation::All_cells_iterator All_cells_iterator
static autoPtr< mapDistribute > buildMap(const List< label > &toProc)
Build a mapDistribute for the supplied destination processor data.
The vertex and cell classes must have an index defined.
CellSizeDelaunay ::Cell_handle Cell_handle
labelPairHashSet rangeInsertReferredWithInfo(PointIterator begin, PointIterator end, bool printErrors=true)
Inserts points into the triangulation if the point is within.
bool distribute(const boundBox &bb)
A bounding box defined in terms of min/max extrema points.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A class for handling words, derived from Foam::string.
Triangulation::Cell_handle Cell_handle
Triangulation::Vertex_handle Vertex_handle
Triangulation::Finite_vertices_iterator Finite_vertices_iterator
Triangulation::Point Point
~DistributedDelaunayMesh()=default
Destructor.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
Triangulation::Finite_cells_iterator Finite_cells_iterator
CellSizeDelaunay ::Vertex_handle Vertex_handle
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Store a background polyMesh to use for the decomposition of space and queries for parallel conformalV...
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
constexpr auto begin(C &c) -> decltype(c.begin())
Return iterator to the beginning of the container c.
void sync(const boundBox &bb)
Refer vertices so that the processor interfaces are consistent.
A HashTable to objects of type <T> with a label key.