mirror of https://github.com/CGAL/cgal
Fixed compilation errors (Linux/g++)
This commit is contained in:
parent
f7108fc79f
commit
9c77d89703
|
|
@ -37,10 +37,10 @@ typedef K::Plane_3 Plane;
|
|||
typedef K::Segment_3 Segment;
|
||||
typedef K::Triangle_3 Triangle;
|
||||
|
||||
typedef std::list<typename Segment>::iterator Iterator;
|
||||
typedef std::list<Segment>::iterator Iterator;
|
||||
typedef CGAL::AABB_segment_primitive<K,Iterator> Primitive;
|
||||
typedef CGAL::AABB_traits<typename K, typename Primitive> Traits;
|
||||
typedef CGAL::AABB_tree<typename Traits> Tree;
|
||||
typedef CGAL::AABB_traits<K, Primitive> Traits;
|
||||
typedef CGAL::AABB_tree<Traits> Tree;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
|
@ -57,11 +57,11 @@ int main(void)
|
|||
Tree tree(segments.begin(),segments.end());
|
||||
|
||||
Plane plane(a,b,d);
|
||||
std::cout << tree.number_of_intersections(plane)
|
||||
std::cout << tree.number_of_intersections(plane)
|
||||
<< " intersections(s) with plane" << std::endl;
|
||||
|
||||
Triangle triangle(a,b,c);
|
||||
std::cout << tree.number_of_intersections(triangle)
|
||||
std::cout << tree.number_of_intersections(triangle)
|
||||
<< " intersections(s) with triangle" << std::endl;
|
||||
|
||||
// TOFIX: following does not compile due to intersection(const Sphere& sphere,
|
||||
|
|
|
|||
|
|
@ -37,10 +37,10 @@ typedef K::Line_3 Line;
|
|||
typedef K::Point_3 Point;
|
||||
typedef K::Triangle_3 Triangle;
|
||||
|
||||
typedef std::list<typename Triangle>::iterator Iterator;
|
||||
typedef std::list<Triangle>::iterator Iterator;
|
||||
typedef CGAL::AABB_triangle_primitive<K,Iterator> Primitive;
|
||||
typedef CGAL::AABB_traits<typename K, typename Primitive> AABB_triangle_traits;
|
||||
typedef CGAL::AABB_tree<typename AABB_triangle_traits> Tree;
|
||||
typedef CGAL::AABB_traits<K, Primitive> AABB_triangle_traits;
|
||||
typedef CGAL::AABB_tree<AABB_triangle_traits> Tree;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
|
@ -55,16 +55,16 @@ int main(void)
|
|||
triangles.push_back(Triangle(a,d,c));
|
||||
|
||||
Tree tree(triangles.begin(),triangles.end());
|
||||
|
||||
|
||||
// counts #intersections
|
||||
Ray ray(a,b);
|
||||
std::cout << tree.number_of_intersections(ray)
|
||||
std::cout << tree.number_of_intersections(ray)
|
||||
<< " intersections(s) with ray" << std::endl;
|
||||
|
||||
|
||||
// compute closest point
|
||||
Point hint(a);
|
||||
Point query(2.0, 2.0, 2.0);
|
||||
Point closest = tree.closest_point(query,hint);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
#include <CGAL/Bbox_3.h>
|
||||
#include <CGAL/AABB_intersections.h>
|
||||
#include <CGAL/Kernel/global_functions.h>
|
||||
|
||||
namespace CGAL {
|
||||
|
||||
|
|
@ -50,7 +51,7 @@ public:
|
|||
/// AABBTraits concept types
|
||||
typedef typename CGAL::Bbox_3 Bounding_box;
|
||||
|
||||
typedef typename AABB_primitive Primitive;
|
||||
typedef AABB_primitive Primitive;
|
||||
typedef typename AABB_primitive::Datum Datum;
|
||||
|
||||
typedef typename GeomTraits::Sphere_3 Sphere;
|
||||
|
|
@ -136,11 +137,6 @@ public:
|
|||
|
||||
bool is_contained(const Sphere& a, const Sphere& b) const;
|
||||
|
||||
private:
|
||||
/// Private types
|
||||
typedef typename GeomTraits::FT FT;
|
||||
typedef typename GeomTraits::Point_3 Point_3;
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief Computes bounding box of one primitive
|
||||
|
|
|
|||
|
|
@ -47,13 +47,13 @@ namespace CGAL {
|
|||
typedef typename AABBTraits::Intersection Intersection;
|
||||
typedef typename AABBTraits::Projection_query Projection_query;
|
||||
private:
|
||||
typedef typename AABB_search_tree<AABBTraits> Search_tree;
|
||||
typedef AABB_search_tree<AABBTraits> Search_tree;
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief Constructor
|
||||
* @param first iterator over first primitive to insert
|
||||
* @param beyond past-the-end iterator
|
||||
* @param beyond past-the-end iterator
|
||||
*
|
||||
* Builds the datastructure. Type ConstPrimitiveIterator can be any const
|
||||
* iterator on a container of Primitive::id_type such that Primitive has
|
||||
|
|
@ -348,7 +348,7 @@ namespace CGAL {
|
|||
{
|
||||
// iterate over primitives to get points on them
|
||||
std::list<Projection_query> points;
|
||||
std::vector<Primitive>::const_iterator it;
|
||||
typename std::vector<Primitive>::const_iterator it;
|
||||
for(it = m_data.begin(); it != m_data.end(); it++)
|
||||
{
|
||||
const Primitive& pr = *it;
|
||||
|
|
@ -435,7 +435,7 @@ namespace CGAL {
|
|||
template<typename Tr>
|
||||
typename AABB_tree<Tr>::Projection
|
||||
AABB_tree<Tr>::closest_point(const Projection_query& query,
|
||||
const Projection& hint)
|
||||
const Projection& hint)
|
||||
{
|
||||
Projecting_traits traversal_traits(query,hint);
|
||||
|
||||
|
|
@ -447,7 +447,7 @@ namespace CGAL {
|
|||
// first nearest neighbor point to get a hint
|
||||
template<typename Tr>
|
||||
typename AABB_tree<Tr>::Projection
|
||||
AABB_tree<Tr>::closest_point(const Projection_query& query)
|
||||
AABB_tree<Tr>::closest_point(const Projection_query& query)
|
||||
{
|
||||
// construct search KD-tree if needed
|
||||
if(!m_search_tree_constructed)
|
||||
|
|
|
|||
|
|
@ -43,14 +43,14 @@ void test_all_query_types(Tree& tree)
|
|||
{
|
||||
std::cout << "Test all query types" << std::endl;
|
||||
|
||||
typedef K::FT FT;
|
||||
typedef K::Ray_3 Ray;
|
||||
typedef K::Line_3 Line;
|
||||
typedef K::Point_3 Point;
|
||||
typedef K::Vector_3 Vector;
|
||||
typedef K::Segment_3 Segment;
|
||||
typedef Tree::Primitive Primitive;
|
||||
typedef Tree::Intersection Intersection;
|
||||
typedef typename K::FT FT;
|
||||
typedef typename K::Ray_3 Ray;
|
||||
typedef typename K::Line_3 Line;
|
||||
typedef typename K::Point_3 Point;
|
||||
typedef typename K::Vector_3 Vector;
|
||||
typedef typename K::Segment_3 Segment;
|
||||
typedef typename Tree::Primitive Primitive;
|
||||
typedef typename Tree::Intersection Intersection;
|
||||
|
||||
Point p((FT)-0.5, (FT)-0.5, (FT)-0.5);
|
||||
Point q((FT) 0.5, (FT) 0.5, (FT) 0.5);
|
||||
|
|
@ -60,14 +60,14 @@ void test_all_query_types(Tree& tree)
|
|||
bool success = false;
|
||||
|
||||
// do_intersect
|
||||
success = tree.do_intersect(ray);
|
||||
success = tree.do_intersect(line);
|
||||
success = tree.do_intersect(segment);
|
||||
success = tree.do_intersect(ray);
|
||||
success = tree.do_intersect(line);
|
||||
success = tree.do_intersect(segment);
|
||||
|
||||
// number_of_intersections
|
||||
tree.number_of_intersections(ray);
|
||||
tree.number_of_intersections(line);
|
||||
tree.number_of_intersections(segment);
|
||||
tree.number_of_intersections(ray);
|
||||
tree.number_of_intersections(line);
|
||||
tree.number_of_intersections(segment);
|
||||
|
||||
// all_intersected_primitives
|
||||
std::list<Primitive> primitives;
|
||||
|
|
@ -89,14 +89,14 @@ void test_all_query_types(Tree& tree)
|
|||
}
|
||||
|
||||
template <class Tree, class Polyhedron, class K>
|
||||
void test_speed(Tree& tree,
|
||||
void test_speed(Tree& tree,
|
||||
Polyhedron& polyhedron)
|
||||
{
|
||||
std::cout << "Test for speed" << std::endl;
|
||||
typedef K::FT FT;
|
||||
typedef K::Ray_3 Ray;
|
||||
typedef K::Point_3 Point;
|
||||
typedef K::Vector_3 Vector;
|
||||
typedef typename K::FT FT;
|
||||
typedef typename K::Ray_3 Ray;
|
||||
typedef typename K::Point_3 Point;
|
||||
typedef typename K::Vector_3 Vector;
|
||||
|
||||
CGAL::Timer timer;
|
||||
unsigned int nb = 0;
|
||||
|
|
@ -106,7 +106,7 @@ void test_speed(Tree& tree,
|
|||
Ray ray(source, vec);
|
||||
while(timer.time() < 1.0)
|
||||
{
|
||||
tree.do_intersect(ray);
|
||||
tree.do_intersect(ray);
|
||||
nb++;
|
||||
}
|
||||
double speed = (double)nb / timer.time();
|
||||
|
|
@ -117,10 +117,10 @@ void test_speed(Tree& tree,
|
|||
template <class K>
|
||||
void test(const char *filename)
|
||||
{
|
||||
typedef K::FT FT;
|
||||
typedef K::Ray_3 Ray;
|
||||
typedef K::Point_3 Point;
|
||||
typedef K::Vector_3 Vector;
|
||||
typedef typename K::FT FT;
|
||||
typedef typename K::Ray_3 Ray;
|
||||
typedef typename K::Point_3 Point;
|
||||
typedef typename K::Vector_3 Vector;
|
||||
typedef CGAL::Polyhedron_3<K> Polyhedron;
|
||||
typedef CGAL::AABB_polyhedron_triangle_primitive<K,Polyhedron> Primitive;
|
||||
typedef CGAL::AABB_traits<K, Primitive> Traits;
|
||||
|
|
|
|||
|
|
@ -33,13 +33,13 @@
|
|||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
|
||||
template <class Tree, class Polyhedron, class K>
|
||||
void test_speed(Tree& tree,
|
||||
void test_speed(Tree& tree,
|
||||
Polyhedron& polyhedron)
|
||||
{
|
||||
typedef K::FT FT;
|
||||
typedef K::Ray_3 Ray;
|
||||
typedef K::Point_3 Point;
|
||||
typedef K::Vector_3 Vector;
|
||||
typedef typename K::FT FT;
|
||||
typedef typename K::Ray_3 Ray;
|
||||
typedef typename K::Point_3 Point;
|
||||
typedef typename K::Vector_3 Vector;
|
||||
|
||||
CGAL::Timer timer;
|
||||
unsigned int nb = 0;
|
||||
|
|
@ -47,7 +47,7 @@ void test_speed(Tree& tree,
|
|||
Point query((FT)0.0, (FT)0.0, (FT)0.0);
|
||||
while(timer.time() < 1.0)
|
||||
{
|
||||
Point closest = tree.closest_point(query);
|
||||
Point closest = tree.closest_point(query);
|
||||
nb++;
|
||||
}
|
||||
double speed = (double)nb / timer.time();
|
||||
|
|
@ -58,10 +58,10 @@ void test_speed(Tree& tree,
|
|||
template <class K>
|
||||
void test(const char *filename)
|
||||
{
|
||||
typedef K::FT FT;
|
||||
typedef K::Ray_3 Ray;
|
||||
typedef K::Point_3 Point;
|
||||
typedef K::Vector_3 Vector;
|
||||
typedef typename K::FT FT;
|
||||
typedef typename K::Ray_3 Ray;
|
||||
typedef typename K::Point_3 Point;
|
||||
typedef typename K::Vector_3 Vector;
|
||||
typedef CGAL::Polyhedron_3<K> Polyhedron;
|
||||
typedef CGAL::AABB_polyhedron_triangle_primitive<K,Polyhedron> Primitive;
|
||||
typedef CGAL::AABB_traits<K, Primitive> Traits;
|
||||
|
|
|
|||
Loading…
Reference in New Issue