120#define CGAL_HIERARCHY
157 const Time& runTime_;
182 label startOfInternalPoints_;
185 label startOfSurfacePointPairs_;
191 label startOfBoundaryConformPointPairs_;
194 std::list<Vb> featurePoints_;
197 static const label maxNvert = 20;
198 mutable point2D vertices[maxNvert+1];
208 void operator=(
const CV2D&) =
delete;
212 inline label insertPoint
219 inline label insertPoint
226 inline label insertPoint
233 inline bool insertMirrorPoint
241 inline void insertPointPair
243 const scalar mirrorDist,
249 void insertBoundingBox();
255 void insertFeaturePoints();
258 void reinsertFeaturePoints();
263 void insertPointPairs
274 bool dualCellSurfaceIntersection
283 void insertSurfaceNearestPointPairs();
288 void insertSurfaceNearPointPairs();
297 const label hitSurface
302 bool insertPointPairAtIntersection
307 const scalar maxProtSize
312 label insertBoundaryConformPointPairs(
const fileName& fName);
314 void markNearBoundaryPoints();
317 void fast_restore_Delaunay(Vertex_handle vh);
320 void external_flip(Face_handle&
f,
int i);
321 bool internal_flip(Face_handle&
f,
int i);
377 const scalar nearness
CGAL data structures used for 2D Delaunay meshing.
CGAL::Delaunay_triangulation_3< K, Tds, CompactLocator > Delaunay
Fb::Face_handle Face_handle
Conformal-Voronoi 2D automatic mesher with grid or read initial points and point position relaxation ...
const Point & PointFromPoint2D
void movePoint(const Vertex_handle &vh, const Point &P)
CV2D(const Time &runTime, const dictionary &controlDict)
Construct for given surface.
ClassName("CV2D")
Runtime type information.
const cv2DControls & meshControls() const
const point2D & point2DFromPoint
void writeFaces(const fileName &fName, bool internalOnly) const
Write dual faces as .obj file.
void writePatch(const fileName &fName) const
Write patch.
void calcDual(point2DField &dualPoints, faceList &dualFaces, wordList &patchNames, labelList &patchSizes, EdgeMap< label > &mapEdgesRegion, EdgeMap< label > &indirectPatchEdge) const
Calculates dual points (circumcentres of tets) and faces.
void insertSurfacePointPairs()
Insert all surface point-pairs from.
PointFromPoint2D toPoint(const point2D &) const
void boundaryConform()
Insert point-pairs where there are protrusions into.
void insertGrid()
Create the initial mesh as a regular grid of points.
void removeSurfacePointPairs()
Remove the point-pairs introduced by insertSurfacePointPairs.
Foam::point toPoint3D(const point2D &) const
void newPoints()
Move the internal points to the given new locations and update.
void extractPatches(wordList &patchNames, labelList &patchSizes, EdgeMap< label > &mapEdgesRegion, EdgeMap< label > &indirectPatchEdge) const
Extract patch names and sizes.
void insertPoints(const point2DField &points, const scalar nearness)
Create the initial mesh from the given internal points.
void writePoints(const fileName &fName, bool internalOnly) const
Write internal points to .obj file.
void writeTriangles(const fileName &fName, bool internalOnly) const
Write triangles as .obj file.
const point2D & toPoint2D(const Foam::point &) const
Triangulation::Finite_vertices_iterator Finite_vertices_iterator
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Map from edge (expressed as its endpoints) to value. For easier forward declaration it is currently i...
Generic templated field type.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Controls for the 2D CV mesh generator.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A class for handling file names.
Container for searchableSurfaces. The collection is specified as a dictionary. For example,...
A class for handling words, derived from Foam::string.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
runTime controlDict().readEntry("adjustTimeStep"
bool boundaryTriangle(const CV2D::Face_handle fc)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
pointField vertices(const blockVertexList &bvl)
bool outsideTriangle(const CV2D::Face_handle fc)
wordList patchNames(nPatches)