mirror of https://github.com/CGAL/cgal
Misc minor changes
This commit is contained in:
parent
11c3a490d1
commit
0106de5fd0
|
|
@ -5,7 +5,8 @@
|
|||
#include <CGAL/Triangulation_vertex_base_2.h>
|
||||
|
||||
template < class GT, class Vb >
|
||||
class My_vertex_base : public Vb
|
||||
class My_vertex_base
|
||||
: public Vb
|
||||
{
|
||||
public:
|
||||
typedef typename Vb::Vertex_handle Vertex_handle;
|
||||
|
|
@ -36,11 +37,11 @@ typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
|||
typedef CGAL::Periodic_2_Delaunay_triangulation_traits_2<K> GT;
|
||||
|
||||
typedef CGAL::Periodic_2_triangulation_vertex_base_2<GT> VbDS;
|
||||
typedef My_vertex_base<GT, VbDS> Vb;
|
||||
typedef My_vertex_base<GT, VbDS> Vb;
|
||||
typedef CGAL::Periodic_2_triangulation_face_base_2<GT> Fb;
|
||||
|
||||
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT, Tds> PDT;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT, Tds> PDT;
|
||||
|
||||
typedef PDT::Vertex_handle Vertex_handle;
|
||||
typedef PDT::Point Point;
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@
|
|||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_traits_2<K> GT;
|
||||
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT> PDT;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT> PDT;
|
||||
|
||||
typedef PDT::Point Point;
|
||||
typedef PDT::Covering_sheets Covering_sheets;
|
||||
typedef PDT::Point Point;
|
||||
typedef PDT::Covering_sheets Covering_sheets;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
|
@ -20,32 +20,32 @@ int main()
|
|||
|
||||
// Input point grid (27 points)
|
||||
for (double x = 0. ; x < .9 ; x += 0.4)
|
||||
{
|
||||
for (double y = 0. ; y < .9 ; y += 0.4)
|
||||
{
|
||||
for (double y = 0. ; y < .9 ; y += 0.4)
|
||||
{
|
||||
T.insert(Point(x, y));
|
||||
}
|
||||
T.insert(Point(x, y));
|
||||
}
|
||||
}
|
||||
|
||||
Covering_sheets cs = T.number_of_sheets();
|
||||
std::cout << "Current covering: " << cs[0] << ' ' << cs[1] << std::endl;
|
||||
|
||||
if ( T.is_triangulation_in_1_sheet() ) // = true
|
||||
{
|
||||
bool is_extensible = T.is_extensible_triangulation_in_1_sheet_h1()
|
||||
|| T.is_extensible_triangulation_in_1_sheet_h2(); // = false
|
||||
T.convert_to_1_sheeted_covering();
|
||||
cs = T.number_of_sheets();
|
||||
std::cout << "Current covering: " << cs[0] << ' ' << cs[1] << std::endl;
|
||||
if ( is_extensible ) // = false
|
||||
std::cout << "It is safe to change the triangulation here." << std::endl;
|
||||
else
|
||||
std::cout << "It is NOT safe to change the triangulation here!" << std::endl;
|
||||
{
|
||||
bool is_extensible = T.is_extensible_triangulation_in_1_sheet_h1()
|
||||
|| T.is_extensible_triangulation_in_1_sheet_h2(); // = false
|
||||
T.convert_to_1_sheeted_covering();
|
||||
cs = T.number_of_sheets();
|
||||
std::cout << "Current covering: " << cs[0] << ' ' << cs[1] << std::endl;
|
||||
if ( is_extensible ) // = false
|
||||
std::cout << "It is safe to change the triangulation here." << std::endl;
|
||||
else
|
||||
std::cout << "It is NOT safe to change the triangulation here!" << std::endl;
|
||||
|
||||
T.convert_to_9_sheeted_covering();
|
||||
cs = T.number_of_sheets();
|
||||
std::cout << "Current covering: " << cs[0] << ' ' << cs[1] << std::endl;
|
||||
}
|
||||
T.convert_to_9_sheeted_covering();
|
||||
cs = T.number_of_sheets();
|
||||
std::cout << "Current covering: " << cs[0] << ' ' << cs[1] << std::endl;
|
||||
}
|
||||
|
||||
std::cout << "It is (again) safe to modify the triangulation." << std::endl;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@
|
|||
#include <CGAL/Periodic_2_Delaunay_triangulation_traits_2.h>
|
||||
#include <CGAL/point_generators_2.h>
|
||||
|
||||
#include <vector>
|
||||
#include <cassert>
|
||||
#include <vector>
|
||||
|
||||
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_traits_2<K> GT;
|
||||
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT> Delaunay;
|
||||
typedef Delaunay::Point Point;
|
||||
typedef Delaunay::Face_handle Face_handle;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT> Delaunay;
|
||||
typedef Delaunay::Point Point;
|
||||
typedef Delaunay::Face_handle Face_handle;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
|||
typedef CGAL::Periodic_2_Delaunay_triangulation_traits_2<K> Gt;
|
||||
typedef CGAL::Triangulation_vertex_base_with_info_2<unsigned, Gt> Vb;
|
||||
typedef CGAL::Periodic_2_triangulation_face_base_2<Gt> Fb;
|
||||
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
|
||||
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<Gt, Tds> Delaunay;
|
||||
typedef Delaunay::Point Point;
|
||||
|
||||
|
|
@ -33,11 +33,13 @@ int main()
|
|||
// check that the info was correctly set.
|
||||
Delaunay::Finite_vertices_iterator vit;
|
||||
for (vit = T.finite_vertices_begin(); vit != T.finite_vertices_end(); ++vit)
|
||||
{
|
||||
if( points[ vit->info() ].first != vit->point() )
|
||||
{
|
||||
std::cerr << "Error different info" << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
{
|
||||
std::cerr << "Error different info" << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
std::cout << "OK" << std::endl;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -11,14 +11,15 @@ typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
|
|||
typedef CGAL::Periodic_2_Delaunay_triangulation_traits_2<K> Gt;
|
||||
typedef CGAL::Triangulation_vertex_base_with_info_2<unsigned, Gt> Vb;
|
||||
typedef CGAL::Periodic_2_triangulation_face_base_2<Gt> Fb;
|
||||
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
|
||||
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<Gt, Tds> Delaunay;
|
||||
typedef Delaunay::Point Point;
|
||||
|
||||
//a functor that returns a std::pair<Point,unsigned>.
|
||||
//the unsigned integer is incremented at each call to
|
||||
//operator()
|
||||
struct Auto_count : public std::unary_function<const Point&, std::pair<Point, unsigned> >
|
||||
struct Auto_count
|
||||
: public std::unary_function<const Point&, std::pair<Point, unsigned> >
|
||||
{
|
||||
mutable unsigned i;
|
||||
Auto_count() : i(0) {}
|
||||
|
|
@ -47,11 +48,13 @@ int main()
|
|||
// check that the info was correctly set.
|
||||
Delaunay::Finite_vertices_iterator vit;
|
||||
for (vit = T.finite_vertices_begin(); vit != T.finite_vertices_end(); ++vit)
|
||||
{
|
||||
if( points[ vit->info() ] != vit->point() )
|
||||
{
|
||||
std::cerr << "Error different info" << std::endl;
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
}
|
||||
std::cout << "OK" << std::endl;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -30,18 +30,17 @@ int main()
|
|||
|
||||
// Generating n random points
|
||||
for (int i = 0 ; i < n ; i++)
|
||||
{
|
||||
Point p = *in_square;
|
||||
in_square++;
|
||||
pts.push_back(Point(p.x() + .5, p.y() + .5));
|
||||
}
|
||||
{
|
||||
Point p = *in_square;
|
||||
in_square++;
|
||||
pts.push_back(Point(p.x() + .5, p.y() + .5));
|
||||
}
|
||||
|
||||
// Standard insertion
|
||||
t.start();
|
||||
for (int i = 0 ; i < n ; i++)
|
||||
{
|
||||
PT1.insert(pts[i]);
|
||||
}
|
||||
PT1.insert(pts[i]);
|
||||
|
||||
t.stop();
|
||||
std::cout << " Time: " << t.time() << " sec. (Standard insertion)" << std::endl;
|
||||
t.reset();
|
||||
|
|
|
|||
|
|
@ -13,11 +13,11 @@ typedef CGAL::Periodic_2_Delaunay_triangulation_traits_2<K> GT;
|
|||
|
||||
typedef CGAL::Periodic_2_Delaunay_triangulation_2<GT> PDT;
|
||||
|
||||
typedef PDT::Face_handle Face_handle;
|
||||
typedef PDT::Vertex_handle Vertex_handle;
|
||||
typedef PDT::Locate_type Locate_type;
|
||||
typedef PDT::Point Point;
|
||||
typedef PDT::Iso_rectangle Iso_rectangle;
|
||||
typedef PDT::Face_handle Face_handle;
|
||||
typedef PDT::Vertex_handle Vertex_handle;
|
||||
typedef PDT::Locate_type Locate_type;
|
||||
typedef PDT::Point Point;
|
||||
typedef PDT::Iso_rectangle Iso_rectangle;
|
||||
|
||||
int main()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@
|
|||
|
||||
#include <CGAL/license/Periodic_2_triangulation_2.h>
|
||||
|
||||
|
||||
#include <CGAL/Periodic_2_triangulation_2.h>
|
||||
#include <CGAL/iterator.h>
|
||||
|
||||
|
|
@ -35,16 +34,16 @@
|
|||
#include <boost/mpl/and.hpp>
|
||||
#endif //CGAL_TRIANGULATION_2_DONT_INSERT_RANGE_OF_POINTS_WITH_INFO
|
||||
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
template <
|
||||
class Gt,
|
||||
class Tds = Triangulation_data_structure_2 <
|
||||
Periodic_2_triangulation_vertex_base_2<Gt>,
|
||||
Periodic_2_triangulation_face_base_2<Gt> > >
|
||||
class Periodic_2_Delaunay_triangulation_2 : public Periodic_2_triangulation_2<Gt, Tds>
|
||||
class Gt,
|
||||
class Tds = Triangulation_data_structure_2 <
|
||||
Periodic_2_triangulation_vertex_base_2<Gt>,
|
||||
Periodic_2_triangulation_face_base_2<Gt> > >
|
||||
class Periodic_2_Delaunay_triangulation_2
|
||||
: public Periodic_2_triangulation_2<Gt, Tds>
|
||||
{
|
||||
typedef Periodic_2_Delaunay_triangulation_2<Gt, Tds> Self;
|
||||
public:
|
||||
|
|
|
|||
|
|
@ -60,10 +60,11 @@ namespace CGAL
|
|||
/// - Deletion of points
|
||||
/// - Point location
|
||||
template < class Gt,
|
||||
class Tds = Triangulation_data_structure_2 <
|
||||
Periodic_2_triangulation_vertex_base_2<Gt>,
|
||||
Periodic_2_triangulation_face_base_2<Gt> > >
|
||||
class Periodic_2_triangulation_2: public Triangulation_cw_ccw_2
|
||||
class Tds = Triangulation_data_structure_2 <
|
||||
Periodic_2_triangulation_vertex_base_2<Gt>,
|
||||
Periodic_2_triangulation_face_base_2<Gt> > >
|
||||
class Periodic_2_triangulation_2
|
||||
: public Triangulation_cw_ccw_2
|
||||
{
|
||||
typedef Periodic_2_triangulation_2<Gt, Tds> Self;
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class Periodic_2_triangulation_face_base_2
|
|||
{
|
||||
typedef Fb Base;
|
||||
typedef typename Base::Triangulation_data_structure Tds;
|
||||
|
||||
public:
|
||||
typedef Gt Geom_traits;
|
||||
typedef Tds Triangulation_data_structure;
|
||||
|
|
|
|||
|
|
@ -38,21 +38,22 @@ template < class Gt, class Vb = CGAL::Triangulation_vertex_base_2<Gt> >
|
|||
class Periodic_2_triangulation_vertex_base_2
|
||||
: public Vb
|
||||
{
|
||||
typedef Vb Base;
|
||||
typedef typename Vb::Triangulation_data_structure Tds;
|
||||
public:
|
||||
typedef Gt Geom_traits;
|
||||
typedef typename Gt::Point_2 Point;
|
||||
typedef Tds Triangulation_data_structure;
|
||||
typedef typename Tds::Face_handle Face_handle;
|
||||
typedef typename Tds::Vertex_handle Vertex_handle;
|
||||
typedef Vb Base;
|
||||
typedef typename Vb::Triangulation_data_structure Tds;
|
||||
|
||||
typedef Periodic_2_offset_2 Offset;
|
||||
public:
|
||||
typedef Gt Geom_traits;
|
||||
typedef Tds Triangulation_data_structure;
|
||||
|
||||
typedef typename Tds::Vertex_handle Vertex_handle;
|
||||
typedef typename Tds::Face_handle Face_handle;
|
||||
typedef typename Gt::Point_2 Point;
|
||||
typedef Periodic_2_offset_2 Offset;
|
||||
|
||||
template < typename Tds2 >
|
||||
struct Rebind_TDS
|
||||
{
|
||||
typedef typename Vb::template Rebind_TDS<Tds2>::Other Vb2;
|
||||
typedef typename Vb::template Rebind_TDS<Tds2>::Other Vb2;
|
||||
typedef Periodic_2_triangulation_vertex_base_2<Gt, Vb2> Other;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ public:
|
|||
// Hence, if the kernel has members and we use filtered traits, then
|
||||
// the members will be default constructed here...
|
||||
|
||||
// Problem 2: we have built filtered traits in P3Tfiltered_traits_3 and now
|
||||
// Problem 2: we have built filtered traits in P3Tfiltered_traits_2 and now
|
||||
// we also need those two...
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace CGAL {
|
|||
template< typename K,
|
||||
typename Off = typename CGAL::Periodic_2_offset_2>
|
||||
class Periodic_2_triangulation_statically_filtered_traits_2
|
||||
: public Periodic_2_triangulation_filtered_traits_base_2<K, Off>
|
||||
: public Periodic_2_triangulation_filtered_traits_base_2<K, Off>
|
||||
{
|
||||
typedef Periodic_2_triangulation_statically_filtered_traits_2<K, Off> Self;
|
||||
typedef Periodic_2_triangulation_filtered_traits_base_2<K, Off> Base;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
|
||||
#include <CGAL/license/Periodic_2_triangulation_2.h>
|
||||
|
||||
#include <CGAL/internal/Static_filters/tools.h>
|
||||
#include <CGAL/Profile_counter.h>
|
||||
#include <CGAL/internal/Static_filters/Static_filter_error.h>
|
||||
#include <CGAL/internal/Static_filters/tools.h>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Face_handle test_point_location(const Triangulation &t,
|
|||
CGAL_assertion(lt2 == lt_in);
|
||||
|
||||
switch (lt_in)
|
||||
{
|
||||
{
|
||||
case Triangulation::VERTEX:
|
||||
case Triangulation::EDGE:
|
||||
{
|
||||
|
|
@ -51,7 +51,7 @@ Face_handle test_point_location(const Triangulation &t,
|
|||
CGAL_assertion(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return fh;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue