Skip to content

Commit

Permalink
simplify PCAPlaneFitting
Browse files Browse the repository at this point in the history
  • Loading branch information
aboudev committed Jul 25, 2017
1 parent dbba1ed commit ce6cff8
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
Expand Up @@ -353,7 +353,7 @@ void Scene::l2_approximation(
typedef CGAL::PlaneProxy<Polyhedron> PlaneProxy;
typedef CGAL::L2Metric<PlaneProxy, FacetAreaMap, VertexPointMap, Polyhedron> L2Metric;
typedef CGAL::L2ProxyFitting<PlaneProxy, L2Metric, Polyhedron, VertexPointMap, FacetAreaMap> L2ProxyFitting;
typedef CGAL::PCAPlaneFitting<Polyhedron, VertexPointMap, FacetAreaMap> PCAPlaneFitting;
typedef CGAL::PCAPlaneFitting<Polyhedron> PCAPlaneFitting;
typedef CGAL::L2ApproximationTrait<Polyhedron, PlaneProxy, L2Metric, L2ProxyFitting, PCAPlaneFitting, VertexPointMap, FacetAreaMap> L2ApproximationTrait;

if(!m_pPolyhedron)
Expand Down
Expand Up @@ -336,8 +336,8 @@ template<typename PlaneProxy,
};

template<typename TriangleMesh,
typename VertexPointMap,
typename FacetAreaMap,
typename VertexPointMap
= typename boost::property_map<TriangleMesh, boost::vertex_point_t>::type,
typename GeomTraits = typename TriangleMesh::Traits>
struct PCAPlaneFitting
{
Expand All @@ -348,14 +348,18 @@ template<typename TriangleMesh,
typedef typename GeomTraits::Construct_scaled_vector_3 Construct_scaled_vector_3;
typedef typename boost::graph_traits<TriangleMesh>::halfedge_descriptor halfedge_descriptor;

PCAPlaneFitting(const TriangleMesh &_mesh,
const VertexPointMap &_point_pmap,
const FacetAreaMap &_area_pmap)
PCAPlaneFitting(const TriangleMesh &_mesh, const VertexPointMap &_point_pmap)
: mesh(_mesh), point_pmap(_point_pmap) {
GeomTraits traits;
scale_functor = traits.construct_scaled_vector_3_object();
}

PCAPlaneFitting(const TriangleMesh &_mesh)
: mesh(_mesh),
point_pmap(_point_pmap) {
GeomTraits traits;
scale_functor = traits.construct_scaled_vector_3_object();
}
point_pmap(get(boost::vertex_point, const_cast<TriangleMesh &>(_mesh))) {
GeomTraits traits;
scale_functor = traits.construct_scaled_vector_3_object();
}

template<typename FacetIterator>
Plane_3 operator()(const FacetIterator beg, const FacetIterator end) {
Expand Down Expand Up @@ -431,7 +435,7 @@ template<typename TriangleMesh,

// construct plane fitting functor
PlaneFitting construct_plane_fitting_functor() const {
return PlaneFitting(mesh, point_pmap, area_pmap);
return PlaneFitting(mesh, point_pmap);
}

private:
Expand Down

0 comments on commit ce6cff8

Please sign in to comment.