summaryrefslogtreecommitdiff
path: root/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h
diff options
context:
space:
mode:
authorsalinasd <salinasd@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-11-14 15:21:34 +0000
committersalinasd <salinasd@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-11-14 15:21:34 +0000
commit0e156a914ecfa1e8d71a8bee49400ed66a191637 (patch)
treedbc8096404f20e57a5376165e6dfa0b495909ab8 /src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h
parent20cb0d7a919005ba20d0a76cca38a73d3a119480 (diff)
skbl: correct typo in test and small renamings
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/skb_simplex_insertion_merge@918 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 543ae94051051e1a79f95192db24fcd411dbea28
Diffstat (limited to 'src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h')
-rw-r--r--src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h
index 79a7ed79..1b7d58ff 100644
--- a/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h
+++ b/src/Skeleton_blocker/include/gudhi/Skeleton_blocker_simplifiable_complex.h
@@ -206,21 +206,26 @@ void Skeleton_blocker_complex<SkeletonBlockerDS>::remove_star(const Simplex& sig
}
template<typename SkeletonBlockerDS>
-void Skeleton_blocker_complex<SkeletonBlockerDS>::add_simplex(const Simplex& sigma, bool insert_edges_of_sigma) {
+void Skeleton_blocker_complex<SkeletonBlockerDS>::add_simplex(const Simplex& sigma) {
// to add a simplex s, all blockers included in s are first removed
// and then all simplex in the coboundary of s are added as blockers
assert(!this->contains(sigma));
assert(sigma.dimension() > 1);
+ if (!contains_vertices(sigma)) {
+ std::cerr << "add_simplex: Some vertices were not present in the complex, adding them" << std::endl;
+ size_t num_vertices_to_add = sigma.last_vertex() - this->num_vertices() + 1;
+ for (size_t i = 0; i < num_vertices_to_add; ++i)
+ this->add_vertex();
+ }
assert(contains_vertices(sigma));
-
- if(insert_edges_of_sigma)
+ if(!contains_edges(sigma))
add_edge(sigma);
- else
- assert(contains_edges(sigma));
remove_blocker_include_in_simplex(sigma);
add_blockers_after_simplex_insertion(sigma);
}
+
+
template<typename SkeletonBlockerDS>
void Skeleton_blocker_complex<SkeletonBlockerDS>::add_blockers_after_simplex_insertion(Simplex sigma){
if(sigma.dimension() < 1) return;