- the maximum distance from the furthest vertex of a face to a plane
-
Type:
GeomTraits::FT - Default: 1
|
CGAL 6.0 - Shape Detection
|
#include <CGAL/Shape_detection/Region_growing/Polygon_mesh/Least_squares_plane_fit_region.h>
Region type based on the quality of the least squares plane fit applied to faces of a polygon mesh.
This class fits a plane, using PCA, to chunks of faces in a polygon mesh and controls the quality of this fit. If all quality conditions are satisfied, the chunk is accepted as a valid region, otherwise rejected.
| GeomTraits | a model of Kernel |
| PolygonMesh | a model of FaceListGraph |
| VertexToPointMap | a model of ReadablePropertyMap whose key type is the vertex type of a polygon mesh and value type is Kernel::Point_3 |
RegionType Types | |
| typedef GeomTraits::FT | FT |
| Number type. | |
| using | Item = face_descriptor |
| Item type. | |
| using | Region = std::vector< Item > |
| using | Primitive = typename GeomTraits::Plane_3 |
| Primitive. | |
| using | Region_index_map = typename boost::property_map< Face_graph, CGAL::dynamic_face_property_t< std::size_t > >::const_type |
| Region map. | |
Initialization | |
| template<typename NamedParameters = CGAL::parameters::Default_named_parameters> | |
| Least_squares_plane_fit_region (const PolygonMesh &pmesh, const NamedParameters &np=parameters::default_values()) | |
| initializes all internal data structures. | |
Access | |
| Region_index_map | region_index_map () |
implements RegionType::region_index_map(). | |
| Primitive | primitive () const |
implements RegionType::primitive(). | |
| bool | is_part_of_region (const Item query, const Region &) const |
implements RegionType::is_part_of_region(). | |
| bool | is_valid_region (const Region ®ion) const |
implements RegionType::is_valid_region(). | |
| bool | update (const Region ®ion) |
implements RegionType::update(). | |
| CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region< GeomTraits, PolygonMesh, VertexToPointMap >::Least_squares_plane_fit_region | ( | const PolygonMesh & | pmesh, |
| const NamedParameters & | np = parameters::default_values() |
||
| ) |
initializes all internal data structures.
| NamedParameters | a sequence of Named Parameters |
| pmesh | an instance of PolygonMesh that represents a polygon mesh |
| np | a sequence of Named Parameters among the ones listed below |
| |
| |
| |
| |
| |
|
faces(tmesh).size() > 0 maximum_distance >= 0 maximum_angle >= 0 && maximum_angle <= 90 cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1 minimum_region_size > 0 | bool CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region< GeomTraits, PolygonMesh, VertexToPointMap >::is_part_of_region | ( | const Item | query, |
| const Region & | |||
| ) | const |
implements RegionType::is_part_of_region().
This function controls if the face query is within the maximum_distance from the corresponding plane and if the angle between its normal and the plane's normal is within the maximum_angle. If both conditions are satisfied, it returns true, otherwise false.
| query | Item of the query face |
The last parameter is not used in this implementation.
true or falsequery is a valid const_iterator of input_range | bool CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region< GeomTraits, PolygonMesh, VertexToPointMap >::is_valid_region | ( | const Region & | region | ) | const |
implements RegionType::is_valid_region().
This function controls if the region contains at least minimum_region_size faces.
| region | Faces of the region represented as Items. |
true or false | Primitive CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region< GeomTraits, PolygonMesh, VertexToPointMap >::primitive | ( | ) | const |
implements RegionType::primitive().
This function provides the last primitive that has been fitted with the region.
successful fitted primitive via successful call of update(region) with a sufficient large region | Region_index_map CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region< GeomTraits, PolygonMesh, VertexToPointMap >::region_index_map | ( | ) |
implements RegionType::region_index_map().
This function creates an empty property map that maps each face to a std::size_t
| bool CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region< GeomTraits, PolygonMesh, VertexToPointMap >::update | ( | const Region & | region | ) |
implements RegionType::update().
This function fits the least squares plane to all vertices of the faces from the region.
| region | Faces of the region represented as Items. |
true if the plane fitting succeeded and false otherwiseregion.size() > 0