mirror of https://github.com/CGAL/cgal
Duplicates in TDS_2 and T_2
This commit is contained in:
parent
2f59ef6b9a
commit
718db41ca5
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
// include this to avoid a VC15 warning
|
// include this to avoid a VC15 warning
|
||||||
#include <CGAL/boost/graph/named_function_params.h>
|
#include <CGAL/boost/graph/named_function_params.h>
|
||||||
|
#include <CGAL/boost/graph/graph_traits_Triangulation_data_structure_2.h>
|
||||||
#include <boost/config.hpp>
|
#include <boost/config.hpp>
|
||||||
#include <boost/iterator_adaptors.hpp>
|
#include <boost/iterator_adaptors.hpp>
|
||||||
#include <boost/graph/graph_traits.hpp>
|
#include <boost/graph/graph_traits.hpp>
|
||||||
|
|
@ -45,114 +45,6 @@ namespace CGAL {
|
||||||
|
|
||||||
namespace detail {
|
namespace detail {
|
||||||
|
|
||||||
template < class T, class EdgeBase >
|
|
||||||
class Edge : public EdgeBase {
|
|
||||||
|
|
||||||
public:
|
|
||||||
typedef typename T::Face_handle Face_handle ;
|
|
||||||
|
|
||||||
Edge()
|
|
||||||
{}
|
|
||||||
|
|
||||||
Edge(Face_handle fh, int i)
|
|
||||||
: EdgeBase(fh,i)
|
|
||||||
{}
|
|
||||||
|
|
||||||
Edge(const EdgeBase& e)
|
|
||||||
: EdgeBase(e)
|
|
||||||
{}
|
|
||||||
|
|
||||||
Edge(const Edge& e)
|
|
||||||
: EdgeBase(e)
|
|
||||||
{}
|
|
||||||
|
|
||||||
Edge&
|
|
||||||
operator=(const Edge& e)
|
|
||||||
{
|
|
||||||
this->first = e.first;
|
|
||||||
this->second = e.second;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
friend std::size_t hash_value(const Edge& e)
|
|
||||||
{
|
|
||||||
if (e.first==Face_handle()) return 0;
|
|
||||||
return hash_value(e.first<e.first->neighbor(e.second)?
|
|
||||||
e.first:e.first->neighbor(e.second));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator==(const Edge& other) const
|
|
||||||
{
|
|
||||||
if((this->first == other.first)&&(this->second == other.second)) return true;
|
|
||||||
Face_handle fh = this->first->neighbor(this->second);
|
|
||||||
if(other.first != fh) return false;
|
|
||||||
int i = fh->index(this->first);
|
|
||||||
return (other.second == i);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator!=(Edge& other) const
|
|
||||||
{
|
|
||||||
return ! (*this == other);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template <class Circ, class E>
|
|
||||||
class Out_edge_circulator : public Circ
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
mutable E e;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
typedef E value_type;
|
|
||||||
typedef E* pointer;
|
|
||||||
typedef E& reference;
|
|
||||||
|
|
||||||
Out_edge_circulator()
|
|
||||||
: Circ()
|
|
||||||
{}
|
|
||||||
|
|
||||||
Out_edge_circulator(Circ c)
|
|
||||||
: Circ(c)
|
|
||||||
{}
|
|
||||||
|
|
||||||
const E& operator*() const
|
|
||||||
{
|
|
||||||
E ed = static_cast<const Circ*>(this)->operator*();
|
|
||||||
e = E(ed.first->neighbor(ed.second), ed.first->neighbor(ed.second)->index(ed.first));
|
|
||||||
return e;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template <class Circ, class E>
|
|
||||||
class In_edge_circulator : public Circ
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
mutable E e;
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
typedef E value_type;
|
|
||||||
typedef E* pointer;
|
|
||||||
typedef E& reference;
|
|
||||||
|
|
||||||
In_edge_circulator()
|
|
||||||
: Circ()
|
|
||||||
{}
|
|
||||||
|
|
||||||
In_edge_circulator(Circ c)
|
|
||||||
: Circ(c)
|
|
||||||
{}
|
|
||||||
|
|
||||||
const E& operator*() const
|
|
||||||
{
|
|
||||||
typename Circ::value_type ed = static_cast<const Circ*>(this)->operator*();
|
|
||||||
e = E(ed);
|
|
||||||
return e;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
template <typename Tr>
|
template <typename Tr>
|
||||||
struct T2_halfedge_descriptor
|
struct T2_halfedge_descriptor
|
||||||
{
|
{
|
||||||
|
|
@ -784,14 +676,6 @@ namespace std {
|
||||||
|
|
||||||
#ifndef CGAL_CFG_NO_STD_HASH
|
#ifndef CGAL_CFG_NO_STD_HASH
|
||||||
|
|
||||||
template < class T, class EdgeBase>
|
|
||||||
struct hash<CGAL::detail::Edge<T,EdgeBase> > {
|
|
||||||
std::size_t operator()(const CGAL::detail::Edge<T,EdgeBase>& e) const
|
|
||||||
{
|
|
||||||
return hash_value(e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template < class Tr>
|
template < class Tr>
|
||||||
struct hash<CGAL::detail::T2_halfedge_descriptor<Tr> > {
|
struct hash<CGAL::detail::T2_halfedge_descriptor<Tr> > {
|
||||||
std::size_t operator()(const CGAL::detail::T2_halfedge_descriptor<Tr>& e) const
|
std::size_t operator()(const CGAL::detail::T2_halfedge_descriptor<Tr>& e) const
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue