Commit Graph
86 Commits
Author SHA1 Message Date
Sébastien Loriot 443b8cc2d7 precompute area functor 2016-02-01 10:23:29 +01:00
Sébastien Loriot 72c8aa7b05 make 2D-lloyd working with the projection traits 2016-01-29 15:16:51 +01:00
Jane Tournois 828eed2b24 calling a constructor from a constructor is cpp11 2015-05-19 10:01:00 +02:00
Jane Tournois 8511ff88b8 add copyright 2015-05-19 09:07:54 +02:00
Jane Tournois 13aa560db6 fix warning about variable "tr" not used 2015-05-19 09:07:54 +02:00
Andreas Fabri 2cda7ff7f6 min() -> (min)() 2015-05-19 09:04:28 +02:00
Andreas Fabri 74c817fe7f Add an include 2015-05-19 09:04:27 +02:00
Jane Tournois 9322f881c5 fix unused variable, and implement barycentric coordinates on an edge 2015-05-19 09:04:27 +02:00
Jane Tournois cc801f779f fix unused parameter warnings 2015-05-19 09:04:26 +02:00
Jane Tournois f8c3ef0a30 fix compilation for (max) 2015-05-19 09:04:26 +02:00
Jane Tournois c7138ff48d add barycentric coordinates to compute sizing at p inside a face
+ add code to interpolate on finite vertices of an infinite face

they are not used by default because it's expensive, unless the macro
CGAL_MESH_2_SIZING_FIELD_USE_BARYCENTRIC_COORDINATES is defined.
Can be useful to be more precise about the sizing
2015-05-19 08:54:35 +02:00
Jane Tournois 4cf8655c00 move all the cdt.dual(v) code from Triangulation_2 to Mesh_2
we do not change the API of Triangulation_2 for now
maybe later, and this version should be easy to keep backward compatible
2015-05-19 08:54:33 +02:00
Jane Tournois 2b7d774c36 fix the convergence criterion 2014-11-28 12:59:31 +01:00
Jane Tournois bd08614cc1 fix compilation 2014-11-24 17:01:14 +01:00
Jane Tournois 7e037664e6 fix compilation when verbose mode is off 2014-11-24 17:00:29 +01:00
Jane Tournois f76c88f2fe cleaning 2014-11-24 15:03:35 +01:00
Jane Tournois 3e8416954f add mark as a parameter for lloyd_optimize_mesh_2
this allow to choose (as in refine_Delaunay_mesh_2 if
the seeds describe the domain to be meshed (inside), or the complementary
2014-11-21 15:51:28 +01:00
Jane Tournois e4161ce685 handle seeds in lloyd_optimize_mesh_2 2014-11-20 16:13:46 +01:00
Jane Tournois bd9bbd0427 remove Odt for now 2014-11-20 15:00:55 +01:00
Jane Tournois fbab5edb60 return Mesh_optimization_return_code as Mesh_3 optimizers do 2014-11-18 11:25:09 +01:00
Jane Tournois b2edb9d20b introduce freezing of vertices that do not move enough 2014-11-18 10:48:23 +01:00
Jane Tournois b641f2f257 use time limit 2014-11-17 16:53:25 +01:00
Jane Tournois 562ef9f972 use Mesh_sizing_field as in Mesh_3 for Lloyd optimization
this avoids migration phenomena of vertices, that "break"
the distribution of points built during the refinement process
2014-11-14 13:04:48 +01:00
Jane Tournois be2003940f fix histogram function 2014-11-14 12:39:56 +01:00
Jane Tournois ab9811ad8b add output of angles histograms 2014-11-13 16:29:21 +01:00
Jane Tournois 8647878a6a use check_convergence() to stop optimization when vertices do not move enough
the convergence ratio is set to 0.001 by default

+ fix the use of moving_vertices for iterations after the first one
2014-11-12 17:13:18 +01:00
Jane Tournois 5e2fab9a51 add verbose stuff 2014-11-12 16:52:49 +01:00
Jane Tournois 89527055bb add update of blind-ness and inside-ness of facets to the optimization function 2014-11-12 15:48:35 +01:00
Jane Tournois e02773efd1 move files about sizing, and change template parameter. Geom_traits is enough 2014-11-12 15:42:27 +01:00
Jane Tournois e971112c1c this file should remain in the demo folder 2014-11-12 13:07:02 +01:00
Jane Tournois d071e71773 move demo "include" code to Mesh_2 "include" code. These files are needed for Lloyd 2014-11-12 12:51:09 +01:00
Jane Tournois 5666a7db17 add code for Lloyd optimization, and in the demo 2014-11-07 17:07:14 +01:00
Jane Tournois d53c211d83 cleaning 2014-11-07 16:16:03 +01:00
Jane Tournois 74581dcb5d do not put constrained vertices in the moving_vertices container
and add verbose code
2014-11-07 14:13:17 +01:00
Jane Tournois 6726d84dbc fix compilation when verbose mode is off 2014-11-07 12:20:47 +01:00
Jane Tournois 6ad29f3299 fix border/constrained cases 2014-11-07 12:20:19 +01:00
Jane Tournois ee5c1cea4b add code for optimization.
- Lloyd move should be ok, but faces blindness is not updated properly until now
- ODT move still needs to be redefined when constraints appear
2014-10-10 15:37:25 +02:00
Jane Tournois 62098e8445 introduce framework for mesh optimization
- for now, Lloyd_move and Odt_move return an empty move
- example added
2014-10-09 13:51:22 +02:00
Laurent Rineau ecd44ef651 Cosmetic changes
My coding style has evolved a lot since 2002!
2014-01-09 14:21:12 +01:00
Laurent Rineau 66c5d23154 Use CGAL_assume to remove warnings 2013-02-20 18:55:43 +01:00
Laurent Rineau 0a081c2abd Add an option to check the syntax of headers, individually.
That feature can be enabled with g++, clang++, and icpc (intel). It could
be implemented for MSVC, with the flag /Zs, but that is not yet done (and
probably will not).

The option is controlled by a CMake option, CGAL_ENABLE_CHECK_HEADERS, that
is disabled by default. If that option is enabled by the user, then CMake
will check if the compiler $CXX understand the syntax:
  $CXX -x c++ -fsyntax-only CGAL/header.h
and send an error otherwise.

Then phony targets will be created:
  - a target check_CGAL__header_h for each header <CGAL/header.h>,
  - a target check_pkg_<pkg> for each package <pgk>,
  - and a target check_headers for the whole CGAL.

Those new targets currently give a lot of compilation errors if
CGAL_ENABLE_CHECK_HEADERS is enabled!

+ fix several missing includes in Mesh_2.
2012-10-05 12:21:44 +00:00
Laurent Rineau db194534c7 First big patch to fix -Wunused-local-typedefs
-Wunused-local-typedefs is a new warning flag of gcc-4.7, and it will enabled
 by -Wall since gcc-4.8 (not yet released).

The fix is a big set of removals of unused typedefs (or comments, or moves,
depending on the context).
2012-08-01 13:29:16 +00:00
Laurent Rineau fcd8565b46 Revert a buggy revision
Bug reported by a user against CGAL-4.0.2
A single triangle cannot be meshed!

The fault was a buggy assertion added in the following revision:
  |-----------------------------------------------------------------------
  |r66359 | lrineau | 2011-11-16 18:58:22 +0100 (Wed, 16 Nov 2011) | 3 lines
  |
  |Add an assertion that checks that a point constructed as the midpoint of an
  |edge is located either on the edge or inside one of the two incident faces.
  |
  |-----------------------------------------------------------------------
And the assertion message was:
  terminate called after throwing an instance of 'CGAL::Assertion_exception'
    what():  CGAL ERROR: assertion violation!
  Expr: zone.locate_type != Tr::FACE || zone.fh == f || zone.fh == n
  File: /home/lrineau/wc/Mesh_2/test/Mesh_2/../../include/CGAL/Mesh_2/Refine_edges.h
  Line: 430
  Explanation: Your data set contains at least a vertex that is very close to 
    a constrained edge! Mesh_2 cannot mesh that sort of data set.
2012-07-26 14:02:13 +00:00
Laurent Rineau fd77f801dc Bug fix: g++-4.7 (and C++03/11) requires to qualify the call. 2012-05-21 06:53:58 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Laurent Rineau 9024d5bc04 Fix the text of the assertion msg. Thanks to Sebastien L. 2011-11-16 18:25:18 +00:00
Laurent Rineau 3d1dc999a0 Add an assertion that checks that a point constructed as the midpoint of an
edge is located either on the edge or inside one of the two incident faces.
2011-11-16 17:58:22 +00:00
Sébastien Loriot ae62b2ae4d remove warnings 2011-02-24 16:36:04 +00:00
Sébastien Loriot 5c8f3946f4 call to is_conforming_[Gabriel,Delaunay] was no longer possible: fix proposal.
Add a test into the testsuite
2010-10-19 14:23:04 +00:00
Andreas Fabri 397bc16d9f Remove ';' 2010-05-14 09:13:45 +00:00