-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
base: master
Are you sure you want to change the base?
Hyperbolic surface triangulation 2 (new package) #8259
Conversation
Merge branch 'Hyperbolic_surface_triangulation_2-dubois' of github.com:CGAL/cgal-public-dev into Hyperbolic_surface_triangulation_2-dubois
…m:CGAL/cgal-public-dev into Hyperbolic_surface_triangulation_2-dubois
/build:v0 |
The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/8259/v0/Manual/index.html |
Hyperbolic_surface_triangulation_2/include/CGAL/Hyperbolic_fundamental_domain_2.h
Outdated
Show resolved
Hide resolved
Hyperbolic_surface_triangulation_2/include/CGAL/Hyperbolic_fundamental_domain_2.h
Outdated
Show resolved
Hide resolved
Hyperbolic_surface_triangulation_2/include/CGAL/Hyperbolic_fundamental_domain_2.h
Outdated
Show resolved
Hide resolved
Hyperbolic_surface_triangulation_2/include/CGAL/Hyperbolic_fundamental_domain_2.h
Outdated
Show resolved
Hide resolved
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
/force-build:v1 |
The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/8259/v1/Manual/index.html |
…m:loic-dubois/cgal into Hyperbolic_surface_triangulation_2-dubois
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
template<class FT> | ||
Complex_without_sqrt<FT>::Complex_without_sqrt(){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to a member initializer list.
//////////////////////////////////////////////////////////////////////////////// | ||
|
||
template<class FT> | ||
FT Complex_without_sqrt<FT>::real_part() const{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FT Complex_without_sqrt<FT>::real_part() const{ | |
const FT& Complex_without_sqrt<FT>::real_part() const{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
void set_coefficient(int index, const Complex_number& coefficient); | ||
|
||
// Returns the index-th coefficient | ||
Complex_number get_coefficient(int index) const; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return const&
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
_combinatorial_map.mark(const_ccw(invaded), visited_darts_mark); | ||
_combinatorial_map.mark(const_cw(invaded), visited_darts_mark); | ||
|
||
Point a = positions[const_ccw(invader)]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make points a,b, and c const&
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
/force-build:v1 |
The documentation is built. It will be available, after a few minutes, here: https://cgal.github.io/8259/v1/Manual/index.html |
@loic-dubois @pougetma What is not offered by |
…m:loic-dubois/cgal into Hyperbolic_surface_triangulation_2-dubois
Factory class, whose purpose is to generate some convex domains of surfaces of genus two. | ||
Factory class, whose only purpose is to construct random fundamental domains of | ||
closed orientable hyperbolic surfaces. The method | ||
make_hyperbolic_fundamental_domain_g2 constructs such a domain for a surface of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
backtick the function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
We represent each complex number by the pair of its real and imaginary parts. We require that the number type of the real and imaginary parts supports the basic arithmetic operations +, -, *, /, and computes them exactly (without any rounding). But we dot not require anything else. In particular, we do not want to use square roots or things like that. This is a constraint that we chose, hoping that it would make computations faster. So for example, if we were to use CGAL:Gmpq for the real and imaginary parts, then we could represent the complex number 1 + i, but we should not be able to compute its norm (for it is not a rational number). But then std::complex has methods like "norm" or "arg". So I guess that std::complex, templated by CGAL:Gmpq, should not even compile? |
@pougetma can you please configure your text editor that it does remove trailing white space. And remove the current WS. |
It seems to me that std::complex is fine as a model for the concept |
I would suggest to switch to |
Do I get it right that |
Replacling with
The example also runs, but no idea if it does what you would expect. Shall I commit and push it somewhere else? |
Summary of Changes
This package enables building and handling triangulations of closed orientable hyperbolic surfaces: a basic tool for any future implementation of algorithms operating on such surfaces. Functionalities are offered such as the Delaunay flip algorithm, and the construction of a portion of the lift of the triangulation in the Poincaré disk model of the hyperbolic plane. Triangulations can be generated by triangulating a convex fundamental domain in the Poincaré disk. A method is offered that generates such domains in genus two.
Release Management
Hyperbolic_surface_triangulation_2