This commit is contained in:
Maxime Gimeno 2019-09-24 13:49:10 +02:00
parent a52592909f
commit dd566a2c96
2 changed files with 4 additions and 7 deletions

View File

@ -185,7 +185,7 @@ namespace CGAL {
clear_nodes(); clear_nodes();
m_primitives.clear(); m_primitives.clear();
clear_search_tree(); clear_search_tree();
m_default_search_tree_constructed = m_use_lazy_kd_tree; m_default_search_tree_constructed = true;
} }
/// Returns the axis-aligned bounding box of the whole tree. /// Returns the axis-aligned bounding box of the whole tree.
@ -440,7 +440,6 @@ public:
/// returns `true` iff successful memory allocation /// returns `true` iff successful memory allocation
bool accelerate_distance_queries() const; bool accelerate_distance_queries() const;
///Turns off the lazy construction of the internal search tree. ///Turns off the lazy construction of the internal search tree.
/// Must be called before the first distance query.
void do_not_accelerate_distance_queries() const; void do_not_accelerate_distance_queries() const;
/// Constructs an internal KD-tree containing the specified point /// Constructs an internal KD-tree containing the specified point
@ -593,7 +592,6 @@ public:
// search KD-tree // search KD-tree
mutable const Search_tree* m_p_search_tree; mutable const Search_tree* m_p_search_tree;
mutable bool m_search_tree_constructed; mutable bool m_search_tree_constructed;
mutable bool m_use_lazy_kd_tree;
mutable bool m_default_search_tree_constructed; // indicates whether the internal kd-tree should be built mutable bool m_default_search_tree_constructed; // indicates whether the internal kd-tree should be built
bool m_need_build; bool m_need_build;
@ -614,7 +612,6 @@ public:
, m_p_root_node(nullptr) , m_p_root_node(nullptr)
, m_p_search_tree(nullptr) , m_p_search_tree(nullptr)
, m_search_tree_constructed(false) , m_search_tree_constructed(false)
, m_use_lazy_kd_tree(true)
, m_default_search_tree_constructed(true) , m_default_search_tree_constructed(true)
, m_need_build(false) , m_need_build(false)
{} {}
@ -629,7 +626,6 @@ public:
, m_p_root_node(nullptr) , m_p_root_node(nullptr)
, m_p_search_tree(nullptr) , m_p_search_tree(nullptr)
, m_search_tree_constructed(false) , m_search_tree_constructed(false)
, m_use_lazy_kd_tree(true)
, m_default_search_tree_constructed(true) , m_default_search_tree_constructed(true)
, m_need_build(false) , m_need_build(false)
{ {
@ -760,7 +756,6 @@ public:
void AABB_tree<Tr>::do_not_accelerate_distance_queries()const void AABB_tree<Tr>::do_not_accelerate_distance_queries()const
{ {
clear_search_tree(); clear_search_tree();
m_use_lazy_kd_tree = false;
m_default_search_tree_constructed = false; m_default_search_tree_constructed = false;
} }

View File

@ -171,9 +171,11 @@ public:
if(!test) if(!test)
tree.insert(Primitive(it, mesh, vertex_point_map)); tree.insert(Primitive(it, mesh, vertex_point_map));
} }
if(!build_kd_tree) {
tree.do_not_accelerate_distance_queries();
}
tree.build(); tree.build();
if(use_diagonal) { if(use_diagonal) {
CGAL::Bbox_3 bbox = tree.bbox(); CGAL::Bbox_3 bbox = tree.bbox();
max_diagonal = max_diagonal =