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];
205 CV2D(
const CV2D&) =
delete;
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
276 const Triangulation::Finite_vertices_iterator& vit
283 void insertSurfaceNearestPointPairs();
288 void insertSurfaceNearPointPairs();
294 Triangulation::Finite_vertices_iterator& vit,
297 const label hitSurface
302 bool insertPointPairAtIntersection
304 Triangulation::Finite_vertices_iterator& vit,
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
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 insertPoints(const fileName &pointFileName)
Create the initial mesh from the internal points in the given.
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
Map from edge (expressed as its endpoints) to value. Hashing (and ==) on an edge is symmetric.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
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"
List< word > wordList
List of word.
vector2DField point2DField
point2DField is a vector2DField.
vector2D point2D
Point2D is a vector.
List< label > labelList
A List of labels.
Vector2D< scalar > vector2D
A 2D vector of scalars obtained from the generic Vector2D.
bool boundaryTriangle(const CV2D::Face_handle fc)
List< face > faceList
List of faces.
line< point, const point & > linePointRef
A line using referred points.
bool outsideTriangle(const CV2D::Face_handle fc)
vector point
Point is a vector.
vectorField pointField
pointField is a vectorField.
UList< label > labelUList
A UList of labels.
wordList patchNames(nPatches)