clean up example of face_graph.cpp

This commit is contained in:
Andreas Fabri 2014-12-15 14:11:59 +01:00
parent 9f6807b005
commit 2ccc5e5b59
1 changed files with 0 additions and 59 deletions

View File

@ -6,10 +6,7 @@
#include <boost/graph/filtered_graph.hpp>
#include <boost/foreach.hpp>
#include <CGAL/Surface_mesh_simplification/edge_collapse.h>
#include <CGAL/Surface_mesh_simplification/Policies/Edge_collapse/Count_stop_predicate.h>
#include <CGAL/use.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel Epic;
typedef CGAL::Projection_traits_xy_3<Epic> K;
@ -17,47 +14,7 @@ typedef K::Point_2 Point;
typedef CGAL::Triangulation_2<K> Triangulation;
namespace SMS = CGAL::Surface_mesh_simplification;
namespace CGAL {
namespace Euler {
template<typename K>
typename boost::graph_traits<Triangulation_2<K> >::vertex_descriptor
collapse_edge(typename boost::graph_traits<Triangulation_2<K> >::edge_descriptor v0v1,
Triangulation_2<K>& g)
{
return g.collapse_edge(v0v1);
}
} // namespace Euler
} // namespace CGAL
// As we want to run Dijskra's shortest path algorithm we only
// consider finite vertices and edges.
template <typename T>
struct Is_finite {
const T* t_;
Is_finite()
: t_(NULL)
{}
Is_finite(const T& t)
: t_(&t)
{ }
template <typename VertexOrEdge>
bool operator()(const VertexOrEdge& voe) const {
return ! t_->is_infinite(voe);
}
};
typedef Is_finite<Triangulation> Filter;
//typedef boost::filtered_graph<Triangulation,Filter,Filter> Finite_triangulation;
// TODO: introduce CGAL::Filtered_face_graph, as filtered_graph does not know Halfedge/Face
typedef boost::graph_traits<Triangulation>::vertex_descriptor vertex_descriptor;
typedef boost::graph_traits<Triangulation>::halfedge_descriptor halfedge_descriptor;
typedef boost::graph_traits<Triangulation>::halfedge_iterator halfedge_iterator;
@ -83,8 +40,6 @@ int
main(int,char*[])
{
Triangulation t;
//Filter is_finite(t);
//Finite_triangulation ft(t, is_finite, is_finite);
t.insert(Point(0.1,0,1));
t.insert(Point(1,0,1));
@ -154,20 +109,6 @@ main(int,char*[])
}
SMS::Count_stop_predicate<Triangulation> stop(5);
// This the actual call to the simplification algorithm.
// The surface and stop conditions are mandatory arguments.
// The index maps are needed because the vertices and edges
// of this surface lack an "id()" field.
SMS::edge_collapse
(t
,stop
,CGAL::vertex_index_map(vertex_index_pmap)
.halfedge_index_map (halfedge_index_pmap)
);
ppmap[*(++vertices(t).first)] = Point(78,1,2);
std::cout << " changed point of vertex " << ppmap[*(++vertices(t).first)] << std::endl;