Commit Graph

148 Commits

Author SHA1 Message Date
Sébastien Loriot ecc86d3bd7 add code for backward compatibility
Note that the result is still the same without the patch.
Indeed, the uniqueness of link vertices is guaranteed if the
collapse of the edge is topologically valid.
This patch is just to avoid users having cost/placement
relying on the former behavior even for non-topologically
valid collapse (which seems unlikely to happen)
2014-05-23 17:13:27 +02:00
Andreas Fabri e9edf5efac bug fix 2014-04-11 09:46:42 +02:00
Sébastien Loriot 720e3d3578 make the order of vertices in the link similar as bcb7cc03 2014-04-10 15:54:01 +02:00
Sébastien Loriot 97b5300a66 clean up 2014-04-10 15:32:27 +02:00
Sébastien Loriot c867c1d2e2 remove unused variable 2014-04-10 15:22:20 +02:00
Andreas Fabri d4f88fd138 bugfix. endleft and endright were not initialized if the surface has a border 2014-04-10 15:09:09 +02:00
Andreas Fabri 0ca4d8de85 Use the border property map (not the top level provided one, but the one obtained with get(edge_border...) 2014-04-10 10:44:26 +02:00
Andreas Fabri bcb7cc0332 Rewrite of Extract_triangles_and_link() using no map 2014-04-10 10:11:33 +02:00
Andreas Fabri e986d53df6 typo 2014-04-10 09:17:01 +02:00
Andreas Fabri c45eb40191 Check initially if the surface has borders 2014-04-09 17:18:45 +02:00
Andreas Fabri 6f278a3837 Rewrite of Extract_borders()
Don't use a map, but start from the edge that we want to contract
and turn around the two vertices by looking at each edge exactly once
2014-04-09 15:34:25 +02:00
Andreas Fabri cf28acb826 Use less index maps 2014-04-09 15:04:33 +02:00
Andreas Fabri 0b63624b1e Move the reserve to the right spot
Don't use a vertex index map
2014-04-09 13:51:15 +02:00
Andreas Fabri 3558831f22 reserve 2014-04-09 13:43:37 +02:00
Panagiotis Cheilaris 0edd0e2943 put a field access in assertion code
This fix removes a warning in compilation of mesh_simplification_plugin
in demos (in some environments).
2014-03-07 15:42:54 +01:00
Panagiotis Cheilaris 6812889b8f use a value from insert in Edge_profile_impl
This fix removes a warning in compilation of mesh_simplification_plugin
in demos (in some environments).
2014-03-06 19:20:09 +01:00
Sébastien Loriot 5786041a31 uniformly use surface mesh in the documentation, the API and the examples
This induces a renaming of the Concept EdgeCollapsableMesh to
  EdgeCollapsableSurfaceMesh and the same for the constrained version.
2014-02-13 16:33:45 +01:00
Sébastien Loriot 9b79c9a842 make sure all edges removable are removed
After the collapse of an edge the 2-ring of edges incident
  to the remaining vertex are reinserted in PQ when no longer in PQ.
  An exemple is also updated to show the issue if we remove the fix.
2014-02-13 16:32:47 +01:00
Sébastien Loriot 8384c6be3c fix warnings in the testsuite 2014-01-31 12:02:17 +01:00
Sébastien Loriot 9dcd94d753 do not use a halfedge after it has been removed 2014-01-30 15:28:19 +01:00
Sébastien Loriot c5b7ccef71 remove warning 2014-01-30 15:27:57 +01:00
Sébastien Loriot 9311883c97 rename Constrained_placement_wrapper to Constrained_placement 2014-01-30 14:39:30 +01:00
Sébastien Loriot b28fadc2c3 handle zero-length edges and constrained correctly
Handle constrained edges of length 0
Remove from the queue edges removed (not related to constraints)
Avoid calling Collapse directly to avoid updating neighbors
2014-01-30 14:08:29 +01:00
Sébastien Loriot e2ad879473 update debug print function to use pmap instead of assuming id() is available 2014-01-30 13:23:37 +01:00
Sébastien Loriot a5c75e732c take into account the constrained edges and ensure they will not disappear
The code is fully backward compatible and is written to not
penalize the runtime when no edge is constrained
2014-01-29 19:05:10 +01:00
Sébastien Loriot 8135ef739c add some debug code to get intermediate mesh during simplification 2014-01-29 19:05:09 +01:00
Sébastien Loriot 0c14664977 Add a is-constrained edge map without using it for now 2014-01-29 19:04:55 +01:00
Sébastien Loriot a503a77aee remove an edge if topology stays the same+don't process an already removed edge 2013-09-25 13:23:06 +02:00
Sébastien Loriot 82b2ebc865 apply the cpp0x namespace renaming in all files 2012-12-19 11:33:17 +01:00
Sébastien Loriot 1fec6c7ca1 remove edges of length 0 instead of ignoring them 2012-09-07 14:19:24 +00:00
Philipp Möller 8f1ce2412c Removed all places where the CGAL_CFG_NO_TMPL_IN_TMPL work-around was
used. Those were mostly in Polyhedron and HalfedgeDS but some places
in Arrangement_2 used it, too. Neither of the parts of Arrangement_2
have been documented.
2012-04-13 13:13:30 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Laurent Rineau 1e3c229440 merge from next 2011-08-26 13:55:12 +00:00
Andreas Fabri 56587380e9 Add missing () 2011-06-14 12:55:51 +00:00
Andreas Fabri 94ffff62f4 opposite(..) -> opposite_edge(..) 2011-06-14 12:46:55 +00:00
Andreas Fabri 6641069273 Replace next_edge_ccw, as it's implementation circulates around target and not source 2011-06-11 19:59:15 +00:00
Philipp Möller 8eb30ef805 Replaced all uses of predecessor/successor with prev/next. 2011-06-07 16:21:58 +00:00
Sébastien Loriot d19e13d863 move Modifiable_priority_queue in STL_Extension as it is used by Mesh_3 2011-02-15 16:24:09 +00:00
Sébastien Loriot 4fc6788be8 *add contains function to mutable_queue
*use mutable_queue instead of relaxed_heap in Sliver_perturber
2011-02-15 16:03:46 +00:00
Sébastien Loriot fc61c3bb09 using boost/pending/mutable_queue (a binomial heap) instead of relaxed_heap
which does not maintain heap property in case of update.
2011-02-15 10:55:04 +00:00
Laurent Rineau 8679a3911e Merged revisions 56835,56864-56870,56876,56895-56897 via svnmerge from
svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch

........
  r56835 | lrineau | 2010-06-17 12:56:52 +0200 (Thu, 17 Jun 2010) | 6 lines
  
  Remove the constructor Gmpfr(long double) on Microsoft Visual C++. A big
  comment in the source code explains why.
  
  The testsuite will check that the construction of Gmpfr from a long double
  on MSVC still works and produces the right Gmpfr.
........
  r56864 | afabri | 2010-06-18 11:04:47 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use tie from boost::
........
  r56865 | afabri | 2010-06-18 11:11:49 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use bind from boost::
........
  r56866 | afabri | 2010-06-18 11:38:50 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use bind from boost:: (detected in Mesh_3 VC10 testsuite)
........
  r56867 | lrineau | 2010-06-18 11:39:24 +0200 (Fri, 18 Jun 2010) | 3 lines
  
  cmake-2.8.2rc2 is out.
  /bigobj is necessary
........
  r56868 | afabri | 2010-06-18 11:52:37 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Add #include <fstream>
........
  r56869 | afabri | 2010-06-18 11:55:33 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Shorten filename as with path it exceeds easily 256 letters which poor Visual C++ can't handle
........
  r56870 | afabri | 2010-06-18 12:24:30 +0200 (Fri, 18 Jun 2010) | 1 line
  
  Use tie from boost::
........
  r56876 | lrineau | 2010-06-18 16:40:36 +0200 (Fri, 18 Jun 2010) | 3 lines
  
  New try to fix the issue of Gmpfr(long double) with MSVC and libmpfr-1.dll
  compiled by Mingw.
........
  r56895 | lrineau | 2010-06-20 23:16:40 +0200 (Sun, 20 Jun 2010) | 3 lines
  
  Using boost::bind is not sufficient" "bind" without qualifier was
  ambiguous, according to MSVC2010, with std::bind (from C++0x).
........
  r56896 | lrineau | 2010-06-20 23:18:29 +0200 (Sun, 20 Jun 2010) | 3 lines
  
  Qualify "bind" with "boost::", to avoid the ambiguity (according to
  MSVC2010), with std::bind (C++0x).
........
  r56897 | lrineau | 2010-06-20 23:19:17 +0200 (Sun, 20 Jun 2010) | 2 lines
  
  Stupid typo!
........
2010-06-20 21:48:20 +00:00
Sébastien Loriot 52317dd49f add python script (replace_CGAL_NAMESPACE.py) to replace CGAL_BEGIN_NAMESPACE and CGAL_END_NAMESPACE
by namespace CGAL { and } //namespace CGAL. in all .h and .cpp files
in a directory.
Apply it to all packages in the trunk
Remove macro definition from the config.h file.
2010-06-09 07:37:13 +00:00
Andreas Fabri c245e6d2d8 Remove #include of a kernel in a simplification policy header 2010-03-25 08:37:57 +00:00
Andreas Fabri c352a01268 Wrap in CGAL_assertion_code in order to avoid a warning 2010-03-01 08:26:45 +00:00
Sylvain Pion 85dc12f2a7 Remove empty lines at beginning and end of files
(apply Scripts/developer_scripts/remove_empty_lines.pl).
2010-02-01 12:55:28 +00:00
Laurent Rineau 83912b2952 Massive fix of svn:keywords properties, and $URL$ keyword. 2009-10-20 08:59:26 +00:00
Fernando Cacciola cdc9ab377d Visitor changes 2009-09-23 14:53:38 +00:00
Sylvain Pion 8573fe26ce Rename CGALi to internal. 2009-08-24 17:10:04 +00:00
Fernando Cacciola 9eb457eaf4 Fixed case 'edge_collapse_visitor_base.h' to 'Edge_collapse_visitor_base.h' (2/3) 2009-06-30 14:44:37 +00:00
Fernando Cacciola 454c893a87 Fixed case 'edge_collapse_visitor_base.h' to 'Edge_collapse_visitor_base.h' (1/3) 2009-06-30 14:43:51 +00:00