summaryrefslogtreecommitdiff
path: root/src/Skeleton_blocker
diff options
context:
space:
mode:
authorsalinasd <salinasd@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-07-04 15:41:57 +0000
committersalinasd <salinasd@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-07-04 15:41:57 +0000
commit66d91feb5c6491b24e0765af777e35162e4cdc31 (patch)
treebaea1cb352f194178ff5e456b477e4962b61dedc /src/Skeleton_blocker
parented7051a54f1a1320ddbf99893662f146ef791934 (diff)
Fix skbl compiling issue on clang + one issue of returning a local reference in Alpha_shapes
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/compil_fix@677 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: b14047d0df46ea255bb801191c6672aa06eab3c7
Diffstat (limited to 'src/Skeleton_blocker')
-rw-r--r--src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_off_io.h2
-rw-r--r--src/Skeleton_blocker/include/gudhi/Skeleton_blocker_geometric_complex.h34
2 files changed, 23 insertions, 13 deletions
diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_off_io.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_off_io.h
index aaaab8b0..6ad1fdd3 100644
--- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_off_io.h
+++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker/Skeleton_blocker_off_io.h
@@ -107,7 +107,7 @@ class Skeleton_blocker_off_visitor_reader {
}
void done() {
- complex_ = make_complex_from_top_faces(maximal_faces_.begin(), maximal_faces_.end(),
+ complex_ = make_complex_from_top_faces<Complex>(maximal_faces_.begin(), maximal_faces_.end(),
points_.begin(), points_.end() );
}
};
diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_geometric_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_geometric_complex.h
index 437482cb..8cea123a 100644
--- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_geometric_complex.h
+++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_geometric_complex.h
@@ -79,22 +79,13 @@ public Skeleton_blocker_complex<SkeletonBlockerGeometricDS> {
(*this)[Vertex_handle(current++)].point() = Point(point->begin(), point->end());
}
- template<typename SimpleHandleOutputIterator, typename PointIterator>
- friend Skeleton_blocker_geometric_complex make_complex_from_top_faces(
+ template<typename SkeletonBlockerGeometricComplex, typename SimpleHandleOutputIterator, typename PointIterator>
+ SkeletonBlockerGeometricComplex make_complex_from_top_faces(
SimpleHandleOutputIterator simplex_begin,
SimpleHandleOutputIterator simplex_end,
PointIterator points_begin,
PointIterator points_end,
- bool is_flag_complex = false) {
- Skeleton_blocker_geometric_complex complex;
- unsigned current = 0;
- complex =
- make_complex_from_top_faces<Skeleton_blocker_geometric_complex>(simplex_begin, simplex_end, is_flag_complex);
- for (auto point = points_begin; point != points_end; ++point)
- // complex.point(Vertex_handle(current++)) = Point(point->begin(),point->end());
- complex.point(Vertex_handle(current++)) = Point(*point);
- return complex;
- }
+ bool is_flag_complex);
/**
* @brief Constructor with a list of simplices.
@@ -215,6 +206,25 @@ public Skeleton_blocker_complex<SkeletonBlockerGeometricDS> {
}
};
+
+template<typename SkeletonBlockerGeometricComplex, typename SimpleHandleOutputIterator, typename PointIterator>
+SkeletonBlockerGeometricComplex make_complex_from_top_faces(
+ SimpleHandleOutputIterator simplex_begin,
+ SimpleHandleOutputIterator simplex_end,
+ PointIterator points_begin,
+ PointIterator points_end,
+ bool is_flag_complex = false) {
+ typedef SkeletonBlockerGeometricComplex SBGC;
+ SkeletonBlockerGeometricComplex complex;
+ unsigned current = 0;
+ complex =
+ make_complex_from_top_faces<SBGC>(simplex_begin, simplex_end, is_flag_complex);
+ for (auto point = points_begin; point != points_end; ++point)
+ // complex.point(Vertex_handle(current++)) = Point(point->begin(),point->end());
+ complex.point(typename SBGC::Vertex_handle(current++)) = typename SBGC::Point(*point);
+ return complex;
+}
+
} // namespace skbl
} // namespace Gudhi