00001 00004 #ifndef __COMBI_MAP_BASE_HH__ 00005 #define __COMBI_MAP_BASE_HH__ 00006 00007 #include "combi_map_priv.hh" 00008 #include "point.hh" 00009 00010 class combi_map_priv; 00011 00013 class combi_map_base: public combi_map 00014 { 00015 public: 00017 virtual dart sigma(dart) const=0; 00018 00020 // to modify if you wish to not use the implicit relationship alpha(b)=-b 00021 dart phi(dart b) 00022 { 00023 return sigma(-b); 00024 } 00025 00027 // to modify if you wish to not use the implicit relationship alpha(b)=-b 00028 virtual dart alpha(dart b) const 00029 { 00030 return -b; 00031 } 00033 virtual int compute_index_orientation(dart,dart)=0; 00035 virtual void give_pixel(dart,point &p)const =0 ; 00037 virtual void give_pointel(dart,point &p) const =0; 00039 virtual move_type give_move(dart) const =0; 00041 virtual void init_combi_map_priv(combi_map_priv &c_map) const =0; 00043 virtual int give_width()const =0 ; 00045 virtual int give_height()const =0 ; 00046 }; 00047 00048 00049 00050 #endif // __COMBI_MAP_BASE_HH__