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 whether it belongs to a planar section, an edge or a if it is a vertex). The implementation follow [6].
- Template Parameters
-
Kernel | a model of EfficientRANSACTraits that must provide in addition a function Intersect_3 intersection_3_object() const and a functor Intersect_3 with:
boost::optional< boost::variant< Traits::Plane_3, Traits::Line_3 > > operator()(typename Traits::Plane_3, typename Traits::Plane_3)
boost::optional< boost::variant< Traits::Line_3, Traits::Point_3 > > operator()(typename Traits::Line_3, typename Traits::Plane_3)
|
|
template<typename PointRange , typename PlaneRange , typename NamedParameters > |
| Point_set_with_structure (const PointRange &points, const PlaneRange &planes, double epsilon, const NamedParameters &np) |
| 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 |
|
template<typename OutputIterator > |
void | adjacency (std::size_t i, OutputIterator output) const |
| Returns all Plane_shape objects that are adjacent to the point with index i . More...
|
|
Coherence_type | facet_coherence (const std::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.
|
|