removed type wrapper

added Ray/Vector types in AABB_traits_2/3
This commit is contained in:
Sven Oesau 2024-03-21 08:17:47 +01:00
parent 560e576488
commit bc3e8fa235
3 changed files with 6 additions and 21 deletions

View File

@ -47,10 +47,11 @@ struct AABB_traits_intersection_base_2<GeomTraits,false>{};
template <typename GeomTraits>
struct AABB_traits_intersection_base_2<GeomTraits,true>{
typedef typename GeomTraits::Ray_2 Ray_2;
typedef typename GeomTraits::Ray_2 Ray;
typedef typename GeomTraits::Point_2 Point_2;
typedef typename GeomTraits::Point_2 Point;
typedef typename GeomTraits::Ray_2 Ray;
typedef typename GeomTraits::Vector_2 Vector_2;
typedef typename GeomTraits::Vector_2 Vector;
typedef typename GeomTraits::FT FT;
typedef typename GeomTraits::Cartesian_const_iterator_2 Cartesian_const_iterator_2;
typedef typename GeomTraits::Construct_cartesian_const_iterator_2 Construct_cartesian_const_iterator_2;

View File

@ -70,10 +70,11 @@ struct AABB_traits_intersection_base<GeomTraits,false>{};
template <typename GeomTraits>
struct AABB_traits_intersection_base<GeomTraits,true>{
typedef typename GeomTraits::Ray_3 Ray_3;
typedef typename GeomTraits::Ray_3 Ray;
typedef typename GeomTraits::Point_3 Point_3;
typedef typename GeomTraits::Point_3 Point;
typedef typename GeomTraits::Ray_3 Ray;
typedef typename GeomTraits::Vector_3 Vector_3;
typedef typename GeomTraits::Vector_3 Vector;
typedef typename GeomTraits::FT FT;
typedef typename GeomTraits::Cartesian_const_iterator_3 Cartesian_const_iterator_3;
typedef typename GeomTraits::Construct_cartesian_const_iterator_3 Construct_cartesian_const_iterator_3;

View File

@ -33,29 +33,12 @@
namespace CGAL {
namespace internal {
template<class GT, int>
struct Intersection_traits_wrapper {};
template<class GT>
struct Intersection_traits_wrapper<GT, 2> {
typedef typename GT::Ray_2 Ray;
typedef typename GT::Vector_2 Vector;
};
template<class GT>
struct Intersection_traits_wrapper<GT, 3> {
typedef typename GT::Ray_3 Ray;
typedef typename GT::Vector_3 Vector;
};
}
template<typename AABBTree, typename SkipFunctor>
class AABB_ray_intersection {
typedef typename AABBTree::AABB_traits AABB_traits;
static const int dimension = AABB_traits::Point::Ambient_dimension::value;
typedef typename internal::Intersection_traits_wrapper<AABB_traits, dimension>::Ray Ray;
typedef typename internal::Intersection_traits_wrapper<AABB_traits, dimension>::Vector Vector;
typedef typename AABB_traits::Ray Ray;
typedef typename AABB_traits::Vector Vector;
typedef typename AABBTree::template Intersection_and_primitive_id<Ray>::Type Ray_intersection_and_primitive_id;
typedef typename Ray_intersection_and_primitive_id::first_type Ray_intersection;