CGAL 4.10 - 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
.