Various changes to reflect submmitted manual

This commit is contained in:
Fernando Cacciola 2006-10-03 18:32:03 +00:00
parent 9ce65f363e
commit e89ef39222
7 changed files with 82 additions and 56 deletions

View File

@ -17,8 +17,8 @@
//
// Author(s): Andreas Fabri <andreas.fabri@geometryfactory.com>, Fernando Cacciola <fernando.cacciola@gmail.com>
#ifndef CGAL_BOOST_GRAPH_POLYHEDRON_GRAPH_TRAITS_H
#define CGAL_BOOST_GRAPH_POLYHEDRON_GRAPH_TRAITS_H
#ifndef CGAL_BOOST_GRAPH_GRAPH_TRAITS_POLYHEDRON_3_H
#define CGAL_BOOST_GRAPH_GRAPH_TRAITS_POLYHEDRON_3_H
#include <CGAL/boost/graph/graph_traits_HalfedgeDS.h>
@ -208,4 +208,4 @@ out_edges( typename graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> >::vertex_descr
#undef CGAL_HDS_
#endif // CGAL_BOOST_GRAPH_POLYHEDRON_GRAPH_TRAITS_H
#endif // CGAL_BOOST_GRAPH_GRAPH_TRAITS_POLYHEDRON_3_H

View File

@ -24,7 +24,7 @@
CGAL_BEGIN_NAMESPACE
template<class T> struct Halfedge_graph_traits ;
template<class T> struct halfedge_graph_traits ;
CGAL_END_NAMESPACE

View File

@ -17,8 +17,8 @@
//
// Author(s): Fernando Cacciola <fernando.cacciola@gmail.com>, Andreas Fabri <andreas.fabri@geometryfactory.com>
#ifndef CGAL_BOOST_GRAPH_GRAPH_TRAITS_HALFEDGEDS_H
#define CGAL_BOOST_GRAPH_GRAPH_TRAITS_HALFEDGEDS_H
#ifndef CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_HALFEDGEDS_H
#define CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_HALFEDGEDS_H
#include <boost/config.hpp>
#include <boost/iterator_adaptors.hpp>
@ -85,4 +85,4 @@ public :
CGAL_END_NAMESPACE
#endif // CGAL_BOOST_GRAPH_GRAPH_TRAITS_HALFEDGEDS_H
#endif // CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_HALFEDGEDS_H

View File

@ -17,11 +17,11 @@
//
// Author(s) : Fernando Caccciola <fernando.cacciola@gmail.com>
#ifndef CGAL_BOOST_GRAPH_POLYHEDRON_HALFEDGE_GRAPH_TRAITS_H
#define CGAL_BOOST_GRAPH_POLYHEDRON_HALFEDGE_GRAPH_TRAITS_H
#ifndef CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_POLYHEDRON_3_H
#define CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_POLYHEDRON_3_H
#include <CGAL/HalfedgeDS_items_decorator.h>
#include <CGAL/boost/graph/graph_traits_Polyhedron.h>
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
#include <CGAL/boost/graph/halfedge_graph_traits.h>
#include <CGAL/boost/graph/halfedge_graph_traits_HalfedgeDS.h>
@ -37,18 +37,18 @@ CGAL_BEGIN_NAMESPACE
// Const versions
//
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
struct Halfedge_graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> const >
struct halfedge_graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> const >
: CGAL::HDS_halfedge_graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> const>
{
};
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
inline std::pair<typename Halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::undirected_edge_iterator
,typename Halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::undirected_edge_iterator
inline std::pair<typename halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::undirected_edge_iterator
,typename halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::undirected_edge_iterator
>
undirected_edges( Polyhedron_3<Gt,I,HDS,A> const& p )
{
typedef typename Halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::undirected_edge_iterator Iter;
typedef typename halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::undirected_edge_iterator Iter;
return std::make_pair( Iter(p.edges_begin()), Iter(p.edges_end()) );
}
@ -105,18 +105,18 @@ next_edge_cw( typename boost::graph_traits< Polyhedron_3<Gt,I,HDS,A> const>::edg
//
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
struct Halfedge_graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> >
struct halfedge_graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> >
: CGAL::HDS_halfedge_graph_traits< CGAL::Polyhedron_3<Gt,I,HDS,A> >
{
};
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
inline std::pair<typename Halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> >::undirected_edge_iterator
,typename Halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> >::undirected_edge_iterator
inline std::pair<typename halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> >::undirected_edge_iterator
,typename halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> >::undirected_edge_iterator
>
undirected_edges( Polyhedron_3<Gt,I,HDS,A>& p )
{
typedef typename Halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> >::undirected_edge_iterator Iter;
typedef typename halfedge_graph_traits< Polyhedron_3<Gt,I,HDS,A> >::undirected_edge_iterator Iter;
return std::make_pair( Iter(p.edges_begin()), Iter(p.edges_end()) );
}
@ -176,4 +176,4 @@ CGAL_END_NAMESPACE
#undef CGAL_HDS_
#endif // CGAL_BOOST_GRAPH_POLYHEDRON_HALFEDGE_GRAPH_TRAITS_H
#endif // CGAL_BOOST_GRAPH_HALFEDGE_GRAPH_TRAITS_POLYHEDRON_3_H

View File

@ -50,6 +50,7 @@
CGAL_BEGIN_NAMESPACE
enum vertex_is_fixed_t { vertex_is_fixed } ;
enum set_cache_policy_t { set_cache_policy } ;
enum get_cost_policy_t { get_cost_policy } ;
enum get_cost_policy_params_t { get_cost_policy_params } ;
@ -63,8 +64,12 @@ CGAL_BEGIN_NAMESPACE
typedef Base next_type;
typedef Tag tag_type;
typedef T value_type;
cgal_bgl_named_params() { }
cgal_bgl_named_params(T v) : m_value(v) { }
cgal_bgl_named_params(T v, const Base& b) : Base(b), m_value(v) { }
T m_value;
template <typename IndexMap>
@ -213,34 +218,34 @@ CGAL_BEGIN_NAMESPACE
}
template <typename GetCost>
cgal_bgl_named_params<GetCost, get_cost_policy_t, self>
get_cost(const GetCost& p) const
cgal_bgl_named_params<GetCost, get_cost_policy_t>
get_cost(const GetCost& p)
{
typedef cgal_bgl_named_params<GetCost, get_cost_policy_t, self> Params;
typedef cgal_bgl_named_params<GetCost, get_cost_policy_t> Params;
return Params(p);
}
template <typename GetCostParams>
cgal_bgl_named_params<GetCostParams, get_cost_policy_params_t, self>
get_cost_params(const GetCostParams& p) const
cgal_bgl_named_params<GetCostParams, get_cost_policy_params_t>
get_cost_params(const GetCostParams& p)
{
typedef cgal_bgl_named_params<GetCostParams, get_cost_policy_params_t, self> Params;
typedef cgal_bgl_named_params<GetCostParams, get_cost_policy_params_t> Params;
return Params(p);
}
template <typename GetPlacement>
cgal_bgl_named_params<GetPlacement, get_placement_policy_t, self>
get_placement(const GetPlacement& p) const
cgal_bgl_named_params<GetPlacement, get_placement_policy_t>
get_placement(const GetPlacement& p)
{
typedef cgal_bgl_named_params<GetPlacement, get_placement_policy_t, self> Params;
typedef cgal_bgl_named_params<GetPlacement, get_placement_policy_t> Params;
return Params(p);
}
template <typename GetPlacementParams>
cgal_bgl_named_params<GetPlacementParams, get_placement_policy_params_t, self>
get_placement_params(const GetPlacementParams& p) const
cgal_bgl_named_params<GetPlacementParams, get_placement_policy_params_t>
get_placement_params(const GetPlacementParams& p)
{
typedef cgal_bgl_named_params<GetPlacementParams, get_placement_policy_params_t, self> Params;
typedef cgal_bgl_named_params<GetPlacementParams, get_placement_policy_params_t> Params;
return Params(p);
}
@ -255,7 +260,7 @@ CGAL_BEGIN_NAMESPACE
boost::property_value< cgal_bgl_named_params<T1,Tag1,Base>, Tag2>::type T2;
T2* t2 = 0;
typedef boost::detail::property_value_dispatch<match> Dispatcher;
return boost::Dispatcher::const_get_value(p, t2, tag2);
return Dispatcher::const_get_value(p, t2, tag2);
}
CGAL_END_NAMESPACE

View File

@ -27,9 +27,11 @@
CGAL_BEGIN_NAMESPACE
enum edge_is_border_t { edge_is_border } ;
enum vertex_is_border_t { vertex_is_border } ;
enum vertex_point_t { vertex_point } ;
enum vertex_is_border_t { vertex_is_border } ;
enum vertex_point_t { vertex_point } ;
enum vertex_external_index_t { vertex_external_index } ;
enum edge_is_border_t { edge_is_border } ;
enum edge_external_index_t { edge_external_index } ;
CGAL_END_NAMESPACE

View File

@ -17,11 +17,11 @@
//
// Author(s): Andreas Fabri <andreas.fabri@geometryfactory.com>, Fernando Cacciola <fernando.cacciola@gmail.com>
#ifndef CGAL_BOOST_GRAPH_PROPERTIES_POLYHEDRON_H
#define CGAL_BOOST_GRAPH_PROPERTIES_POLYHEDRON_H
#ifndef CGAL_BOOST_GRAPH_PROPERTIES_POLYHEDRON_3_H
#define CGAL_BOOST_GRAPH_PROPERTIES_POLYHEDRON_3_H
#include <CGAL/boost/graph/properties.h>
#include <CGAL/boost/graph/graph_traits_Polyhedron.h>
#include <CGAL/boost/graph/graph_traits_Polyhedron_3.h>
#include <CGAL/Unique_hash_map.h>
#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM
@ -136,7 +136,7 @@ public:
Polyhedron_vertex_point_map( Polyhedron& ) {}
reference operator[](key_type const& v) const { return e->point(); }
reference operator[](key_type const& v) const { return v->point(); }
};
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
@ -159,11 +159,11 @@ public:
Polyhedron_vertex_point_const_map( Polyhedron const& ) {}
reference operator[](key_type const& v) const { return e->point(); }
reference operator[](key_type const& v) const { return v->point(); }
};
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
class Polyhedron_vertex_index_map_stored : public boost::put_get_helper<strd::size_t, Polyhedron_vertex_index_map_stored<Gt, I, HDS, A> >
class Polyhedron_vertex_index_map_stored : public boost::put_get_helper<std::size_t, Polyhedron_vertex_index_map_stored<Gt, I, HDS, A> >
{
private:
@ -195,7 +195,7 @@ public:
typedef std::size_t reference;
typedef typename boost::graph_traits<Polyhedron const>::vertex_descriptor key_type;
Polyhedron_edge_index_map_external( Polyhedron const& p)
Polyhedron_vertex_index_map_external( Polyhedron const& p)
: map( p.vertices_begin(),p.vertices_end(),0,std::size_t(-1),p.size_of_vertices() )
{}
@ -233,6 +233,17 @@ struct Polyhedron_property_map<boost::edge_index_t>
};
};
template <>
struct Polyhedron_property_map<edge_external_index_t>
{
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
struct bind_
{
typedef Polyhedron_edge_index_map_external<Gt,I,HDS,A> type;
typedef Polyhedron_edge_index_map_external<Gt,I,HDS,A> const_type;
};
};
template <>
struct Polyhedron_property_map<edge_is_border_t>
{
@ -244,17 +255,6 @@ struct Polyhedron_property_map<edge_is_border_t>
};
};
template <>
struct Polyhedron_property_map<vertex_is_border_t>
{
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
struct bind_
{
typedef Polyhedron_vertex_is_border_map<Gt,I,HDS,A> type;
typedef Polyhedron_vertex_is_border_map<Gt,I,HDS,A> const_type;
};
};
template <>
struct Polyhedron_property_map<vertex_point_t>
{
@ -277,6 +277,17 @@ struct Polyhedron_property_map<boost::vertex_index_t>
};
};
template <>
struct Polyhedron_property_map<vertex_external_index_t>
{
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
struct bind_
{
typedef Polyhedron_vertex_index_map_external<Gt,I,HDS,A> type;
typedef Polyhedron_vertex_index_map_external<Gt,I,HDS,A> const_type;
};
};
CGAL_END_NAMESPACE
namespace boost
@ -308,9 +319,9 @@ CGAL::Polyhedron_edge_index_map_stored<Gt,I,HDS,A> get( edge_index_t, CGAL::Poly
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
inline
CGAL::Polyhedron_vertex_is_border_map<Gt,I,HDS,A> get(CGAL::vertex_is_border_t, CGAL::Polyhedron_3<Gt,I,HDS,A> const& p)
CGAL::Polyhedron_edge_index_map_external<Gt,I,HDS,A> get( CGAL::edge_external_index_t, CGAL::Polyhedron_3<Gt,I,HDS,A> const& p)
{
CGAL::Polyhedron_vertex_is_border_map<Gt,I,HDS,A> m(p);
CGAL::Polyhedron_edge_index_map_external<Gt,I,HDS,A> m(p);
return m;
}
@ -338,6 +349,14 @@ CGAL::Polyhedron_vertex_index_map_stored<Gt,I,HDS,A> get(vertex_index_t, CGAL::P
return m;
}
template<class Gt, class I, CGAL_HDS_PARAM_, class A>
inline
CGAL::Polyhedron_vertex_index_map_external<Gt,I,HDS,A> get(CGAL::vertex_external_index_t, CGAL::Polyhedron_3<Gt,I,HDS,A> const& p)
{
CGAL::Polyhedron_vertex_index_map_external<Gt,I,HDS,A> m(p);
return m;
}
template<class Gt, class I, CGAL_HDS_PARAM_, class A, class Tag>
struct property_map<CGAL::Polyhedron_3<Gt,I,HDS,A>, Tag>
@ -390,4 +409,4 @@ struct vertex_property_type<CGAL::Polyhedron_3<Gt,I,HDS,A> >
#undef CGAL_HDS_PARAM_
#endif // CGAL_BOOST_GRAPH_POLYHEDRON_BGL_PROPERTIES_H
#endif // CGAL_BOOST_GRAPH_PROPERTIES_POLYHEDRON_3_H