11 #ifndef SKELETON_BLOCKER_SKELETON_BLOCKER_COMPLEX_VISITOR_H_ 12 #define SKELETON_BLOCKER_SKELETON_BLOCKER_COMPLEX_VISITOR_H_ 14 #include <gudhi/Skeleton_blocker/Skeleton_blocker_simplex.h> 18 namespace skeleton_blocker {
25 template<
typename Vertex_handle>
30 virtual void on_add_vertex(Vertex_handle) = 0;
31 virtual void on_remove_vertex(Vertex_handle) = 0;
33 virtual void on_add_edge_without_blockers(Vertex_handle a, Vertex_handle b) = 0;
34 virtual void on_remove_edge(Vertex_handle a, Vertex_handle b) = 0;
52 virtual void on_add_blocker(
54 virtual void on_delete_blocker(
63 template<
typename Vertex_handle>
67 void on_add_vertex(Vertex_handle) { }
69 void on_remove_vertex(Vertex_handle) { }
71 void on_add_edge_without_blockers(Vertex_handle a, Vertex_handle b) { }
73 void on_remove_edge(Vertex_handle a, Vertex_handle b) { }
89 template<
typename Vertex_handle>
93 void on_add_vertex(Vertex_handle v) {
94 std::cerr <<
"on_add_vertex:" << v << std::endl;
97 void on_remove_vertex(Vertex_handle v) {
98 std::cerr <<
"on_remove_vertex:" << v << std::endl;
101 void on_add_edge_without_blockers(Vertex_handle a, Vertex_handle b) {
102 std::cerr <<
"on_add_edge_without_blockers:" << a <<
"," << b << std::endl;
105 void on_remove_edge(Vertex_handle a, Vertex_handle b) {
106 std::cerr <<
"on_remove_edge:" << a <<
"," << b << std::endl;
110 std::cerr <<
"on_changed_edge:" << a <<
"," << b << std::endl;
114 std::cerr <<
"on_swaped_edge:" << a <<
"," << b <<
"," << x << std::endl;
118 std::cerr <<
"on_add_blocker:" << b << std::endl;
122 std::cerr <<
"on_delete_blocker:" << b << std::endl;
128 namespace skbl = skeleton_blocker;
132 #endif // SKELETON_BLOCKER_SKELETON_BLOCKER_COMPLEX_VISITOR_H_ A visitor that prints the visit information.
Definition: Skeleton_blocker_complex_visitor.h:90
Abstract simplex used in Skeleton blockers data-structure.
Definition: Skeleton_blocker_simplex.h:38
Definition: SimplicialComplexForAlpha.h:14
void on_swaped_edge(Vertex_handle a, Vertex_handle b, Vertex_handle x)
Called when performing an edge contraction when an edge bx is replaced by an edge ax (not already pre...
Definition: Skeleton_blocker_complex_visitor.h:113
void on_changed_edge(Vertex_handle a, Vertex_handle b)
Called when an edge changes, during the contraction of an edge.
Definition: Skeleton_blocker_complex_visitor.h:75
A dummy visitor of a simplicial complex that does nothing.
Definition: Skeleton_blocker_complex_visitor.h:64
virtual void on_swaped_edge(Vertex_handle a, Vertex_handle b, Vertex_handle x)=0
Called when performing an edge contraction when an edge bx is replaced by an edge ax (not already pre...
Interface for a visitor of a simplicial complex.
Definition: Skeleton_blocker_complex_visitor.h:26
virtual void on_changed_edge(Vertex_handle a, Vertex_handle b)=0
Called when an edge changes, during the contraction of an edge.
void on_changed_edge(Vertex_handle a, Vertex_handle b)
Called when an edge changes, during the contraction of an edge.
Definition: Skeleton_blocker_complex_visitor.h:109
void on_swaped_edge(Vertex_handle a, Vertex_handle b, Vertex_handle x)
Called when performing an edge contraction when an edge bx is replaced by an edge ax (not already pre...
Definition: Skeleton_blocker_complex_visitor.h:77