CGAL 6.1 - Triangulated Surface Mesh Approximation

Loading...
Searching...
No Matches
List of all members | Public Member Functions
CGAL::Surface_mesh_approximation::L2_metric_plane_proxy< TriangleMesh, VertexPointMap, GeomTraits > Class Template Reference
Reference Manual

`#include <CGAL/Surface_mesh_approximation/L2_metric_plane_proxy.h>`

## Definition

template<typename TriangleMesh, typename VertexPointMap = typename boost::property_map<TriangleMesh, boost::vertex_point_t>::type, typename GeomTraits = typename Kernel_traits<typename boost::property_traits<VertexPointMap>::value_type>::Kernel>
class CGAL::Surface_mesh_approximation::L2_metric_plane_proxy< TriangleMesh, VertexPointMap, GeomTraits >

Approximation L2 metric of plane proxy.

Is model of
  `ErrorMetricProxy`

Template Parameters

  TriangleMesh | a triangle `FaceGraph`
  VertexPointMap | a class model of `ReadablePropertyMap` with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type, GeomTraits::Point_3 as value type
  GeomTraits | a model of Kernel

## Public Member Functions
FT | compute_error (const face_descriptor f, const TriangleMesh &tm, const Proxy &px) const
| computes the L21 error from a face to a proxy, using integral (closed-form) computation.
template<typename FaceRange >
Proxy | fit_proxy (const FaceRange &faces, const TriangleMesh &tm) const
| fits a proxy from a range of faces, in the L2 sense, with an integral (closed-form) formulation.

## Types
typedef GeomTraits::Plane_3 | Proxy
| Proxy type.

## Constructor
| L2_metric_plane_proxy (const TriangleMesh &tm, const VertexPointMap &vpmap)
| Constructor.

## Constructor & Destructor Documentation

## ◆ L2_metric_plane_proxy()

template<typename TriangleMesh , typename VertexPointMap = typename boost::property_map<TriangleMesh, boost::vertex_point_t>::type, typename GeomTraits = typename Kernel_traits<typename boost::property_traits<VertexPointMap>::value_type>::Kernel>

CGAL::Surface_mesh_approximation::L2_metric_plane_proxy< TriangleMesh, VertexPointMap, GeomTraits >::L2_metric_plane_proxy | ( | const TriangleMesh & | tm,
|  | const VertexPointMap & | vpmap
| ) |  |

Constructor.

Parameters

  tm | triangle mesh
  vpmap | vertex point map

## Member Function Documentation

## ◆ compute_error()

template<typename TriangleMesh , typename VertexPointMap = typename boost::property_map<TriangleMesh, boost::vertex_point_t>::type, typename GeomTraits = typename Kernel_traits<typename boost::property_traits<VertexPointMap>::value_type>::Kernel>

FT CGAL::Surface_mesh_approximation::L2_metric_plane_proxy< TriangleMesh, VertexPointMap, GeomTraits >::compute_error | ( | const face_descriptor | f,
|  | const TriangleMesh & | tm,
|  | const Proxy & | px
| ) |  | const

computes the L21 error from a face to a proxy, using integral (closed-form) computation.

Parameters

  tm | input triangle mesh
  f | face_descriptor of a face
  px | proxy

Returns
  computed error

## ◆ fit_proxy()

template<typename TriangleMesh , typename VertexPointMap = typename boost::property_map<TriangleMesh, boost::vertex_point_t>::type, typename GeomTraits = typename Kernel_traits<typename boost::property_traits<VertexPointMap>::value_type>::Kernel>
template<typename FaceRange >

Proxy CGAL::Surface_mesh_approximation::L2_metric_plane_proxy< TriangleMesh, VertexPointMap, GeomTraits >::fit_proxy | ( | const FaceRange & | faces,
|  | const TriangleMesh & | tm
| ) |  | const

fits a proxy from a range of faces, in the L2 sense, with an integral (closed-form) formulation.

The best-fit plane passes through the center of mass and is defined by the two principal components of the integral covariance matrix.

Template Parameters

  FaceRange | range of face descriptors, model of Range.

Parameters

  faces | the range of faces to be fitted
  tm | input triangle mesh

Returns
  fitted proxy