This project is a C++ implementation of the paper "Meshing piecewise linear complex using CDT" by Hang Si et. al for generating Constrained Delaunay tetrahedralization for a given domain specified using set of points and constraint polygons.
Following sequence of commands work on Ubuntu 14.04 LTS(64-bit):
mkdir build
cd build
cmake ..
make
Currently, it only builds the segment recovery module along with unit tests.
It atleast works with following versions of dependencies:
- CMake(>=2.8.12)
- CGAL(4.6)
- gtest(1.7.0)[optional, please see
GTEST_ON
switch in CMakeLists in root directory] - gcc-4.8
Main objective is to extend this implementation to support adaptive Constrained Delaunay tetrahedralization for 3D domain.
-
Why
One_dart_per_incident_cell_range<0, 2>
produces segfault here butDart_of_orbit_range<1>
does not? -
Template definition of
isInfinite
and other such functions. -
Adding steiner point in PLC and current mesh using edge flipping and combination of edge flipping and face flipping(Refer Si's thesis).
-
Search for candidate reference point only in the vertices of tetrahedrons intersecting the missing segment in function
computeReferencePoint
instead of all points of PLC. -
Replace loop in current definition of
sew2CellsFromEdge
with efficient alternative so that it can be used for larger domains as well. -
CGAL's Delaunay triangulation deals with cospherical points using symbolic perturbation. How to modify the corresponding PLC accordingly?
-
Input should allow for more file options than ply.
-
Why g++ -lgmp -lCGAL rply.cpp cdtCode.cpp does not link whereas, g++ rply.cpp cdtCode.cpp -lgmp -lCGAL does? Also there is issue in example usage of -l option given in 'man gcc' :(
-
Replace naive code for finding all possible pairs of segments.
-
How to remove hardcoded seeds for CGAL random number generator?
-
Add termination criteria using local feature size for each vertex.
-
Add functionality for Algorithm execution visualization.
-
Add function in CGAL fork for iterating vertices of a 2-cell using
One_dart_per_incident_cell_range<0, 2>
in counterclockwise order. It is useful while writing polygons to data file for visualization. -
Generic
sew2CellsFromEdge
for bothLCC
andLCCWithDartInfo
. -
How local degeneracy removal alone can guarantee uniqueness of Delaunay triangulation? What if a set of 5 non-local points are cospherical?