- the maximum distance from a point to a sphere
-
Type:
GeomTraits::FT - Default: 1
|
CGAL 6.0 - Shape Detection
|
#include <CGAL/Shape_detection/Region_growing/Point_set/Least_squares_sphere_fit_region.h>
Region type based on the quality of the least squares sphere fit applied to 3D points.
This class fits a sphere to chunks of points in a 3D point set 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 |
| Item_ | a descriptor representing a given point. Must be a model of Hashable. |
| PointMap | a model of ReadablePropertyMap whose key type is the value type of the input range and value type is Kernel::Point_3 |
| NormalMap | a model of ReadablePropertyMap whose key type is the value type of the input range and value type is Kernel::Vector_3 |
RegionType Related Functions | |
(Note that these are not member functions.) | |
| template<class PointSet3 > | |
| using | Least_squares_sphere_fit_region_for_point_set = Least_squares_sphere_fit_region< typename Kernel_traits< typename PointSet3::Point_3 >::Kernel, typename PointSet3::Index, typename PointSet3::Point_map, typename PointSet3::Vector_map > |
shortcut to ease the definition of the class when using CGAL::Point_set_3. | |
| template<class PointSet3 , typename NamedParameters = CGAL::parameters::Default_named_parameters> | |
| Least_squares_sphere_fit_region_for_point_set< PointSet3 > | make_least_squares_sphere_fit_region (const PointSet3 &ps, const NamedParameters np=parameters::default_values()) |
returns an instance of the sorting class to be used with CGAL::Point_set_3, with point and normal maps added to np. | |
Types | |
| typedef GeomTraits::FT | FT |
| Number type. | |
| using | Item = Item_ |
| Item type. | |
| using | Region = std::vector< Item > |
| using | Primitive = typename GeomTraits::Sphere_3 |
| Primitive. | |
| using | Region_unordered_map = std::unordered_map< Item, std::size_t, internal::hash_item< Item > > |
| Region map. | |
| using | Region_index_map = boost::associative_property_map< Region_unordered_map > |
Initialization | |
| template<typename NamedParameters = CGAL::parameters::Default_named_parameters> | |
| Least_squares_sphere_fit_region (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 ®ion) 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::Point_set::Least_squares_sphere_fit_region< GeomTraits, Item_, PointMap, NormalMap >::Least_squares_sphere_fit_region | ( | const NamedParameters & | np = parameters::default_values() | ) |
initializes all internal data structures.
| NamedParameters | a sequence of Named Parameters |
| np | a sequence of Named Parameters among the ones listed below |
| |
| |
| |
| |
| |
| |
| |
| |
|
maximum_distance >= 0 maximum_angle >= 0 && maximum_angle <= 90 cosine_of_maximum_angle >= 0 && cosine_of_maximum_angle <= 1 minimum_region_size > 0 minimum_radius >= 0 maximum_radius >= minimum_radius | bool CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region< GeomTraits, Item_, PointMap, NormalMap >::is_part_of_region | ( | const Item | query, |
| const Region & | region | ||
| ) | const |
implements RegionType::is_part_of_region().
This function controls if a point with the index query_index is within the maximum_distance from the corresponding sphere and if the angle between its normal and the sphere radius is within the maximum_angle. If both conditions are satisfied, it returns true, otherwise false.
| query | item of the query point |
| region | inlier items of the region |
true or false | bool CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region< GeomTraits, Item_, PointMap, NormalMap >::is_valid_region | ( | const Region & | region | ) | const |
implements RegionType::is_valid_region().
This function controls if the estimated radius is between minimum_radius and maximum_radius and if the region contains at least min_region_size points.
| region | indices of points included in the region |
true or false | Primitive CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region< GeomTraits, Item_, PointMap, NormalMap >::primitive | ( | ) | const |
implements RegionType::primitive().
This function provides the last primitive that has been fitted with the region.
fitted primitive via successful call of update(region) with a sufficient large region | Region_index_map CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region< GeomTraits, Item_, PointMap, NormalMap >::region_index_map | ( | ) |
implements RegionType::region_index_map().
This function creates an empty property map that maps iterators on the input range Item to std::size_t
| bool CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region< GeomTraits, Item_, PointMap, NormalMap >::update | ( | const Region & | region | ) |
implements RegionType::update().
This function fits the least squares sphere to all points from the region.
| region | indices of points included in the region |
true if the sphere fitting succeeded and false otherwiseregion.size() > 0