Commit Graph

48 Commits

Author SHA1 Message Date
Andreas Fabri 31855de8be Merge branch 'Advancing_front_surface_reconstruction-afabri-old' into Advancing_front_surface_reconstruction-afabri
Conflicts:
	Documentation/doc/Documentation/Doxyfile.in
	Documentation/doc/Documentation/dependencies
	Polyhedron/demo/Polyhedron/Scene_polygon_soup_item.h
2015-01-15 18:56:05 +01:00
Andreas Fabri 9f6807b005 Add Tds_2::collapse_edge() 2014-12-18 08:25:57 +01:00
Andreas Fabri 42a1c49066 The class Triangulation_2 (but neither TDS2 nor DT_2) should now be a model of FaceListGraph (but not Mutable) 2014-11-20 15:39:56 +01:00
Andreas Fabri 6802db2f6b Merge branch 'old' into Advancing_front_surface_reconstruction-afabri
Apply "My branch is really old.." from the FAQ

Conflicts:
	Installation/changes.html
	Polyhedron/demo/Polyhedron/Scene_points_with_normal_item.cpp
	Polyhedron/demo/Polyhedron/Scene_points_with_normal_item.h
	Polyhedron/demo/Polyhedron/include/CGAL/gl_render.h
2013-11-28 14:58:29 +01:00
Guillaume Damiand 6ba0055694 Trivial bug-fix qualified for master:
/Users/cgaltester/cgal_test/CGAL-4.3-Ic-71/include/CGAL/Triangulation_data_structure_2.h:1858:41: warning: unused parameter 'src' [-Wunused-parameter]
    Face_tgt operator()(const Face_src& src) const
2013-06-25 12:32:59 +02:00
Sébastien Loriot 8d602ed8c2 Merge branch 'triangulation_3-copy_tds-sloriot'
Approved by the release manager

Conflicts:
	Alpha_shapes_3/test/Alpha_shapes_3/copy_tds.h
	Triangulation_2/doc/TDS_2/Concepts/TriangulationDataStructure_2.h

it introduces a more general copy_tds that allows to copy tds with different types of simplices.
2013-04-29 11:09:01 +02:00
Sébastien Loriot bb7f025512 more permissive copy_tds for compatible vertex types with the same point type 2013-04-19 08:44:45 +02:00
Sébastien Loriot f9e0c97aac for convenience add a default to simple converter
it is useful if you want to copy the tds of a familly
alpha-shape into a fixed one
2013-04-11 20:03:32 +02:00
Sébastien Loriot 2143378f58 remove a warning and simplify the implementation 2013-04-09 19:33:47 +02:00
Laurent Rineau 6026df138a Fix mis-compilations of Triangulation_2 with -O3 -DCGAL_NDEBUG
With recent g++ versions, when -DCGAL_NDEBUG and -O3 was in the compilation
flags, my patch using 'CGAL_assume' triggered mis-compilation of cases
where the dimension() was 1, for all uses of the following pattern:

  CGAL_assume(i>=0 && i<= 1);
  [...] 1-i [...]

The fix is to use "(i==0)?1:0" instead.
2013-03-19 14:29:18 +01:00
Andreas Fabri 1ee52525ab No need for the hierarchy. Makes it simpler and faster 2013-03-07 17:44:31 +01:00
Andreas Fabri e7900a02a3 made two private functions public, so that we can modify a TDS_2 2013-03-06 18:08:37 +01:00
Laurent Rineau 66c5d23154 Use CGAL_assume to remove warnings 2013-02-20 18:55:43 +01:00
Sébastien Loriot 09e42c760e fix source vertex and face types 2012-12-19 10:52:56 +01:00
Sébastien Loriot 853c658a18 add copy_tds with converter in TDS2 2012-12-19 10:15:03 +01:00
Philipp Möller 5f6b09c484 Fix types of loop counters to size_t. 2012-06-20 09:15:34 +00:00
Menelaos Karavelas 9201c1f2c3 implementation and documentation for the Rebind_vertex and Rebind_face small
feature of the TDS_2 concept.
The release manager has approved the commit directly into the next branch.
2012-05-24 14:07:56 +00:00
Laurent Rineau 95bec3999c Use Unique_has_map instead of std::map (patch from Andreas Fabri)
The gain on copies of T2 or T3 is the following:


afabri@klimt /cygdrive/c/cgal/next/Triangulation_3/benchmark/Triangulation_3
$ ./copy 1000000 2
36.806 sec

afabri@klimt /cygdrive/c/cgal/next/Triangulation_3/benchmark/Triangulation_3
$ ./copy 1000000 2
4.865 sec

The benchmarck copy.cpp is the following (not commited):

#define  CGAL_T3_HASH
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_3.h>
#include <CGAL/Timer.h>
#include <CGAL/point_generators_3.h>


#include <iostream>
#include <fstream>
#include <string>
#include <vector>

typedef CGAL::Exact_predicates_inexact_constructions_kernel  K;
typedef CGAL::Delaunay_triangulation_3<K> Delaunay;
typedef K::Point_3                                     Point;
typedef CGAL::Creator_uniform_3<double,Point>  Creator;



int main(int argc, char **argv)
{
  int n=1000000;
  int rep=100;
  if (argc>=2)
    n=atoi(argv[1]);
  if (argc>=3)
    rep=atoi(argv[2]);
  std::vector<Point> points;
  points.reserve(n);  
  CGAL::Random_points_in_sphere_3<Point,Creator> g(1);
  CGAL::copy_n( g, n, std::back_inserter(points));
  Delaunay original;
  original.insert(points.begin(),points.end());
  
  double res = 0;
  for (int r=0;r<rep;++r){
    CGAL::Timer t;    t.start();
    Delaunay delaunay=original;
    t.stop();
    res+=t.time();
  }

  std::cout << res << std::endl;
            
  return 0;
}
2012-03-30 12:37:19 +00:00
Laurent Rineau 8f59fd9592 Turn QPL into LGPLv3+ 2012-01-13 16:33:35 +00:00
Marc Glisse 19b75ba29c Remove unused lines 2011-04-12 10:08:00 +00:00
Laurent Rineau 168d31b6d6 Commit that feature directly to trunk:
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Small_Features/Triangulation_2::mirror_edge%28Edge%29
Code + manual + small test

Why directly to trunk: the patch is very low risk, I have ran the test
suite and the manual testsuite, and there is already a Triangulation_2
package in candidate packages (cannot have two candidates for one package).
2010-11-16 17:27:06 +00:00
Andreas Fabri 9eb297b9e6 Integer32 -> size_t 2010-06-22 20:44:46 +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
Laurent Rineau d168a37440 Merge the branch /branches/candidate-packages/Triangulation_2
- Work from:
    Pedro Machado Manhaes de Castro <Pedro.Machado@sophia.inria.fr>
    Olivier Devillers <Olivier.Devillers@sophia.inria.fr>
- The work is:
    - fast removal for Delaunay_2 (Olivier)
    - displacement for 2D triangulation (Olivier and Pedro)
         https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Move_T2T3
2010-05-31 08:24:29 +00:00
Menelaos Karavelas ea5bd97d6d removed code that I had added (face data) 2010-03-30 20:03:26 +00:00
Menelaos Karavelas 0f863c0d69 moved Face_data code further down so as to use typenames that have been defined 2010-03-29 19:29:24 +00:00
Menelaos Karavelas 7a633c5ed5 added additional data and methods for the in-place edge list 2010-03-29 19:17:25 +00:00
Menelaos Karavelas 10d919fffd added data associated with each face of the triangulation. Like TDS3 the
data are to be used when computing the conflict region of an object
(applies to segments and circles) instead of using an std::map for
faces. the code is inside an #ifdef/#endif block and is activated by
defining the macro: CGAL_TDS2_DATA
2010-03-16 14:11:11 +00:00
Andreas Fabri 439ac1c864 iterators are handles 2010-02-01 14:35:40 +00:00
Laurent Rineau 038616e6d3 Partially revert r53691 from Andreas. 2010-01-20 15:13:34 +00:00
Andreas Fabri cda55de625 VC mixes up the local Ambient_dimension and CGAL::Ambient_dimension 2010-01-20 15:12:13 +00:00
Sylvain Pion 85c2848fa3 Make use of set_adjacency(). 2009-11-02 23:02:16 +00:00
Sylvain Pion 516f8d5eee Same as revision 51948 on CGAL-3.5-branch :
Rename following the converging convention to prevent future incompatibility :
  - Vertex_container -> Vertex_range
  - Face_container   -> Face_range
  - Cell_container   -> Cell_range
2009-09-15 17:12:03 +00:00
Sylvain Pion c1ae415b18 Remove short name macros. See PR 1551. 2009-04-21 18:28:04 +00:00
Sylvain Pion 6bcc8a8e5d Document TDS::Face_container, Vertex_container, faces() and vertices().
(renamed from vertex_container() and face_container()).
2009-04-10 15:45:02 +00:00
Laurent Rineau 26e0fde130 Fix a warning with g++-4.3.1 and "-O3 -Wall". I am not sure to know why
that fixes the warning. For the record, it was:
-------------------------------------------
Compiling linking_2d_and_3d ... 
make[1]: Entering directory `/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/test_i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3/Triangulation_3_Examples'
/usr/local/gcc43/bin/g++ -I../../include   -Wall -frounding-math '-I/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/include/CGAL/config/i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3' '-I/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/include' -O3 -pipe -I/home/lrineau/CGAL/bimap -I/usr/lib/qt-3.3/include -DCGAL_USE_F2C -DCGAL_USE_F2C  -c linking_2d_and_3d.cpp
../../include/CGAL/Compact_container.h: In member function 'typename CGAL::Triangulation_data_structure_2<Vb, Fb>::Vertex_handle CGAL::Triangulation_data_structure_2<Vb, Fb>::insert_dim_up(typename CGAL::Compact_container<typename Vb::Rebind_TDS<CGAL::Triangulation_data_structure_2<Vb, Fb> >::Other, CGAL::Default_argument>::iterator, bool) [with Vb = My_vertex_2<CGAL::Dummy_tds_3, CGAL::Triangulation_ds_vertex_base_2<void> >, Fb = CGAL::Triangulation_ds_face_base_2<void>]':
../../include/CGAL/Compact_container.h:772: warning: array subscript is above array bounds
/usr/local/gcc43/bin/g++   -o linking_2d_and_3d linking_2d_and_3d.o   '-L/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/lib/i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3' -L/usr/lib/qt-3.3/lib -Wl,-R/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/lib/i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3:/usr/lib/qt-3.3/lib -lCGAL -lCGALcore++ -lCGALQt -lCGALimageIO -lCGALPDB -lqt-mt -llapack -lGL -lGLU -lblas -lz -lmpfr -lgmpxx -lgmp -lX11 -lboost_thread -lboost_program_options -lm
make[1]: Leaving directory `/home/lrineau/CGAL/releases-and-testsuites/CGAL-3.4-I-407/test_i686_Linux-2.6_g++-4.3.1_CentOS-5.1-O3/Triangulation_3_Examples'
Executing linking_2d_and_3d ... 
-------------------------------------------

Maybe a gcc bug. Howerver, with that patch, the code seems easier to read
(the variable that contains the dimension is now named "dim", instead of
"i", and is filled as soon as the dimension() of the triangulation is
updated).
2008-08-18 14:59:24 +00:00
Sylvain Pion c3ee0c0087 Remove CGAL_T2_USE_ITERATOR_AS_HANDLE and CGAL_T3_USE_ITERATOR_AS_HANDLE
as they are now always defined and things work.
2008-04-03 12:14:58 +00:00
Pedro Machado Manhaes de Castro 55c65d6efc Adding a method that changes the dimension of the data structure from 2D to 1D. 2008-02-20 13:03:58 +00:00
Sylvain Pion 6a9740d043 Remove obsolete workarounds for __sgi. 2008-01-20 23:09:58 +00:00
Sylvain Pion 484dd113ce Fix bug in split_vertex() reported by Richard Maierhofer. 2008-01-08 20:47:51 +00:00
Andreas Fabri c1692c50bf Let's see what happens when VC++ uses iterators as handles 2007-11-08 10:25:52 +00:00
Sylvain Pion ef264999b3 Renaming of Compact_container's construct_insert() to emplace() to match C++0x.
It breaks backward compat, but I doubt many people use Compact_container directly.
Make it use variadic templates, while at it.
2007-10-20 20:51:59 +00:00
Christophe Delage c3450d9161 Added spatial_sort support in iterator range insert() & ctors.
This adds requirements to TriangulationTraits2 concept :
Less_x_2 and Less_y_2 predicates.

Also fixes a few bugs in RT2 (hidden points were sometimes forgotten
in degenerate dimensions.)
2007-03-21 15:29:30 +00:00
Sylvain Pion e5a64b0088 remove warning 2007-03-03 08:21:10 +00:00
Andreas Fabri 8ec19079fb Fixed min max problem 2006-07-31 23:06:16 +00:00
Laurent Saboret db6a8f948c Change CVS keywords to SVN style 2006-02-16 14:30:13 +00:00
Laurent Saboret 1aad55d4cb Change CVS keywords to SVN style 2006-02-14 10:08:15 +00:00
Laurent Saboret 3ad3429283 Move packages to trunk root 2006-02-14 08:58:20 +00:00