mirror of https://github.com/CGAL/cgal
Fix: AABBTraits must not require size_type. The size_type is an
implementation detail of the class template AABB_tree, and traits classes cannot know that type.
This commit is contained in:
parent
fbbefdde2a
commit
0d7cc0b6b5
|
|
@ -1,3 +1,7 @@
|
||||||
|
AABB_tree/demo/AABB_tree/*.exe
|
||||||
|
AABB_tree/demo/AABB_tree/*.sln
|
||||||
|
AABB_tree/demo/AABB_tree/*.vcproj
|
||||||
|
AABB_tree/demo/AABB_tree/AABB_demo
|
||||||
AABB_tree/demo/AABB_tree/CMakeLists.txt
|
AABB_tree/demo/AABB_tree/CMakeLists.txt
|
||||||
AABB_tree/demo/AABB_tree/Makefile
|
AABB_tree/demo/AABB_tree/Makefile
|
||||||
AABB_tree/examples/AABB_tree/*.kdev*
|
AABB_tree/examples/AABB_tree/*.kdev*
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,6 @@ The concept \ccRefName\ provides the geometric primitive types and methods for t
|
||||||
|
|
||||||
\ccTypes
|
\ccTypes
|
||||||
|
|
||||||
\ccNestedType{size_type}{Unsigned integral type.}
|
|
||||||
|
|
||||||
\ccNestedType{FT}{Value type of the \ccc{Squared_distance} functor.}
|
\ccNestedType{FT}{Value type of the \ccc{Squared_distance} functor.}
|
||||||
|
|
||||||
\ccNestedType{Point_3}{Type of a 3D point.}
|
\ccNestedType{Point_3}{Type of a 3D point.}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ Class \ccRefName\ is a static data structure for efficient intersection and dist
|
||||||
|
|
||||||
\ccTypes
|
\ccTypes
|
||||||
|
|
||||||
\ccTypedef{AT::size_type size_type;}
|
\ccNestedType{size_type;}
|
||||||
{Unsigned integral size type.}
|
{Unsigned integral size type.}
|
||||||
\ccGlue
|
\ccGlue
|
||||||
\ccTypedef{AT::FT FT;}
|
\ccTypedef{AT::FT FT;}
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,6 @@ public:
|
||||||
|
|
||||||
typedef AABB_primitive Primitive;
|
typedef AABB_primitive Primitive;
|
||||||
typedef typename AABB_primitive::Datum Datum;
|
typedef typename AABB_primitive::Datum Datum;
|
||||||
typedef unsigned int size_type;
|
|
||||||
|
|
||||||
typedef typename GeomTraits::Point_3 Point;
|
typedef typename GeomTraits::Point_3 Point;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ namespace CGAL {
|
||||||
/// types
|
/// types
|
||||||
typedef typename AABBTraits::FT FT;
|
typedef typename AABBTraits::FT FT;
|
||||||
typedef typename AABBTraits::Point Point;
|
typedef typename AABBTraits::Point Point;
|
||||||
typedef typename AABBTraits::size_type size_type;
|
|
||||||
typedef typename AABBTraits::Primitive Primitive;
|
typedef typename AABBTraits::Primitive Primitive;
|
||||||
typedef typename AABBTraits::Bounding_box Bounding_box;
|
typedef typename AABBTraits::Bounding_box Bounding_box;
|
||||||
typedef typename AABBTraits::Primitive::Id Primitive_id;
|
typedef typename AABBTraits::Primitive::Id Primitive_id;
|
||||||
|
|
@ -51,6 +50,13 @@ namespace CGAL {
|
||||||
// internal KD-tree used to accelerate the distance queries
|
// internal KD-tree used to accelerate the distance queries
|
||||||
typedef AABB_search_tree<AABBTraits> Search_tree;
|
typedef AABB_search_tree<AABBTraits> Search_tree;
|
||||||
|
|
||||||
|
// type of the primitives container
|
||||||
|
typedef std::vector<Primitive> Primitives;
|
||||||
|
|
||||||
|
public:
|
||||||
|
// size type is the size_type of the primitive container
|
||||||
|
typedef typename Primitives::size_type size_type;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* @brief Constructor
|
* @brief Constructor
|
||||||
|
|
@ -416,7 +422,7 @@ namespace CGAL {
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// set of input primitives
|
// set of input primitives
|
||||||
std::vector<Primitive> m_primitives;
|
Primitives m_primitives;
|
||||||
// single root node
|
// single root node
|
||||||
Node* m_p_root_node;
|
Node* m_p_root_node;
|
||||||
// search KD-tree
|
// search KD-tree
|
||||||
|
|
@ -517,7 +523,7 @@ namespace CGAL {
|
||||||
|
|
||||||
// iterate over primitives to get reference points on them
|
// iterate over primitives to get reference points on them
|
||||||
std::vector<Point_and_primitive_id> points;
|
std::vector<Point_and_primitive_id> points;
|
||||||
typename std::vector<Primitive>::const_iterator it;
|
typename Primitives::const_iterator it;
|
||||||
for(it = m_primitives.begin(); it != m_primitives.end(); ++it)
|
for(it = m_primitives.begin(); it != m_primitives.end(); ++it)
|
||||||
points.push_back(Point_and_primitive_id(it->reference_point(), it->id()));
|
points.push_back(Point_and_primitive_id(it->reference_point(), it->id()));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -304,7 +304,7 @@ class Naive_implementations
|
||||||
typedef typename Pr_generator::Primitive Pr;
|
typedef typename Pr_generator::Primitive Pr;
|
||||||
typedef CGAL::AABB_traits<K, Pr> Traits;
|
typedef CGAL::AABB_traits<K, Pr> Traits;
|
||||||
typedef typename Pr_generator::iterator Polyhedron_primitive_iterator;
|
typedef typename Pr_generator::iterator Polyhedron_primitive_iterator;
|
||||||
typedef typename Traits::size_type size_type;
|
typedef unsigned int size_type;
|
||||||
typedef typename Traits::Object_and_primitive_id Object_and_primitive_id;
|
typedef typename Traits::Object_and_primitive_id Object_and_primitive_id;
|
||||||
typedef typename Pr::Id Primitive_id;
|
typedef typename Pr::Id Primitive_id;
|
||||||
typedef typename Traits::FT FT;
|
typedef typename Traits::FT FT;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue