|
CGAL 4.10.1 - Point Set Processing
|
#include <CGAL/structure_point_set.h>
A 3D point set with structure information based on a set of detected planes.
Given a point set in 3D space along with a set of fitted planes, this class stores a simplified and structured version of the point set. Each output point is assigned to one, two or more primitives (depending wether it belongs to a planar section, an edge or a if it is a vertex). The implementation follow [5].
| Traits | a model of EfficientRANSACTraits that must provide in addition a function Intersect_3 intersection_3_object() const and a functor Intersect_3 with:
|
Public Types | |
| enum | Coherence_type { INCOHERENT = -1, FREEFORM = 0, VERTEX = 1, CREASE = 2, PLANAR = 3 } |
| Tag classifying the coherence of a triplet of points with respect to an inferred surface. More... | |
| typedef Traits::Point_3 | Point |
| typedef Traits::Vector_3 | Vector |
| typedef Traits::Point_map | Point_map |
| typedef Traits::Normal_map | Normal_map |
| typedef Traits::Input_range | Input_range |
| typedef Input_range::iterator | Input_iterator |
|
typedef Shape_detection_3::Plane < Traits > | Plane_shape |
Public Member Functions | |
| Point_set_with_structure (Input_iterator begin, Input_iterator end, Point_map point_map, Normal_map normal_map, const Shape_detection_3::Efficient_RANSAC< Traits > &shape_detection, double epsilon, double attraction_factor=3.) | |
| Constructs a structured point set based on the input points and the associated shape detection object. More... | |
| std::size_t | size () const |
| std::pair< Point, Vector > | operator[] (std::size_t i) const |
| const Point & | point (std::size_t i) const |
| const Vector & | normal (std::size_t i) const |
| std::vector< boost::shared_ptr < Plane_shape > > | adjacency (std::size_t i) const |
Returns all Plane_shape objects that are adjacent to the point with index i. More... | |
| Coherence_type | facet_coherence (const CGAL::cpp11::array< std::size_t, 3 > &f) const |
Computes the coherence of a facet between the 3 points indexed by f with respect to the underlying structure. | |
| enum CGAL::Point_set_with_structure::Coherence_type |
Tag classifying the coherence of a triplet of points with respect to an inferred surface.
| CGAL::Point_set_with_structure< Traits >::Point_set_with_structure | ( | Input_iterator | begin, |
| Input_iterator | end, | ||
| Point_map | point_map, | ||
| Normal_map | normal_map, | ||
| const Shape_detection_3::Efficient_RANSAC< Traits > & | shape_detection, | ||
| double | epsilon, | ||
| double | attraction_factor = 3. |
||
| ) |
Constructs a structured point set based on the input points and the associated shape detection object.
| begin | iterator over the first input point. |
| end | past-the-end iterator over the input points. |
| point_map | property map: value_type of InputIterator -> Point_3. |
| normal_map | property map: value_type of InputIterator -> Vector_3. |
| shape_detection | shape detection object |
| epsilon | size parameter |
| attraction_factor | attraction factor |
| std::vector<boost::shared_ptr<Plane_shape> > CGAL::Point_set_with_structure< Traits >::adjacency | ( | std::size_t | i) | const |
Returns all Plane_shape objects that are adjacent to the point with index i.