rename traits

This commit is contained in:
Sébastien Loriot 2015-03-26 22:54:42 +01:00
parent 9958f98341
commit 63eb246f93
10 changed files with 91 additions and 91 deletions

View File

@ -35,17 +35,17 @@
- `EfficientRANSACTraits` - `EfficientRANSACTraits`
## Main Classes ## ## Main Classes ##
- `CGAL::Shape_detection_3::Efficient_RANSAC<ERTraits>` - `CGAL::Shape_detection_3::Efficient_RANSAC<Traits>`
- `CGAL::Shape_detection_3::Efficient_RANSAC_traits` - `CGAL::Shape_detection_3::Efficient_RANSAC_traits`
## Shape Interface ## ## Shape Interface ##
- `CGAL::Shape_detection_3::Shape_base<ERTraits>` - `CGAL::Shape_detection_3::Shape_base<Traits>`
## Shape Classes ## ## Shape Classes ##
- `CGAL::Shape_detection_3::Plane<ERTraits>` - `CGAL::Shape_detection_3::Plane<Traits>`
- `CGAL::Shape_detection_3::Sphere<ERTraits>` - `CGAL::Shape_detection_3::Sphere<Traits>`
- `CGAL::Shape_detection_3::Cylinder<ERTraits>` - `CGAL::Shape_detection_3::Cylinder<Traits>`
- `CGAL::Shape_detection_3::Cone<ERTraits>` - `CGAL::Shape_detection_3::Cone<Traits>`
- `CGAL::Shape_detection_3::Torus<ERTraits>` - `CGAL::Shape_detection_3::Torus<Traits>`
*/ */

View File

@ -7,14 +7,14 @@
My_Plane derives from Shape_base. The plane is represented by My_Plane derives from Shape_base. The plane is represented by
its normal vector and distance to the origin. its normal vector and distance to the origin.
*/ */
template <class ERTraits> template <class Traits>
class My_Plane : public CGAL::Shape_detection_3::Shape_base<ERTraits> { class My_Plane : public CGAL::Shape_detection_3::Shape_base<Traits> {
public: public:
typedef typename ERTraits::Geom_traits::FT FT;///< number type. typedef typename Traits::Geom_traits::FT FT;///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point;///< point type. typedef typename Traits::Geom_traits::Point_3 Point;///< point type.
public: public:
My_Plane() : Shape_base<ERTraits>() {} My_Plane() : Shape_base<Traits>() {}
// Computes squared Euclidean distance from query point to the shape. // Computes squared Euclidean distance from query point to the shape.
virtual FT squared_distance(const Point &p) const { virtual FT squared_distance(const Point &p) const {

View File

@ -43,27 +43,27 @@ namespace CGAL {
\brief Cone implements Shape_base. \brief Cone implements Shape_base.
The cone is represented by its apex, the axis and the opening angle. The cone is represented by its apex, the axis and the opening angle.
This representation models an open infinite single-cone. This representation models an open infinite single-cone.
\tparam ERTraits a model of `EfficientRANSACTraits` \tparam Traits a model of `EfficientRANSACTraits`
\ingroup PkgPointSetShapeDetection3Shapes \ingroup PkgPointSetShapeDetection3Shapes
*/ */
template <class ERTraits> template <class Traits>
class Cone : public Shape_base<ERTraits> { class Cone : public Shape_base<Traits> {
public: public:
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point. ///< property map to access the unoriented normal of an input point.
typedef typename ERTraits::Geom_traits::FT FT; ///< number type. typedef typename Traits::Geom_traits::FT FT; ///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point;///< point type. typedef typename Traits::Geom_traits::Point_3 Point;///< point type.
typedef typename ERTraits::Geom_traits::Vector_3 Vector;///< vector type. typedef typename Traits::Geom_traits::Vector_3 Vector;///< vector type.
/// \endcond /// \endcond
Cone() : Shape_base<ERTraits>() {} Cone() : Shape_base<Traits>() {}
/*! /*!
The opening angle between the axis and the surface of the cone. The opening angle between the axis and the surface of the cone.

View File

@ -42,28 +42,28 @@ namespace CGAL {
\brief Cylinder implements Shape_base. The cylinder is represented \brief Cylinder implements Shape_base. The cylinder is represented
by the axis, i.e. a point and direction, and the radius. The cylinder is by the axis, i.e. a point and direction, and the radius. The cylinder is
unbounded, thus caps are not modelled. unbounded, thus caps are not modelled.
\tparam ERTraits a model of `EfficientRANSACTraits` \tparam Traits a model of `EfficientRANSACTraits`
\ingroup PkgPointSetShapeDetection3Shapes \ingroup PkgPointSetShapeDetection3Shapes
*/ */
template <class ERTraits> template <class Traits>
class Cylinder : public Shape_base<ERTraits> { class Cylinder : public Shape_base<Traits> {
public: public:
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point. ///< property map to access the unoriented normal of an input point.
typedef typename ERTraits::Geom_traits::Vector_3 Vector; ///< vector type. typedef typename Traits::Geom_traits::Vector_3 Vector; ///< vector type.
typedef typename ERTraits::Geom_traits::Point_3 Point; ///< point type. typedef typename Traits::Geom_traits::Point_3 Point; ///< point type.
typedef typename ERTraits::Geom_traits::FT FT; ///< number type. typedef typename Traits::Geom_traits::FT FT; ///< number type.
/// \endcond /// \endcond
typedef typename ERTraits::Geom_traits::Line_3 Line; ///< line type. typedef typename Traits::Geom_traits::Line_3 Line; ///< line type.
public: public:
Cylinder() : Shape_base<ERTraits>() {} Cylinder() : Shape_base<Traits>() {}
/*! /*!
Axis of the cylinder. Axis of the cylinder.

View File

@ -60,10 +60,10 @@ this classes enables to detect subset of connected points lying on the surface o
Each input point is assigned to either none or at most one detected primitive Each input point is assigned to either none or at most one detected primitive
shape. The implementation follows \cgalCite{Schnabel07}. shape. The implementation follows \cgalCite{Schnabel07}.
\tparam ERTraits a model of `EfficientRANSACTraits` \tparam Traits a model of `EfficientRANSACTraits`
*/ */
template <class ERTraits> template <class Traits>
class Efficient_RANSAC { class Efficient_RANSAC {
public: public:
@ -88,16 +88,16 @@ shape. The implementation follows \cgalCite{Schnabel07}.
/// \name Types /// \name Types
/// @{ /// @{
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Geom_traits::FT FT; ///< number type. typedef typename Traits::Geom_traits::FT FT; ///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point; ///< point type. typedef typename Traits::Geom_traits::Point_3 Point; ///< point type.
typedef typename ERTraits::Geom_traits::Vector_3 Vector; ///< vector type. typedef typename Traits::Geom_traits::Vector_3 Vector; ///< vector type.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point ///< property map to access the unoriented normal of an input point
typedef Shape_base<ERTraits> Shape; ///< shape type. typedef Shape_base<Traits> Shape; ///< shape type.
#ifdef DOXYGEN_RUNNING #ifdef DOXYGEN_RUNNING
typedef unspecified_type Shape_range; typedef unspecified_type Shape_range;
@ -141,9 +141,9 @@ shape. The implementation follows \cgalCite{Schnabel07}.
/// @} /// @}
private: private:
typedef internal::Octree<internal::DirectPointAccessor<ERTraits> > typedef internal::Octree<internal::DirectPointAccessor<Traits> >
Direct_octree; Direct_octree;
typedef internal::Octree<internal::IndexedPointAccessor<ERTraits> > typedef internal::Octree<internal::IndexedPointAccessor<Traits> >
Indexed_octree; Indexed_octree;
//--------------------------------------------typedef //--------------------------------------------typedef

View File

@ -39,7 +39,7 @@ extern int scoreTime;
namespace CGAL { namespace CGAL {
namespace Shape_detection_3 { namespace Shape_detection_3 {
template<class ERTraits> template<class Traits>
class Efficient_RANSAC; class Efficient_RANSAC;
namespace internal { namespace internal {

View File

@ -32,27 +32,27 @@ namespace CGAL {
/*! /*!
\ingroup PkgPointSetShapeDetection3Shapes \ingroup PkgPointSetShapeDetection3Shapes
\brief Plane implements Shape_base. The plane is represented by the normal vector and the distance to the origin. \brief Plane implements Shape_base. The plane is represented by the normal vector and the distance to the origin.
\tparam ERTraits a model of `EfficientRANSACTraits` \tparam Traits a model of `EfficientRANSACTraits`
*/ */
template <class ERTraits> template <class Traits>
class Plane : public Shape_base<ERTraits> { class Plane : public Shape_base<Traits> {
public: public:
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point. ///< property map to access the unoriented normal of an input point.
typedef typename ERTraits::Geom_traits::FT FT; ///< number type. typedef typename Traits::Geom_traits::FT FT; ///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point; ///< point type. typedef typename Traits::Geom_traits::Point_3 Point; ///< point type.
typedef typename ERTraits::Geom_traits::Vector_3 Vector; typedef typename Traits::Geom_traits::Vector_3 Vector;
/// \endcond /// \endcond
typedef typename ERTraits::Geom_traits::Plane_3 Plane_3;///< plane type for conversion operator. typedef typename Traits::Geom_traits::Plane_3 Plane_3;///< plane type for conversion operator.
public: public:
Plane() : Shape_base<ERTraits>() {} Plane() : Shape_base<Traits>() {}
/*! /*!
Conversion operator to Plane_3 type. Conversion operator to Plane_3 type.

View File

@ -56,7 +56,7 @@ namespace CGAL {
identify the inliers from the input data and to extract the largest identify the inliers from the input data and to extract the largest
cluster of spatially neighbored points. cluster of spatially neighbored points.
*/ */
template <class ERTraits> template <class Traits>
class Shape_base { class Shape_base {
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
template <class T> template <class T>
@ -67,19 +67,19 @@ namespace CGAL {
public: public:
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point. ///< property map to access the unoriented normal of an input point.
typedef Shape_base<ERTraits> Shape; typedef Shape_base<Traits> Shape;
///< own type. ///< own type.
/// \endcond /// \endcond
typedef typename ERTraits::Geom_traits::FT FT; ///< number type. typedef typename Traits::Geom_traits::FT FT; ///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point; ///< point type. typedef typename Traits::Geom_traits::Point_3 Point; ///< point type.
typedef typename ERTraits::Geom_traits::Vector_3 Vector; ///< vector type. typedef typename Traits::Geom_traits::Vector_3 Vector; ///< vector type.
Shape_base() : Shape_base() :
m_is_valid(false), m_is_valid(false),
@ -274,12 +274,12 @@ namespace CGAL {
std::size_t connected_component_kdTree(std::vector<std::size_t> &indices, std::size_t connected_component_kdTree(std::vector<std::size_t> &indices,
FT cluster_epsilon) { FT cluster_epsilon) {
typedef typename CGAL::Search_traits_3< typedef typename CGAL::Search_traits_3<
typename ERTraits::Geom_traits> Traits_base; typename Traits::Geom_traits> Traits_base;
typedef typename boost::tuple<Point,int> Point_and_int; typedef typename boost::tuple<Point,int> Point_and_int;
typedef typename CGAL::Search_traits_adapter<Point_and_int, typedef typename CGAL::Search_traits_adapter<Point_and_int,
CGAL::Nth_of_tuple_property_map<0, Point_and_int>, Traits_base> Traits; CGAL::Nth_of_tuple_property_map<0, Point_and_int>, Traits_base> Search_traits;
typedef typename CGAL::Kd_tree<Traits> Kd_Tree; typedef typename CGAL::Kd_tree<Search_traits> Kd_Tree;
typedef typename CGAL::Fuzzy_sphere<Traits> Fuzzy_sphere; typedef typename CGAL::Fuzzy_sphere<Search_traits> Fuzzy_sphere;
m_has_connected_component = true; m_has_connected_component = true;

View File

@ -33,30 +33,30 @@ namespace CGAL {
/*! /*!
\ingroup PkgPointSetShapeDetection3Shapes \ingroup PkgPointSetShapeDetection3Shapes
\brief Sphere implements Shape_base. The sphere is represented by its center and the radius. \brief Sphere implements Shape_base. The sphere is represented by its center and the radius.
\tparam ERTraits a model of `EfficientRANSACTraits` \tparam Traits a model of `EfficientRANSACTraits`
*/ */
template <class ERTraits> template <class Traits>
class Sphere : public Shape_base<ERTraits> { class Sphere : public Shape_base<Traits> {
public: public:
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point. ///< property map to access the unoriented normal of an input point.
typedef typename ERTraits::Geom_traits::Vector_3 Vector; typedef typename Traits::Geom_traits::Vector_3 Vector;
///< vector type. ///< vector type.
typedef typename ERTraits::Geom_traits::Sphere_3 Sphere_3; typedef typename Traits::Geom_traits::Sphere_3 Sphere_3;
///< sphere type. ///< sphere type.
typedef typename ERTraits::Geom_traits::FT FT; typedef typename Traits::Geom_traits::FT FT;
///< number type. ///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point; typedef typename Traits::Geom_traits::Point_3 Point;
///< point type. ///< point type.
/// \endcond /// \endcond
public: public:
Sphere() : Shape_base<ERTraits>() {} Sphere() : Shape_base<Traits>() {}
/*! /*!
Conversion operator to convert to common Sphere_3 type. Conversion operator to convert to common Sphere_3 type.

View File

@ -36,28 +36,28 @@ namespace CGAL {
\ingroup PkgPointSetShapeDetection3Shapes \ingroup PkgPointSetShapeDetection3Shapes
\brief Torus implements Shape_base. The torus is represented by the \brief Torus implements Shape_base. The torus is represented by the
symmetry axis, its center on the axis and the major and minor radii. symmetry axis, its center on the axis and the major and minor radii.
\tparam ERTraits a model of `EfficientRANSACTraits` \tparam Traits a model of `EfficientRANSACTraits`
*/ */
template <class ERTraits> template <class Traits>
class Torus : public Shape_base<ERTraits> { class Torus : public Shape_base<Traits> {
public: public:
/// \cond SKIP_IN_MANUAL /// \cond SKIP_IN_MANUAL
typedef typename ERTraits::Input_iterator Input_iterator; typedef typename Traits::Input_iterator Input_iterator;
///< random access iterator for input data. ///< random access iterator for input data.
typedef typename ERTraits::Point_pmap Point_pmap; typedef typename Traits::Point_pmap Point_pmap;
///< property map to access the location of an input point. ///< property map to access the location of an input point.
typedef typename ERTraits::Normal_pmap Normal_pmap; typedef typename Traits::Normal_pmap Normal_pmap;
///< property map to access the unoriented normal of an input point. ///< property map to access the unoriented normal of an input point.
typedef typename ERTraits::Geom_traits::FT FT; ///< number type. typedef typename Traits::Geom_traits::FT FT; ///< number type.
typedef typename ERTraits::Geom_traits::Point_3 Point; ///< point type. typedef typename Traits::Geom_traits::Point_3 Point; ///< point type.
typedef typename ERTraits::Geom_traits::Vector_3 Vector; ///< vector type. typedef typename Traits::Geom_traits::Vector_3 Vector; ///< vector type.
typedef typename ERTraits::Geom_traits::Point_2 Point_2; typedef typename Traits::Geom_traits::Point_2 Point_2;
///< 2D point type used during construction. ///< 2D point type used during construction.
typedef typename ERTraits::Geom_traits::Circle_2 Circle; typedef typename Traits::Geom_traits::Circle_2 Circle;
///< cricle type used during construction. ///< cricle type used during construction.
/// \endcond /// \endcond
Torus() : Shape_base<ERTraits>() {} Torus() : Shape_base<Traits>() {}
/*! /*!
Direction of symmetry axis. Direction of symmetry axis.