CGAL 6.0 - Shape Detection
|
A concept that describes the set of methods used by the CGAL::Shape_detection::Region_growing
to maintain a region.
A region is represented by a set items, which are included in this region.
CGAL::Shape_detection::Point_set::Least_squares_line_fit_region
CGAL::Shape_detection::Point_set::Least_squares_circle_fit_region
CGAL::Shape_detection::Point_set::Least_squares_plane_fit_region
CGAL::Shape_detection::Point_set::Least_squares_sphere_fit_region
CGAL::Shape_detection::Point_set::Least_squares_cylinder_fit_region
CGAL::Shape_detection::Segment_set::Least_squares_line_fit_region
CGAL::Shape_detection::Polygon_mesh::Least_squares_plane_fit_region
Public Types | |
typedef unspecified_type | Primitive |
The parameters of the primitive covering the region. | |
typedef unspecified_type | Item |
The reference type to the elements of the input range, e.g., a const_iterator of the input range. | |
typedef std::vector< Item > | Region |
typedef unspecified_type | Region_index_map |
a model of ReadWritePropertyMap whose key type is Item and value type is std::size_t . | |
Public Member Functions | |
bool | is_part_of_region (const Item i, const Region ®ion) |
checks if the item i can be added to the region represented by region . | |
bool | is_valid_region (const Region ®ion) |
checks if region satisfies all necessary conditions. | |
Primitive | primitive () const |
provides the last primitive that has been fitted with the region. | |
bool | update (const Region ®ion) |
enables to update any information about the region represented by the collection of Items region . | |
a model of ReadWritePropertyMap
whose key type is Item
and value type is std::size_t
.
This map associates item of the input range to the index of the region it belongs to.
bool RegionType::is_part_of_region | ( | const Item | i, |
const Region & | region | ||
) |
checks if the item i
can be added to the region represented by region
.
CGAL::Shape_detection::Region_growing
calls this function each time when trying to add a new item to a region. If this function returns true
, the item with the index i
, is added to the region, otherwise ignored.
bool RegionType::is_valid_region | ( | const Region & | region | ) |
checks if region
satisfies all necessary conditions.
CGAL::Shape_detection::Region_growing
calls this function at the end of each propagation phase. If this function returns true
, the region is accepted, otherwise rejected. If the region is rejected, all its items are released and available for region growing again.
bool RegionType::update | ( | const Region & | region | ) |
enables to update any information about the region represented by the collection of Items region
.
CGAL::Shape_detection::Region_growing
calls this function each time when a new seed item is selected. This case can be identified by checking the condition region.size() == 1
. This function is also called periodically when enlarging the region. This case can be identified by checking the condition region.size() > 1
.
This function also returns a Boolean at the first call when a new region with one seed item is being created. When it is true
, the new region is further propagated, otherwise, it is rejected.