mirror of https://github.com/CGAL/cgal
parent
ea22d039c5
commit
b96d8c442c
|
|
@ -34,7 +34,6 @@ AABB_tree/test/AABB_tree/aabb_projection_triangle_test.cpp -text
|
||||||
AABB_tree/test/AABB_tree/cleanup.bat -text
|
AABB_tree/test/AABB_tree/cleanup.bat -text
|
||||||
AABB_tree/test/AABB_tree/data/coverrear.off -text
|
AABB_tree/test/AABB_tree/data/coverrear.off -text
|
||||||
AABB_tree/test/AABB_tree/data/cube.off -text
|
AABB_tree/test/AABB_tree/data/cube.off -text
|
||||||
AABB_tree/test/AABB_tree/data/lucy.off -text
|
|
||||||
AABB_tree/test/AABB_tree/data/nested_spheres.off -text
|
AABB_tree/test/AABB_tree/data/nested_spheres.off -text
|
||||||
AABB_tree/test/AABB_tree/todo.txt -text
|
AABB_tree/test/AABB_tree/todo.txt -text
|
||||||
Algebraic_foundations/doc_tex/Algebraic_foundations/Algebraic_foundations.png -text
|
Algebraic_foundations/doc_tex/Algebraic_foundations/Algebraic_foundations.png -text
|
||||||
|
|
|
||||||
|
|
@ -328,8 +328,14 @@ namespace CGAL {
|
||||||
}
|
}
|
||||||
|
|
||||||
m_p_root = new Node[m_data.size()-1]();
|
m_p_root = new Node[m_data.size()-1]();
|
||||||
CGAL_assertion(m_p_root != NULL);
|
if(m_p_root == NULL)
|
||||||
m_p_root->expand(m_data.begin(), m_data.end(), m_data.size());
|
{
|
||||||
|
std::cerr << "Unable to allocate memory for AABB tree" << std::endl;
|
||||||
|
CGAL_assertion(m_p_root != NULL);
|
||||||
|
m_data.clear();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_p_root->expand(m_data.begin(), m_data.end(), m_data.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clears tree and insert a set of primitives
|
// Clears tree and insert a set of primitives
|
||||||
|
|
@ -341,14 +347,6 @@ namespace CGAL {
|
||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
// allocate memory
|
|
||||||
m_p_root = new Node[m_data.size()-1]();
|
|
||||||
if(m_p_root == NULL)
|
|
||||||
{
|
|
||||||
std::cerr << "Unable to allocate memory for AABB tree" << std::cerr;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// inserts primitives
|
// inserts primitives
|
||||||
while(first != beyond)
|
while(first != beyond)
|
||||||
{
|
{
|
||||||
|
|
@ -358,10 +356,15 @@ namespace CGAL {
|
||||||
|
|
||||||
// allocates tree nodes
|
// allocates tree nodes
|
||||||
m_p_root = new Node[m_data.size()-1]();
|
m_p_root = new Node[m_data.size()-1]();
|
||||||
|
if(m_p_root == NULL)
|
||||||
|
{
|
||||||
|
std::cerr << "Unable to allocate memory for AABB tree" << std::endl;
|
||||||
|
m_data.clear();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// constructs the tree
|
// constructs the tree
|
||||||
m_p_root->expand(m_data.begin(), m_data.end(), m_data.size());
|
m_p_root->expand(m_data.begin(), m_data.end(), m_data.size());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -193,12 +193,12 @@ void test(const char *filename)
|
||||||
typedef CGAL::AABB_traits<K, Primitive> Traits;
|
typedef CGAL::AABB_traits<K, Primitive> Traits;
|
||||||
typedef CGAL::AABB_tree<Traits> Tree;
|
typedef CGAL::AABB_tree<Traits> Tree;
|
||||||
|
|
||||||
// load (triangle) polyhedral surface
|
// loads triangle polyhedral surface
|
||||||
Polyhedron polyhedron;
|
Polyhedron polyhedron;
|
||||||
std::ifstream ifs(filename);
|
std::ifstream ifs(filename);
|
||||||
ifs >> polyhedron;
|
ifs >> polyhedron;
|
||||||
|
|
||||||
// construct tree (without internal KD-tree as we do not query any projection).
|
// constructs tree
|
||||||
std::cout << "construct tree...";
|
std::cout << "construct tree...";
|
||||||
CGAL::Timer timer;
|
CGAL::Timer timer;
|
||||||
timer.start();
|
timer.start();
|
||||||
|
|
@ -206,7 +206,10 @@ void test(const char *filename)
|
||||||
timer.stop();
|
timer.stop();
|
||||||
std::cout << "done (" << timer.time() << " s)" << std::endl;
|
std::cout << "done (" << timer.time() << " s)" << std::endl;
|
||||||
|
|
||||||
// call tests
|
// tests clear and rebuilds
|
||||||
|
tree.clear_and_insert(polyhedron.facets_begin(),polyhedron.facets_end());
|
||||||
|
|
||||||
|
// calls all tests
|
||||||
test_all_query_types<Tree,K>(tree);
|
test_all_query_types<Tree,K>(tree);
|
||||||
test_speed<Tree,K>(tree);
|
test_speed<Tree,K>(tree);
|
||||||
}
|
}
|
||||||
|
|
@ -244,6 +247,5 @@ int main(void)
|
||||||
test_several_kernels("./data/cube.off");
|
test_several_kernels("./data/cube.off");
|
||||||
test_several_kernels("./data/coverrear.off");
|
test_several_kernels("./data/coverrear.off");
|
||||||
test_several_kernels("./data/nested_spheres.off");
|
test_several_kernels("./data/nested_spheres.off");
|
||||||
test_several_kernels("./data/lucy.off");
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue