- 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 false
query
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