summaryrefslogtreecommitdiff
path: root/src/Alpha_complex/include/gudhi/Alpha_complex.h
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-04-01 09:04:18 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-04-01 09:04:18 +0200
commit9d89f57376e619515d99ad88c2cdeef35daaedd5 (patch)
tree25a5d3018a69608bced487db78e553aabfe8f982 /src/Alpha_complex/include/gudhi/Alpha_complex.h
parentcb838b2ea4a4db9c54f71103001bdafb90766306 (diff)
code review: use operator[] instead of at()
Diffstat (limited to 'src/Alpha_complex/include/gudhi/Alpha_complex.h')
-rw-r--r--src/Alpha_complex/include/gudhi/Alpha_complex.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Alpha_complex/include/gudhi/Alpha_complex.h b/src/Alpha_complex/include/gudhi/Alpha_complex.h
index eb4ef427..4369071c 100644
--- a/src/Alpha_complex/include/gudhi/Alpha_complex.h
+++ b/src/Alpha_complex/include/gudhi/Alpha_complex.h
@@ -248,6 +248,16 @@ class Alpha_complex {
}
}
+ /** \brief get_point_ returns the point corresponding to the vertex given as parameter.
+ * Only for internal use for faster access.
+ *
+ * @param[in] vertex Vertex handle of the point to retrieve.
+ * @return The point found.
+ */
+ const Point_d& get_point_(std::size_t vertex) const {
+ return vertex_handle_to_iterator_[vertex]->point();
+ }
+
template<class SimplicialComplexForAlpha>
auto& get_cache(SimplicialComplexForAlpha& cplx, typename SimplicialComplexForAlpha::Simplex_handle s) {
auto k = cplx.key(s);
@@ -258,7 +268,7 @@ class Alpha_complex {
thread_local std::vector<Point_d> v;
v.clear();
for (auto vertex : cplx.simplex_vertex_range(s))
- v.push_back(get_point(vertex));
+ v.push_back(get_point_(vertex));
Point_d c = kernel_.construct_circumcenter_d_object()(v.cbegin(), v.cend());
typename Kernel::FT r = kernel_.squared_distance_d_object()(c, v[0]);
cache_.emplace_back(std::move(c), std::move(r));
@@ -423,7 +433,7 @@ class Alpha_complex {
while(shortiter != enditer && *longiter == *shortiter) { ++longiter; ++shortiter; }
Vertex_handle extra = *longiter;
auto const& cache=get_cache(complex, f_boundary);
- bool is_gab = kernel_.squared_distance_d_object()(cache.first, get_point(extra)) >= cache.second;
+ bool is_gab = kernel_.squared_distance_d_object()(cache.first, get_point_(extra)) >= cache.second;
#ifdef DEBUG_TRACES
std::clog << " | Tau is_gabriel(Sigma)=" << is_gab << " - vertexForGabriel=" << extra << std::endl;
#endif // DEBUG_TRACES