
Please use this identifier to cite or link to this publication: http://hdl.handle.net/10380/3329 |
Based on Jonathan Shewchuk's work which implements an exact version of the predicate using standard
floating point types and arithmetic, the implementation consist of an ITK wrapper around the
public domain C routines made available by the author of the precedent paper.
Wrapper using itk::PointSet, itk:CellInterface and itk:Mesh / itk:QuadEdgeMesh APIs are provided
along with corresponding examples which should provide enough details for users to directly
copy paste code in their application.
The application in mind for us is an exact and robust implementation of a delaunay triangulation /
voronoi tesselation in ITK, and will be presented in a separate paper.







Click here for more details.
Go here to access the main testing dashboard.







The authors provide an implementation of the Straight Walk method for efficiently determining which cell in a mesh contains a specified point. This has particular application in reversing a mesh parameterization, among other tasks.
Hypothesis:NA
Evidence:NA
Open Science:One function, OrientTest(), appeared to be missing. Other than that, all code was provided. This builds off a public domain code base for exact floating point calculations, cited in the article.
Reproducibility:I downloaded, compiled, and ran the code, with some difficulty. Here are the steps I needed to take to get it working:
1. It appears that the submodule is not linked correctly in github. I needed to remove the .gitmodules file and add the submodule manually. Here is my StackOverflow question [3] which solved the problem.
2. I had to change WalkInTriangulation/CMakeLists.txt:6:
include( ${USE_ITK_FILE}) ==> include( ${ITK_USE_FILE})
3. At this point, CMake runs without errors; but when building I'm told that OrientationTest is missing. I assumed that OrientationTest is a wrapper for orient2d, and added the following function to itkWalkInTriangulationFunction.h:
template< typename TPoint >
double
OrientationTest( TPoint a, TPoint b, TPoint c )
{
double pa[2];
double pb[2];
double pc[2];
pa[0] = a[0];
pa[1] = a[1];
pb[0] = b[0];
pb[1] = b[1];
pc[0] = c[0];
pc[1] = c[1];
return orient2d(pa, pb, pc);
}
With those changes, the example seems to work correctly, though I haven't done thorough testing yet.
Use of Open Source Software:This takes advantage of software currently in the public domain:
http://www.cs.cmu.edu/~quake/robust.html
Open source Contributions:With some modification, this could be integrated into the toolkit. Integrating the provided floating point calculation software could be useful independent of this application.
Code Quality :I have only compiled and run on Ubuntu. However, the library used is in C, and therefore is expected to be portable.
Quality of the data :NA
Interest:This submission has implications for mesh processing, as noted in the authors' later work.
Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Ohnatowgabr Ken:

Comment by Ohnatowgabr Ken:

Comment by Ohnatowgabr Ken:

Comment by Nhuskinsaran Ken:

Comment by Nhuskinsaran Ken:

Comment by Nhuskinsaran Ken:

Comment by Milbluemelsherr Ken:

Comment by Milbluemelsherr Ken:

Comment by Milbluemelsherr Ken:

Comment by Tnboydstunmerly Ken:

Comment by Tnboydstunmerly Ken:

Comment by Tnboydstunmerly Ken:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Pshopgolf Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Ltermilleldo Olivier:

Comment by Ltermilleldo Olivier:

Comment by Nhuskinsaran Ken:

Comment by Nhuskinsaran Ken:

Comment by Nhuskinsaran Ken:

Comment by Lheeralalkris Olivier:

Comment by Defeldanni Vigorda:

Comment by Rnseremmi Vigorda:

Comment by Rnseremmi Vigorda:

Comment by Rnseremmi Vigorda:

Comment by Mwangmajor Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Pshopgolf Olivier:

Comment by Tnorthfor Olivier:

Comment by Tnorthfor Olivier:

Comment by Tnorthfor Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Itezziodiss Holland:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Aollwaymyrt Vigorda:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Nhuskinsaran Ken:

Comment by Nhuskinsaran Ken:

Comment by Nhuskinsaran Ken:

Comment by Ekjamerkend Ken:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Ekjamerkend Ken:

Comment by Ekjamerkend Ken:

Comment by Ekjamerkend Ken:

Comment by Rferrerirola Holland:

Comment by Rferrerirola Holland:

Comment by Rferrerirola Holland:

Comment by Redbergaaro Ken:

Comment by Redbergaaro Ken:

Comment by Aupaul Ken:

Comment by Aupaul Ken:

Comment by Aupaul Ken:

Comment by Elissierdeon Olivier:

Comment by Cbuycheap Holland:

Comment by Cbuycheap Holland:

Comment by Cbuycheap Holland:

Comment by Itezziodiss Holland:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Lheeralalkris Olivier:

Comment by Umcglaufllind Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Defeldanni Vigorda:

Comment by Hcritchfijohn Holland:

Comment by Hcritchfijohn Holland:

Comment by Hcritchfijohn Holland:

Comment by Lithrailesmered Olivier:

Comment by Lithrailesmered Olivier:

Comment by Lithrailesmered Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Umcglaufllind Olivier:

Comment by Umcglaufllind Olivier:

Comment by Umcglaufllind Olivier:

Comment by Tyamatriley Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Defeldanni Vigorda:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Itezziodiss Holland:

Comment by Ohnatowgabr Ken:

Comment by Ohnatowgabr Ken:

Comment by Ohnatowgabr Ken:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Itezziodiss Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Lithrailesmered Olivier:

Comment by Lithrailesmered Olivier:

Comment by Lithrailesmered Olivier:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Lheeralalkris Olivier:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Defeldanni Vigorda:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Rsalbarrantravi Olivier:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Milbluemelsherr Ken:

Comment by Milbluemelsherr Ken:

Comment by Milbluemelsherr Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Tsmccathedema Ken:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Bridesmaidbride Ken:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Aollwaymyrt Vigorda:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Itezziodiss Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Ntlnoel Holland:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Tdvanlithrasha Holland:

Comment by Tdvanlithrasha Holland:

Comment by Tdvanlithrasha Holland:

Comment by Lithrailesmered Olivier:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Mwangmajor Holland:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Elissierdeon Olivier:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by Pshopgolf Olivier:

Comment by :

Comment by :

Comment by :

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Tyamatriley Vigorda:

Comment by Milbluemelsherr Ken:

Comment by Milbluemelsherr Ken:

Comment by Milbluemelsherr Ken:

Comment by :

Comment by :

Comment by :

Resources
![]() |
|
Download All | |
Download Paper , View Paper | |
Download Source code | |
Github |
Statistics more
![]() |
|
Global rating: | ![]() ![]() ![]() ![]() ![]() |
Review rating: | ![]() ![]() ![]() ![]() ![]() |
Code rating: | ![]() ![]() ![]() ![]() ![]() |
Paper Quality: |
![]() ![]() |
Information more
![]() |
|
Categories: | Data Representation, Filtering, Geometric transforms, Mesh |
Keywords: | exact geometrical predicate, Mesh |
Toolkits: | ITK, CMake |
Export citation: |
Share
![]() |
Linked Publications more
![]() |
||
![]() by Vercauteren T., Pennec X., Perchant A., Ayache N.
|
||
![]() by Padfield D., Miller J.
|
View license
Send a message to the author
