#include <CGAL/Surface_mesh_approximation/L2_metric_plane_proxy.h>
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 |
|
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. More...
|
|
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. More...
|
|
|
typedef GeomTraits::Plane_3 | Proxy |
| Proxy type.
|
|
◆ 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>
Constructor.
- Parameters
-
tm | triangle mesh |
vpmap | vertex point map |
◆ 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>
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 >
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