Introduced the tag "Periodic_tag" to mark distinguish periodic triangulations

This commit is contained in:
Mael Rouxel-Labbé 2017-08-23 16:18:05 +02:00
parent e3d27128fb
commit aaeaf35380
21 changed files with 89 additions and 18 deletions

View File

@ -87,6 +87,12 @@ public:
typedef typename Base::Periodic_segment_iterator Periodic_segment_iterator;
typedef typename Base::Periodic_triangle_iterator Periodic_triangle_iterator;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_true Periodic_tag;
public:
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Base::empty;

View File

@ -204,10 +204,12 @@ public:
typedef value_type& reference;
// \}
/// Tag to distinguish regular triangulations from others;
typedef Tag_false Weighted_tag;
/// Tag to distinguish periodic triangulations from others
typedef Tag_true Periodic_tag;
protected:
// Protected types of Periodic_2_triangulation_2
typedef typename Gt::Orientation_2 Orientation_2;

View File

@ -63,6 +63,7 @@ public:
//typedef typename PTr::Finite_faces_iterator Finite_faces_iterator;
typedef typename PTr::Weighted_tag Weighted_tag;
typedef typename PTr::Periodic_tag Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using PTr_Base::geom_traits;

View File

@ -114,6 +114,12 @@ public:
typedef typename Base::Periodic_tetrahedron_iterator Periodic_tetrahedron_iterator;
//@}
//Tag to distinguish Delaunay from Regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_true Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Base::cw;
using Base::ccw;

View File

@ -129,6 +129,9 @@ public:
//Tag to distinguish Delaunay from Regular triangulations
typedef Tag_true Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_true Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Tr_Base::cw;
using Tr_Base::ccw;

View File

@ -201,7 +201,11 @@ public:
typedef Point value_type;
typedef const value_type& const_reference;
typedef Tag_false Weighted_tag;
//Tag to distinguish regular triangulations from others
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_true Periodic_tag;
public:
enum Iterator_type {

View File

@ -64,6 +64,9 @@ public:
typedef typename PTr_Base::Facet_iterator Facet_iterator;
typedef typename PTr_Base::Edge_iterator Edge_iterator;
typedef typename PTr_Base::Weighted_tag Weighted_tag;
typedef typename PTr_Base::Periodic_tag Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using PTr_Base::number_of_vertices;
using PTr_Base::geom_traits;

View File

@ -90,11 +90,10 @@ public: // PUBLIC NESTED TYPES
//Tag to distinguish triangulations with weighted_points
typedef Tag_false Weighted_tag;
protected: // DATA MEMBERS
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
public:
typedef typename Base::Rotor Rotor;
using Base::maximal_dimension;
using Base::are_incident_full_cells_valid;

View File

@ -95,11 +95,10 @@ public: // PUBLIC NESTED TYPES
//Tag to distinguish Delaunay from Regular triangulations
typedef Tag_true Weighted_tag;
protected: // DATA MEMBERS
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
public:
typedef typename Base::Point Weighted_point;
typedef typename Base::Rotor Rotor;
using Base::maximal_dimension;

View File

@ -183,6 +183,12 @@ public:
typedef boost::filter_iterator<Finiteness_predicate, Facet_iterator>
Finite_facet_iterator;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
protected: // DATA MEMBERS
Triangulation_ds tds_;

View File

@ -90,6 +90,12 @@ public:
typedef typename Ctr::Less_edge less_edge;
typedef typename Ctr::Edge_set Edge_set;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Ctr::geom_traits;
using Ctr::number_of_vertices;

View File

@ -141,8 +141,13 @@ public:
typedef std::list<Constraint> List_constraints;
// Tag to mark the presence of a hierarchy of constraints
typedef Tag_false Constraint_hierarchy_tag;
typedef Tag_false Constraint_hierarchy_tag;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
class Less_edge;
typedef std::set<Edge,Less_edge> Edge_set;

View File

@ -161,10 +161,16 @@ public:
typedef Polyline_constraint_hierarchy_2<Vertex_handle, Vh_less_xy, Point>
Constraint_hierarchy;
public:
typedef Tag_true Constraint_hierarchy_tag;
// Tag to mark the presence of a hierarchy of constraints
typedef Tag_true Constraint_hierarchy_tag;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
// for user interface with the constraint hierarchy
typedef typename Constraint_hierarchy::Vertex_it
Vertices_in_constraint_iterator;

View File

@ -70,6 +70,12 @@ public:
Finite_vertices_iterator;
typedef typename Triangulation::All_faces_iterator All_faces_iterator;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Triangulation::side_of_oriented_circle;
using Triangulation::circumcenter;

View File

@ -199,9 +199,12 @@ public:
typedef Finite_edges_iterator Edge_iterator;
typedef Finite_vertices_iterator Vertex_iterator;
//Tag to distinguish Delaunay from regular triangulations
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_true Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
private:
size_type _hidden_vertices;

View File

@ -211,9 +211,12 @@ public:
OUTSIDE_CONVEX_HULL, //3
OUTSIDE_AFFINE_HULL}; //4
//Tag to distinguish regular triangulations from others;
//Tag to distinguish regular triangulations from others
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
protected:
Gt _gt;
Tds _tds;

View File

@ -76,9 +76,10 @@ class Triangulation_hierarchy_2
typename internal::Bare_point_type<Tr_Base>,
boost::mpl::identity<typename Tr_Base::Point>
>::type Bare_point;
typedef typename Geom_traits::Weighted_point_2 Weighted_point;
typedef typename Tr_Base::Weighted_tag Weighted_tag;
typedef typename Tr_Base::Periodic_tag Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Tr_Base::geom_traits;

View File

@ -136,6 +136,11 @@ public:
typedef typename Tr_Base::size_type size_type;
typedef typename Tr_Base::Locate_type Locate_type;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Tr_Base::cw;

View File

@ -146,7 +146,10 @@ namespace CGAL {
typedef typename Gt::Object_3 Object;
//Tag to distinguish Delaunay from regular triangulations
typedef Tag_true Weighted_tag;
typedef Tag_true Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
#ifndef CGAL_CFG_USING_BASE_MEMBER_BUG_2
using Tr_Base::geom_traits;

View File

@ -531,9 +531,10 @@ public:
typedef const value_type& const_reference;
//Tag to distinguish triangulations with weighted_points
typedef Tag_false Weighted_tag;
typedef Tag_false Weighted_tag;
// Tag to distinguish periodic triangulations from others
typedef Tag_false Periodic_tag;
enum Locate_type {
VERTEX=0,

View File

@ -90,6 +90,9 @@ public:
// this may be weighted or not
typedef typename Tr_Base::Point Point;
typedef typename Tr_Base::Weighted_tag Weighted_tag;
typedef typename Tr_Base::Periodic_tag Periodic_tag;
using Tr_Base::number_of_vertices;
using Tr_Base::geom_traits;