From dc7a0aed53d7b74580ed5625293e27cacd452c34 Mon Sep 17 00:00:00 2001 From: Vincent Rouvreau Date: Tue, 9 Aug 2022 16:06:06 +0200 Subject: Use boolean for pq_handle data type and specific update use for CGAL>=5.5 --- .../include/gudhi/Skeleton_blocker_contractor.h | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h b/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h index 56b76318..321d80be 100644 --- a/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h +++ b/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h @@ -172,7 +172,7 @@ typename GeometricSimplifiableComplex::Vertex_handle> { }; typedef CGAL::Modifiable_priority_queue PQ; - typedef typename PQ::handle pq_handle; + typedef bool pq_handle; // An Edge_data is associated with EVERY edge in the complex (collapsible or not). @@ -196,7 +196,7 @@ typename GeometricSimplifiableComplex::Vertex_handle> { } bool is_in_PQ() const { - return PQHandle_ != PQ::null_handle(); + return PQHandle_ != false; } void set_PQ_handle(pq_handle h) { @@ -204,7 +204,7 @@ typename GeometricSimplifiableComplex::Vertex_handle> { } void reset_PQ_handle() { - PQHandle_ = PQ::null_handle(); + PQHandle_ = false; } private: @@ -238,16 +238,22 @@ typename GeometricSimplifiableComplex::Vertex_handle> { } void insert_in_PQ(Edge_handle edge, Edge_data& data) { - data.set_PQ_handle(heap_PQ_->push(edge)); + heap_PQ_->push(edge); + data.set_PQ_handle(true); ++current_num_edges_heap_; } void update_in_PQ(Edge_handle edge, Edge_data& data) { +#if CGAL_VERSION_NR < 1050500000 data.set_PQ_handle(heap_PQ_->update(edge, data.PQ_handle())); +#else + heap_PQ_->update(edge); +#endif } void remove_from_PQ(Edge_handle edge, Edge_data& data) { - data.set_PQ_handle(heap_PQ_->erase(edge, data.PQ_handle())); + heap_PQ_->erase(edge); + data.set_PQ_handle(false); --current_num_edges_heap_; } -- cgit v1.2.3