Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hyperbolic surface triangulation 2 (new package) #8259

Open
wants to merge 106 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
72405a4
initialisation
loic-dubois Mar 7, 2024
449cfa4
Ajout du code
loic-dubois Mar 7, 2024
a3b1e0f
remplissage du README
loic-dubois Mar 7, 2024
4ee74ee
bug fix
loic-dubois Mar 7, 2024
3aab28f
changed cmap copy into copy from const
loic-dubois Mar 20, 2024
c1eb7f0
version 0 de la doc
loic-dubois Mar 22, 2024
e799290
new point type
loic-dubois Apr 11, 2024
6b424b1
documentation almost finished up to user manual
loic-dubois Apr 12, 2024
3d1d728
user manual
loic-dubois Apr 12, 2024
1f1ca86
finished with user manual
loic-dubois Apr 12, 2024
471b3bb
add non-separating
pougetma Apr 15, 2024
497c88a
doc improvement
loic-dubois Apr 26, 2024
263f7ea
doc update
loic-dubois Apr 29, 2024
f794cd9
added an explicit cast since my compiler complains
pougetma May 7, 2024
d10f85d
doc update
loic-dubois May 17, 2024
f72fa67
Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.co…
loic-dubois May 17, 2024
dec801d
update doc 2
loic-dubois May 17, 2024
0eae2cf
update
loic-dubois May 20, 2024
c4eea02
minor patches
loic-dubois May 22, 2024
88576a0
Fix dependencies
afabri Jun 5, 2024
968b6d7
Fix some compilation errors in demo and test
afabri Jun 5, 2024
7ac0119
Fix CMakeLists.txt
afabri Jun 5, 2024
4fcc5ea
Fix path to examples
afabri Jun 5, 2024
85b57ba
Rename demo directory
afabri Jun 5, 2024
a409b03
Change project name
afabri Jun 5, 2024
d4d9700
Change project name
afabri Jun 5, 2024
64eb0ad
Add dependencies of HST2
MaelRL Jun 5, 2024
7fa4f64
Remove unnecessary licence headers
MaelRL Jun 5, 2024
58d2f0a
Merge remote-tracking branch 'cgal/master' into Hyperbolic_surface_tr…
MaelRL Jun 5, 2024
6d89dee
Update HST2 deps
MaelRL Jun 5, 2024
601b049
replacing index-th by i-th
pougetma Jun 19, 2024
90e347b
moved access in doc + lowercase
pougetma Jun 19, 2024
08c26b9
removed copy constructor
pougetma Jun 19, 2024
7dd5fed
Merge remote-tracking branch 'cgal/master' into HEAD
sloriot Jul 8, 2024
98164db
new accentuated letter
sloriot Jul 8, 2024
5a42794
removed const
pougetma Jul 11, 2024
c0f819f
rename Hyperbolic_surfaces_traits_2 -> Hyperbolic_surface_traits_2
pougetma Jul 11, 2024
967faac
solved const/non-const pb
pougetma Jul 11, 2024
269f1d8
using ranges for input
pougetma Jul 11, 2024
829997b
temp bullshit
pougetma Jul 12, 2024
c2877ee
bullshit2
pougetma Jul 12, 2024
dc78024
Save
Jul 12, 2024
02a5a18
Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.co…
Jul 12, 2024
c837cd9
operator * isometry
pougetma Jul 12, 2024
9bb092e
get_anchor_ref->anchor
pougetma Jul 12, 2024
fba3540
some doc
pougetma Jul 17, 2024
0c495c6
added missing doc concept file
pougetma Jul 24, 2024
7620983
some more doc
pougetma Jul 25, 2024
fbad5de
debug
pougetma Jul 25, 2024
4d85c82
tests
Jul 25, 2024
afef189
tests
Jul 25, 2024
278930f
On enlève des const
Jul 25, 2024
844aa9f
Changment mineur de portée pour des usages futurs
Jul 26, 2024
572a31b
Update Hyperbolic_surface_triangulation_2/include/CGAL/Hyperbolic_fun…
pougetma Sep 4, 2024
25a42c8
corrected #include with <CGAL/ prefix
pougetma Sep 4, 2024
3317a91
solved Andreas issues in github comments
pougetma Sep 4, 2024
68813dc
corrected last commit after compiling test
pougetma Sep 4, 2024
6441244
solved all issues by Andreas and Laurent on github conversation
pougetma Sep 5, 2024
d70ba46
doc details
pougetma Sep 6, 2024
9b8db60
doc detail bug
pougetma Sep 6, 2024
66c9872
doc details 2
pougetma Sep 6, 2024
9f68df9
Fix for CI ?
afabri Sep 8, 2024
fe0e6e2
Fix example
afabri Sep 8, 2024
d6d576f
No blank before :
afabri Sep 8, 2024
8114721
untabify
afabri Sep 8, 2024
0901049
trailing whitespace
afabri Sep 8, 2024
b74681e
Fix file name
afabri Sep 8, 2024
94fc573
fix deps
sloriot Sep 9, 2024
ef6056f
delaunay -> Delaunay
afabri Sep 9, 2024
cb258c8
Remove 'can be used'
afabri Sep 9, 2024
6557673
Remove using namespace CGAL
afabri Sep 9, 2024
009dbca
HyperbolicSurfaces -> HyperbolicSurface
afabri Sep 9, 2024
b4264b5
Corrections of Andreas review
pougetma Sep 9, 2024
8f2609f
Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.co…
pougetma Sep 9, 2024
002b807
hopefully last revision for 1st review round
pougetma Sep 9, 2024
2dacabc
cleanup
afabri Sep 10, 2024
6d276ec
capitalize
afabri Sep 11, 2024
9c26e03
remove dep
sloriot Sep 11, 2024
1eed742
corrected CamelCase
pougetma Sep 11, 2024
418fa22
Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.co…
pougetma Sep 11, 2024
1226b8d
backticked
pougetma Sep 11, 2024
0596b67
constification
pougetma Sep 11, 2024
f32e5c4
rm whitespace
pougetma Sep 12, 2024
c3a7009
complex_without_sqrt on the way to become CGAL::Complex_number
pougetma Sep 23, 2024
40c8cb0
hidden friends for complex nb
pougetma Sep 25, 2024
57bcacf
complex nb concept doc
pougetma Oct 10, 2024
0c9a2ba
rm using CGAL namespace in test
pougetma Oct 10, 2024
ce29adf
simplified #includes
pougetma Oct 10, 2024
9dca1b6
change naming conj, norm for complex
pougetma Oct 10, 2024
c976fc4
prefix with CGAL:: in concept doc
afabri Oct 10, 2024
c193c99
doc correction with complex nb
pougetma Oct 10, 2024
fa7a268
Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.co…
pougetma Oct 10, 2024
33ce1a8
trying to use EPIC
pougetma Oct 10, 2024
3463e8a
rm EPIC test
pougetma Oct 15, 2024
c7bc218
typo
pougetma Oct 15, 2024
374dbf1
doc details for complex nb
pougetma Oct 16, 2024
92f2042
typo
pougetma Oct 16, 2024
3bb43c7
added cross ref between packages
pougetma Jan 6, 2025
392e1e0
Mael review part 1
pougetma Jan 6, 2025
c005b28
Mael review part2
pougetma Jan 6, 2025
e57a777
Mael review part3
pougetma Jan 7, 2025
94b1848
solved bug (generated surface did not match)
pougetma Jan 7, 2025
e1b0198
Mael review part 4
pougetma Jan 7, 2025
daf25af
aadded preconditions
pougetma Jan 8, 2025
4a22b5e
Mael review continued
pougetma Jan 8, 2025
4eb8ef0
added Marc as coauthor
pougetma Jan 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Documentation/doc/Documentation/packages.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
\package_listing{Triangulation_on_sphere_2}
\package_listing{Periodic_2_triangulation_2}
\package_listing{Hyperbolic_triangulation_2}
\package_listing{Hyperbolic_surface_triangulation_2}
\package_listing{Periodic_4_hyperbolic_triangulation_2}
\package_listing{Triangulation_3}
\package_listing{TDS_3}
Expand Down
43 changes: 42 additions & 1 deletion Documentation/doc/biblio/cgal_manual.bib
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@




@article{ cgal:afh-pdecm-02,
author = "P. K. Agarwal and E. Flato and D. Halperin",
title = "Polygon Decomposition for Efficient Construction of {Minkowski} Sums",
Expand Down Expand Up @@ -130,6 +129,21 @@ @inproceedings{ cgal:b-digph-01
,update = "04.04 kettner"
}

@book{cgal:b-gdg-83,
title={The Geometry of Discrete Groups},
author={Beardon, A.F.},
series={Graduate texts in mathematics},
year={1983},
publisher={Springer}
}

@book{cgal:b-gscrs-92,
title={Geometry and Spectra of Compact Riemann Surfaces},
author={Peter Buser},
year={1992},
publisher={Springer}
}

@article{ cgal:bbp-iayed-01
,author = "H. Br{\"o}nnimann and C. Burnikel and S. Pion"
,title = "Interval arithmetic yields efficient dynamic filters
Expand Down Expand Up @@ -689,6 +703,33 @@ @article{cgal:dh-pifch-96
keywords = "Convex hull problem, Frame, Linear programming, Data envelopment analysis, Redundancy"
}

@inproceedings{despre2020flipping,
title={Flipping geometric triangulations on hyperbolic surfaces},
author={Despr{\'e}, Vincent and Schlenker, Jean-Marc and Teillaud, Monique},
booktitle={36th International Symposium on Computational Geometry},
year={2020},
url={https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SoCG.2020.35}
}

@article{despre2022experimental,
title={Experimental analysis of {Delaunay} flip algorithms on genus two hyperbolic surfaces},
author={Despr{\'e}, Vincent and Dubois, Lo{\"\i}c and Kolbe, Benedikt and Teillaud, Monique},
year={2022},
url={https://inria.hal.science/hal-03665888v1/document}
}

@article{aigon2005hyperbolic,
title={Hyperbolic octagons and {Teichm{\"u}ller} space in genus 2},
author={Aigon-Dupuy, Aline and Buser, Peter and Cibils, Michel and K{\"u}nzle, Alfred F and Steiner, Frank},
journal={Journal of mathematical physics},
volume={46},
number={3},
year={2005},
publisher={AIP Publishing},
url = {https://doi.org/10.1063/1.1850177}
}


@article{cgal:dl-cginc-19,
author = {Despr\'{e}, Vincent and Lazarus, Francis},
title = {Computing the Geometric Intersection Number of Curves},
Expand Down
1 change: 1 addition & 0 deletions Documentation/doc/scripts/generate_how_to_cite.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,7 @@ def protect_accentuated_letters(authors):
.replace("ş", r"{\c{s}}")
.replace("%", "")
.replace("đ", r"{\-d}")
.replace("ï", r"{\"i}")
)
try:
res.encode("ascii")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
cmake_minimum_required(VERSION 3.1...3.15)

project( Hyperbolic_surface_triangulation_2_Demo )

# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories(${CMAKE_BINARY_DIR})

# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)


# CGAL and its components
find_package(CGAL REQUIRED COMPONENTS Core Qt6)

find_package(Qt6 QUIET COMPONENTS Widgets)

if ( NOT CGAL_FOUND )

message(STATUS "This project requires the CGAL library, and will not be compiled.")
return()

endif()

if ( NOT CGAL_Qt6_FOUND OR NOT Qt6_FOUND)

message(STATUS "This project requires the Qt6 library, and will not be compiled.")
return()

endif()

# Boost and its components
find_package( Boost REQUIRED )

if ( NOT Boost_FOUND )

message(STATUS "This project requires the Boost library, and will not be compiled.")

return()

endif()

# ui files, created with Qt Designer
qt6_wrap_ui(UIS drawing_window_description.ui)

add_executable( Hyperbolic_surface_triangulation_2_demo Hyperbolic_surface_triangulation_2_demo.cpp window.cpp ${UIS})

add_to_cached_list( CGAL_EXECUTABLE_TARGETS Hyperbolic_surface_triangulation_2_demo )

target_link_libraries(Hyperbolic_surface_triangulation_2_demo PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets )

set(CMAKE_BUILD_TYPE "Release")

target_include_directories(Hyperbolic_surface_triangulation_2_demo PRIVATE ../../include/)
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include "window.h"

#include <CGAL/Exact_rational.h>
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Hyperbolic_Delaunay_triangulation_traits_2.h>
#include <CGAL/Hyperbolic_surface_traits_2.h>
#include <CGAL/Hyperbolic_fundamental_domain_factory_2.h>
#include <CGAL/Hyperbolic_surface_triangulation_2.h>

using namespace CGAL;

typedef Simple_cartesian<Exact_rational> Kernel;
typedef Hyperbolic_Delaunay_triangulation_traits_2<Kernel> ParentTraits;
typedef Hyperbolic_surface_traits_2<ParentTraits> Traits;
typedef Hyperbolic_fundamental_domain_2<Traits> Domain;
typedef Hyperbolic_fundamental_domain_factory_2<Traits> Factory;
typedef Hyperbolic_surface_triangulation_2<Traits> Triangulation;

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int main(int argc, char** argv){
// 1. Generate the triangulation
Factory factory;
Domain domain = factory.make_hyperbolic_fundamental_domain_g2(time(NULL));
Triangulation triangulation = Triangulation(domain);
triangulation.make_Delaunay();

// 2. Draw the triangulation
QApplication app(argc, argv);
app.setApplicationName("Hyperbolic surfaces triangulation 2 Demo");

DemoWindow window;
window.item().draw_triangulation(triangulation);
window.show();

QStringList args = app.arguments();
args.removeAt(0);
return app.exec();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>720</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Hyperbolic flips demo window</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QGraphicsView" name="graphicsView">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>771</width>
<height>671</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>
Loading
Loading