00001
00004 #ifndef __VALUE_SET_HH__
00005 #define __VALUE_SET_HH__
00006
00007
00008 #include "border_data.hh"
00009 #include "vertex_data.hh"
00010
00011 class combi_map_base;
00012
00014 class value_set
00015 {
00016 protected:
00017
00018 combi_map_priv *map;
00019
00020 public:
00021
00022 value_set():map(0)
00023 {}
00025 void set_combinatorial_map(combi_map_priv &c_map)
00026 {
00027 map = &c_map;
00028 }
00030 virtual void init(combi_map_base &)=0;
00032 virtual void contract_edge(int level, dart d1, dart d2, vertex v1, vertex v2)
00033 {}
00035 virtual void remove_empty_self_loops(dart d1, dart d2, vertex v)
00036 {}
00038 virtual void remove_double_edges(int level, dart d1, dart d2)
00039 {}
00041 virtual void update_vertex_set(int, vertex, vertex)
00042 {}
00043
00044 };
00045
00046
00047 #endif // __VALUE_SET_HH__