Giter Site home page Giter Site logo

hustwudang / cdtgenerator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from harshitjn/cdtgenerator

0.0 1.0 0.0 6.88 MB

Implementation of the paper "Meshing piecewise linear complex using CDT" by Hang Si et. al

Home Page: http://pranavkantgaur.github.io/CDTGenerator

License: MIT License

CMake 0.86% C++ 89.34% C 9.80%

cdtgenerator's Introduction

CDTGenerator Build Status

Join the chat at https://gitter.im/pranavkantgaur/CDTGenerator 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.

Building

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.

Dependencies

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

Extension

Main objective is to extend this implementation to support adaptive Constrained Delaunay tetrahedralization for 3D domain.

TODO:

  • Why One_dart_per_incident_cell_range<0, 2> produces segfault here but Dart_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 both LCC and LCCWithDartInfo.

  • How local degeneracy removal alone can guarantee uniqueness of Delaunay triangulation? What if a set of 5 non-local points are cospherical?

cdtgenerator's People

Contributors

pranavkantgaur avatar harshitjn avatar gitter-badger avatar

Watchers

Fei avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.