Remove usage of Regular_triangulation_euclidean_traits_3

This commit is contained in:
Andreas Fabri 2016-11-21 16:43:40 +01:00
parent b978fa8fdd
commit d624271315
17 changed files with 55 additions and 81 deletions

View File

@ -14,7 +14,6 @@ the weighted Alpha Shape.
#include <vector>
#include <list>
#include <CGAL/Regular_triangulation_euclidean_traits_2.h>
#include <CGAL/Regular_triangulation_2.h>
#include <CGAL/Alpha_shape_2.h>
@ -29,7 +28,7 @@ typedef K::Segment_2 Segment;
typedef K::Line_2 Line;
typedef K::Triangle_2 Triangle;
typedef CGAL::Regular_triangulation_euclidean_traits_2<K> Gt;
typedef K Gt;
typedef CGAL::Regular_triangulation_vertex_base_2<Gt> Rvb;
typedef CGAL::Regular_triangulation_face_base_2<Gt> Rf;

View File

@ -3,11 +3,7 @@
#include <CGAL/Fixed_alpha_shape_vertex_base_3.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#ifndef CGAL_NO_DEPRECATED_CODE
# include <CGAL/Weighted_alpha_shape_euclidean_traits_3.h>
#endif
#include <CGAL/Regular_triangulation_3.h>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
#include <CGAL/Delaunay_triangulation_3.h>
#include <iostream>
#include <fstream>
@ -18,31 +14,33 @@
#include <CGAL/Alpha_shape_vertex_base_3.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef CGAL::Regular_triangulation_euclidean_traits_3<Kernel> EPIC_traits;
typedef Kernel EPIC_traits;
typedef CGAL::Weighted_point_3<Kernel> Weighted_point;
typedef CGAL::Fixed_alpha_shape_vertex_base_3<EPIC_traits> WFixed_Vb;
typedef Kernel::Weighted_point_3 Weighted_point;
typedef CGAL::Regular_triangulation_vertex_base_3<Kernel> Vbb;
typedef CGAL::Fixed_alpha_shape_vertex_base_3<Kernel,Vbb> WFixed_Vb;
typedef CGAL::Fixed_alpha_shape_cell_base_3<EPIC_traits> WFixed_Cb;
typedef CGAL::Triangulation_data_structure_3<WFixed_Vb,WFixed_Cb> WFixed_TDS;
typedef CGAL::Regular_triangulation_3<EPIC_traits,WFixed_TDS> WFixed_DT;
typedef CGAL::Fixed_alpha_shape_3< WFixed_DT > WFixed_AS;
typedef CGAL::Alpha_shape_vertex_base_3<EPIC_traits> WVb;
typedef CGAL::Alpha_shape_vertex_base_3<EPIC_traits,Vbb> WVb;
typedef CGAL::Alpha_shape_cell_base_3<EPIC_traits> WCb;
typedef CGAL::Triangulation_data_structure_3<WVb,WCb> WTDS;
typedef CGAL::Regular_triangulation_3<EPIC_traits,WTDS> WDT;
typedef CGAL::Alpha_shape_3< WDT > WAS;
typedef CGAL::Alpha_shape_vertex_base_3<EPIC_traits,CGAL::Default,CGAL::Tag_true,CGAL::Tag_true> WVb_f;
typedef CGAL::Alpha_shape_vertex_base_3<EPIC_traits,Vbb,CGAL::Tag_true,CGAL::Tag_true> WVb_f;
typedef CGAL::Alpha_shape_cell_base_3<EPIC_traits,CGAL::Default,CGAL::Tag_true,CGAL::Tag_true> WCb_f;
typedef CGAL::Triangulation_data_structure_3<WVb_f,WCb_f> WTDS_f;
typedef CGAL::Regular_triangulation_3<EPIC_traits,WTDS_f> WDT_f;
typedef CGAL::Alpha_shape_3< WDT_f,CGAL::Tag_true > WAS_f;
typedef CGAL::Alpha_shape_3< WDT_f,CGAL::Tag_true > WAS_f;
typedef CGAL::Exact_predicates_exact_constructions_kernel EKernel;
typedef CGAL::Regular_triangulation_euclidean_traits_3<EKernel> EPEC_traits;
typedef CGAL::Alpha_shape_vertex_base_3<EPEC_traits> EVb;
typedef CGAL::Regular_triangulation_vertex_base_3<EKernel> EVbb;
typedef EKernel EPEC_traits;
typedef CGAL::Alpha_shape_vertex_base_3<EPEC_traits,EVbb> EVb;
typedef CGAL::Alpha_shape_cell_base_3<EPEC_traits> ECb;
typedef CGAL::Triangulation_data_structure_3<EVb,ECb> ETDS;
typedef CGAL::Regular_triangulation_3<EPEC_traits,ETDS> EDT;
@ -89,32 +87,32 @@ void make_one_run(const char* filename){
time.reset();
//copy triangulation for familly alpha-shape
//copy triangulation for family alpha-shape
WDT T1;
T1.set_infinite_vertex( T1.tds().copy_tds( wfixed_as.tds(), wfixed_as.infinite_vertex() ) );
std::cout << "Build familly weighted alpha complex" << std::endl;
std::cout << "Build family weighted alpha complex" << std::endl;
time.start();
WAS w_as(T1,0,WAS::GENERAL);
time.stop();
std::cout << "Familly "<< time.time() << std::endl;
std::cout << "Family "<< time.time() << std::endl;
time.reset();
//copy triangulation for familly alpha-shape
//copy triangulation for family alpha-shape
WDT_f T1f;
T1f.set_infinite_vertex( T1f.tds().copy_tds(wfixed_as.tds(),wfixed_as.infinite_vertex()) );
std::cout << "Build familly filtered weighted alpha complex" << std::endl;
std::cout << "Build family filtered weighted alpha complex" << std::endl;
time.start();
WAS_f w_asf(T1f,0,WAS_f::GENERAL);
time.stop();
std::cout << "Familly filtered "<< time.time() << std::endl;
std::cout << "Family filtered "<< time.time() << std::endl;
time.reset();
std::list<EPEC_traits::Weighted_point > elst;
std::list<EPEC_traits::Weighted_point_3 > elst;
fill_wp_lists(filename,elst,1.4);
//recreate the triangulation
time.start();
@ -122,11 +120,11 @@ void make_one_run(const char* filename){
time.stop();
std::cout << "Building exact regular triangulation: " << time.time() << std::endl;;
time.reset();
std::cout << "Build exact familly weighted alpha complex" << std::endl;
std::cout << "Build exact family weighted alpha complex" << std::endl;
time.start();
EAS ase(edt,0,EAS::GENERAL);
time.stop();
std::cout << "Familly exact "<< time.time() << std::endl;
std::cout << "Family exact "<< time.time() << std::endl;
}

View File

@ -2,11 +2,8 @@
#include <CGAL/Fixed_alpha_shape_cell_base_3.h>
#include <CGAL/Fixed_alpha_shape_vertex_base_3.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#ifndef CGAL_NO_DEPRECATED_CODE
# include <CGAL/Weighted_alpha_shape_euclidean_traits_3.h>
#endif
#include <CGAL/Regular_triangulation_3.h>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
#include <CGAL/Delaunay_triangulation_3.h>
#include <iostream>
#include <fstream>
@ -16,7 +13,6 @@
#include <CGAL/Alpha_shape_cell_base_3.h>
#include <CGAL/Alpha_shape_vertex_base_3.h>
//#include "Filtered_weighted_alpha_shape_euclidean_traits_3.h"
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Regular_triangulation_vertex_base_3<K> Vbb;

View File

@ -171,7 +171,7 @@ regular_neighbor_coordinates_vertex_2(const Rt& rt,
typedef typename Rt::Geom_traits Traits;
typedef typename Traits::FT Coord_type;
typedef typename Traits::Bare_point Bare_point;
typedef typename Rt::Bare_point Bare_point;
typedef typename Rt::Vertex_handle Vertex_handle;
typedef typename Rt::Face_circulator Face_circulator;

View File

@ -68,8 +68,8 @@ _test_regular_neighbors_2( const Triangul & )
typedef typename Triangul::Geom_traits Gt;
typedef typename Gt::Weighted_point_2 Weighted_point;
typedef typename Gt::Bare_point Bare_point;
typedef typename Gt::Rep::FT Coord_type;
typedef typename Gt::Point_2 Bare_point;
typedef typename Gt::FT Coord_type;
typedef std::vector< std::pair< Weighted_point, Coord_type > >
Point_coordinate_vector;

View File

@ -22,17 +22,14 @@
#include <CGAL/double.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <CGAL/Regular_triangulation_euclidean_traits_2.h>
#include <CGAL/Regular_triangulation_2.h>
#include <CGAL/_test_regular_neighbors_2.cpp>
struct K : CGAL::Exact_predicates_exact_constructions_kernel {};
typedef double W;
typedef CGAL::Exact_predicates_exact_constructions_kernel K;
typedef CGAL::Regular_triangulation_euclidean_traits_2<K,W> Gt1;
typedef CGAL::Regular_triangulation_2<Gt1> Rt1;
typedef CGAL::Regular_triangulation_2<K> Rt1;
int main()
{

View File

@ -5,11 +5,9 @@
// *********************
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <cassert>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
#include <CGAL/Regular_triangulation_3.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Regular_triangulation_euclidean_traits_3<K> Regular_traits;
typedef CGAL::Regular_triangulation_3<Regular_traits> Regular;
typedef CGAL::Regular_triangulation_3<K> Regular;
#include <CGAL/Compute_anchor_3.h>
@ -17,8 +15,8 @@ typedef CGAL::Regular_triangulation_3<Regular_traits> Regular;
#include <CGAL/Triangulation_simplex_3.h>
typedef Regular_traits::RT Weight;
typedef Regular_traits::Bare_point Point;
typedef Regular_traits::Weighted_point Weighted_point;
typedef Regular_traits::Point_3 Point;
typedef Regular_traits::Weighted_point_3 Weighted_point;
typedef Regular::Vertex_handle Vertex_handle;
typedef Regular::Edge Edge;
typedef Regular::Facet Facet;

View File

@ -44,18 +44,27 @@
namespace CGAL {
template < typename K_ >
struct Weighted_point_mapper_2
: public K_
{
typedef typename K_::Weighted_point_2 Point_2;
Weighted_point_mapper_2() {}
Weighted_point_mapper_2(const K_& k) : K_(k) {}
};
template < class Gt,
class Tds = Triangulation_data_structure_2 <
Regular_triangulation_vertex_base_2<
Regular_triangulation_euclidean_traits_2<Gt, typename Gt::RT> >,
Regular_triangulation_vertex_base_2<Gt>,
Regular_triangulation_face_base_2<Gt> > >
class Regular_triangulation_2
: public Triangulation_2<
Regular_triangulation_euclidean_traits_2<Gt>,
Weighted_point_mapper_2<Gt>,
Tds>
{
typedef Regular_triangulation_2<Gt, Tds> Self;
typedef Regular_triangulation_euclidean_traits_2<Gt> RT_traits;
typedef Weighted_point_mapper_2<Gt> RT_traits;
typedef Triangulation_2<RT_traits, Tds> Base;
public:
typedef Tds Triangulation_data_structure;

View File

@ -23,9 +23,7 @@
// ============================================================================
#include <CGAL/_test_types.h>
#include <CGAL/Weighted_point.h>
#include <CGAL/Regular_triangulation_euclidean_traits_2.h>
#include <CGAL/Regular_triangulation_2.h>
#include <CGAL/Triangulation_hierarchy_2.h>
@ -34,8 +32,7 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
typedef CGAL::Regular_triangulation_euclidean_traits_2
<CGAL::Exact_predicates_inexact_constructions_kernel> RGt;
typedef CGAL::Exact_predicates_inexact_constructions_kernel RGt;
typedef CGAL::Regular_triangulation_vertex_base_2<RGt> Vbb;
typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vbb> Vb;
@ -52,8 +49,6 @@ int main()
{
std::cout << "Testing Triangulation_hierarchy_2<Regular_triangulation_2>"
<<std::endl;
std::cout << " with CGAL::Regular_triangulation_euclidean_traits_2 : "
<<std::endl;
std::cout << "using Cartesian points " << std::endl;
//_test_cls_regular_hierarchy_2( Rt());
_test_cls_regular_hierarchy_2( Regular_hierarchy_cartesian());

View File

@ -23,15 +23,13 @@
#include <CGAL/_test_types.h>
#include <CGAL/Regular_triangulation_euclidean_traits_2.h>
#include <CGAL/Regular_triangulation_2.h>
#include <CGAL/_test_cls_regular_triangulation_2.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
typedef CGAL::Regular_triangulation_euclidean_traits_2
<CGAL::Exact_predicates_exact_constructions_kernel> RGt;
typedef CGAL::Exact_predicates_exact_constructions_kernel RGt;
// Explicit instantiation of the whole class :
template class CGAL::Regular_triangulation_2<RGt>;
@ -39,19 +37,13 @@ template class CGAL::Regular_triangulation_2<RGt>;
int main()
{
std::cout << "Testing Regular_triangulation_2" <<std::endl;
std::cout << " with CGAL::Regular_triangulation_euclidean_traits_2 : "
<<std::endl;
std::cout << "using Cartesian points " << std::endl;
typedef CGAL::Regular_triangulation_2<RGt> RCls;
_test_cls_regular_triangulation_2( RCls() );
std::cout << "Testing Regular_triangulation_2" <<std::endl;
std::cout << " with CGAL::Regular_triangulation_euclidean_traits_2 : "
<<std::endl;
std::cout << "using Homogeneous points "<< std::endl;
typedef CGAL::Regular_triangulation_euclidean_traits_2
<Test_rep_homogeneous, Rtype> RGt2;
typedef Test_rep_homogeneous RGt2;
typedef CGAL::Regular_triangulation_2<RGt2> RCls2;
_test_cls_regular_triangulation_2( RCls2() );

View File

@ -436,9 +436,6 @@ void test_RT()
int main()
{
std::cout << " with CGAL::Regular_triangulation_euclidean_traits_3: "
<< std::endl;
test_RT<CGAL::Regular_triangulation_3<traits> >();
#ifdef CGAL_LINKED_WITH_TBB

View File

@ -19,7 +19,6 @@
// Author(s) : Sylvain Pion
#include <CGAL/Regular_triangulation_3.h>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
bool del=true;
@ -27,11 +26,10 @@ bool del=true;
#include "include/CGAL/_test_types.h"
#include "include/CGAL/_test_cls_delaunay_3.h"
typedef CGAL::Regular_triangulation_euclidean_traits_3<K> Traits;
int main()
{
typedef CGAL::Regular_triangulation_3<Traits> Cls;
typedef CGAL::Regular_triangulation_3<K> Cls;
_test_cls_delaunay_3( Cls() );
@ -40,4 +38,4 @@ int main()
// MipsPro prefers this after the other instantiations...
// Explicit instantiation of the whole class :
template class CGAL::Regular_triangulation_3<Traits>;
template class CGAL::Regular_triangulation_3<K>;

View File

@ -1,6 +1,5 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Regular_triangulation_3.h>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
#include <CGAL/Triangulation_vertex_base_with_info_3.h>
#include <vector>

View File

@ -321,9 +321,6 @@ bool test_case (std::istream &is)
int main(int argc, char **argv)
{
std::cout << " with CGAL::Regular_triangulation_euclidean_traits_3: "
<< std::endl;
// Test various data sets that crashed the code at some point in the past.
// File format is:
// number of points of first data set

View File

@ -19,6 +19,8 @@
//
// Author(s) : Mariette Yvinec
#define CGAL_NO_DEPRECATION_WARNINGS
#include <cassert>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>

View File

@ -9,16 +9,15 @@
#include <CGAL/Kernel_checker.h>
#include <CGAL/Cartesian_converter.h>
#include <CGAL/Random.h>
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
typedef CGAL::Simple_cartesian<double> Double_kernel;
typedef CGAL::Simple_cartesian<CGAL::Quotient<CGAL::MP_Float> > Exact_kernel;
typedef CGAL::Filtered_kernel<Double_kernel, true> FK_with_SF;
typedef CGAL::Filtered_kernel<Double_kernel, false> FK_without_SF;
typedef CGAL::Regular_triangulation_euclidean_traits_3<Exact_kernel> Exact_traits;
typedef CGAL::Regular_triangulation_euclidean_traits_3<FK_without_SF> FTr_without_SF;
typedef CGAL::Regular_triangulation_euclidean_traits_3<FK_with_SF> FTr_with_SF;
typedef Exact_kernel Exact_traits;
typedef FK_without_SF FTr_without_SF;
typedef FK_with_SF FTr_with_SF;
typedef std::pair<double,double> NT_pair;
template < class K1, class K2, class Cmp = CGAL::dont_check_equal >
@ -77,7 +76,7 @@ double my_rand()
Weighted_point_3 my_rand_wp3()
{
double x = my_rand(), y = my_rand(), z = my_rand(), r=my_rand();
return Weighted_point_3( FTr_with_SF::Weighted_point_3(FTr_with_SF::Bare_point(x, y, z),r) , FTr_without_SF::Weighted_point_3(FTr_without_SF::Bare_point(x, y, z),r) );
return Weighted_point_3( FTr_with_SF::Weighted_point_3(FTr_with_SF::Point_3(x, y, z),r) , FTr_without_SF::Weighted_point_3(FTr_without_SF::Point_3(x, y, z),r) );
}
// Perturbation with given maximum relative epsilon.
@ -87,7 +86,7 @@ void perturb(Weighted_point_3 &p, double rel_eps)
double y = CGAL_IA_FORCE_TO_DOUBLE(p.first.y()*(1+rand_base()*rel_eps));
double z = CGAL_IA_FORCE_TO_DOUBLE(p.first.z()*(1+rand_base()*rel_eps));
double r = CGAL_IA_FORCE_TO_DOUBLE(p.first.weight()*(1+rand_base()*rel_eps));
p=Weighted_point_3( FTr_with_SF::Weighted_point_3(FTr_with_SF::Bare_point(x, y, z),r) , FTr_without_SF::Weighted_point_3(FTr_without_SF::Bare_point(x, y, z),r) );
p=Weighted_point_3( FTr_with_SF::Weighted_point_3(FTr_with_SF::Point_3(x, y, z),r) , FTr_without_SF::Weighted_point_3(FTr_without_SF::Point_3(x, y, z),r) );
}
void toto (int){}

View File

@ -29,12 +29,10 @@
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Regular_triangulation_2.h>
#include <CGAL/Regular_triangulation_euclidean_traits_2.h>
#include <CGAL/Regular_triangulation_adaptation_traits_2.h>
#include <CGAL/Regular_triangulation_adaptation_policies_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
struct Gt : public CGAL::Regular_triangulation_euclidean_traits_2<K> {};
typedef CGAL::Exact_predicates_inexact_constructions_kernel Gt;
#if 1 // definitions for hierarchy