fix compilation issues

This commit is contained in:
Sébastien Loriot 2014-06-05 17:01:59 +02:00
parent ffc619f871
commit 8b88547955
4 changed files with 10 additions and 12 deletions

View File

@ -133,9 +133,7 @@ struct One_point_from_facet_handle_property_map{
: m_graph( const_cast<typename boost::remove_const<FaceGraph>::type*>(g) ) : m_graph( const_cast<typename boost::remove_const<FaceGraph>::type*>(g) )
{} {}
template <class FaceGraph, One_point_from_facet_handle_property_map(FaceGraph* g, VertexPointPMap vppm )
class VertexPointPMap>
One_point_from_facet_handle_property_map(FaceGraph* gm, VertexPointPMap vppm )
: m_graph( const_cast<typename boost::remove_const<FaceGraph>::type*>(g) ), : m_graph( const_cast<typename boost::remove_const<FaceGraph>::type*>(g) ),
m_vppm(vppm) m_vppm(vppm)
{} {}

View File

@ -225,7 +225,7 @@ template<class Polyhedron>
class Neighbor_selector_by_edge class Neighbor_selector_by_edge
{ {
private: private:
typedef Halfedge_around_face_circulator<Polyhedron> Halfedge_around_face_circulator; typedef ::CGAL::Halfedge_around_face_circulator<Polyhedron> Halfedge_around_face_circulator;
public: public:
typedef typename boost::graph_traits<Polyhedron>::face_descriptor face_descriptor; typedef typename boost::graph_traits<Polyhedron>::face_descriptor face_descriptor;
/** /**
@ -275,7 +275,7 @@ template<class Polyhedron>
class Neighbor_selector_by_vertex class Neighbor_selector_by_vertex
{ {
private: private:
typedef Halfedge_around_target_circulator<Polyhedron> Halfedge_around_target_circulator; typedef ::CGAL::Halfedge_around_target_circulator<Polyhedron> Halfedge_around_target_circulator;
typedef typename boost::graph_traits<Polyhedron>::halfedge_iterator halfedge_iterator; typedef typename boost::graph_traits<Polyhedron>::halfedge_iterator halfedge_iterator;
typedef typename boost::graph_traits<Polyhedron>::vertex_iterator vertex_iterator; typedef typename boost::graph_traits<Polyhedron>::vertex_iterator vertex_iterator;
public: public:
@ -304,12 +304,12 @@ public:
const Facet_level_pair& pair = facet_queue.front(); const Facet_level_pair& pair = facet_queue.front();
face_descriptor facet_front = pair.first; face_descriptor facet_front = pair.first;
halfedge_iterator edge = halfedge(facet_front,polyhedron) halfedge_iterator edge = halfedge(facet_front,polyhedron);
do { // loop on three vertices of the facet do { // loop on three vertices of the facet
Halfedge_around_target_circulator vertex_circulator(*edge,polyhedron), done(vertex_circulator); Halfedge_around_target_circulator vertex_circulator(*edge,polyhedron), done(vertex_circulator);
do { // for each vertex loop on incoming edges (through those edges loop on neighbor facets which includes the vertex) do { // for each vertex loop on incoming edges (through those edges loop on neighbor facets which includes the vertex)
if(!(face(*vertex_circulator,polyhedron) == graph_traits<Polyhedron::null_face())) { if(!(face(*vertex_circulator,polyhedron) == boost::graph_traits<Polyhedron>::null_face())) {
Facet_level_pair new_pair(face(opposite(*vertex_circulator),polyhedron,polyhedron), Facet_level_pair new_pair(face(opposite(*vertex_circulator),polyhedron,polyhedron),
pair.second + 1); pair.second + 1);
if(neighbors.insert(new_pair).second if(neighbors.insert(new_pair).second

View File

@ -89,7 +89,7 @@ public:
continue; continue;
} }
typename Halfedge_around_face_circulator<Polyhedron> facet_circulator(halfedge(*facet_it,mesh),mesh), done(facet_circulator); Halfedge_around_face_circulator<Polyhedron> facet_circulator(halfedge(*facet_it,mesh),mesh), done(facet_circulator);
double total_neighbor_sdf = 0.0; double total_neighbor_sdf = 0.0;
std::size_t nb_valid_neighbors = 0; std::size_t nb_valid_neighbors = 0;
@ -513,7 +513,7 @@ private:
while(!facet_queue.empty()) { while(!facet_queue.empty()) {
face_descriptor facet = facet_queue.front(); face_descriptor facet = facet_queue.front();
typename Halfedge_around_face_circulator<Polyhedron> facet_circulator(halfedge(facet,mesh),mesh), done(facet_circulator); Halfedge_around_face_circulator<Polyhedron> facet_circulator(halfedge(facet,mesh),mesh), done(facet_circulator);
do { do {
if(face(opposite(*facet_circulator,mesh),mesh)==boost::graph_traits<Polyhedron>::null_face()) { if(face(opposite(*facet_circulator,mesh),mesh)==boost::graph_traits<Polyhedron>::null_face()) {
continue; // no facet to traversal continue; // no facet to traversal

View File

@ -42,7 +42,7 @@ sdf_values( const Polyhedron& polyhedron,
bool postprocess = true, bool postprocess = true,
GeomTraits traits = GeomTraits()) GeomTraits traits = GeomTraits())
{ {
typedef boost::property_map<Polyhedron, vertex_point_t>::type VPMap; typedef typename boost::property_map<Polyhedron, vertex_point_t>::type VPMap;
VPMap vpm = get(vertex_point,const_cast<Polyhedron&>(polyhedron)); VPMap vpm = get(vertex_point,const_cast<Polyhedron&>(polyhedron));
internal::Surface_mesh_segmentation<Polyhedron, GeomTraits, VPMap,Fast_sdf_calculation_mode> internal::Surface_mesh_segmentation<Polyhedron, GeomTraits, VPMap,Fast_sdf_calculation_mode>
algorithm(polyhedron, traits,vpm); algorithm(polyhedron, traits,vpm);
@ -176,7 +176,7 @@ segmentation_from_sdf_values( const Polyhedron& polyhedron,
bool output_cluster_ids = false, bool output_cluster_ids = false,
GeomTraits traits = GeomTraits()) GeomTraits traits = GeomTraits())
{ {
typedef boost::property_map<Polyhedron, boost::vertex_point_t>::type VPMap; typedef typename boost::property_map<Polyhedron, boost::vertex_point_t>::type VPMap;
internal::Surface_mesh_segmentation<Polyhedron, GeomTraits, VPMap> algorithm( internal::Surface_mesh_segmentation<Polyhedron, GeomTraits, VPMap> algorithm(
polyhedron, traits, get(vertex_point,const_cast<Polyhedron&>(polyhedron))); polyhedron, traits, get(vertex_point,const_cast<Polyhedron&>(polyhedron)));
return algorithm.partition(number_of_clusters, smoothing_lambda, sdf_values_map, return algorithm.partition(number_of_clusters, smoothing_lambda, sdf_values_map,
@ -200,7 +200,7 @@ segmentation_via_sdf_values(const Polyhedron& polyhedron,
bool output_cluster_ids = false, bool output_cluster_ids = false,
GeomTraits traits = GeomTraits()) GeomTraits traits = GeomTraits())
{ {
typedef boost::graph_traits<Polyhedron>::face_descriptor face_descriptor; typedef typename boost::graph_traits<Polyhedron>::face_descriptor face_descriptor;
typedef std::map<face_descriptor, double> typedef std::map<face_descriptor, double>
Facet_double_map; Facet_double_map;
Facet_double_map internal_sdf_map; Facet_double_map internal_sdf_map;