00001 00004 #ifndef __COMBI_MAP_BASE_EXP_HH__ 00005 #define __COMBI_MAP_BASE_EXP_HH__ 00006 00007 #include "combi_map_base.hh" 00008 00011 class combi_map_base_exp: public combi_map_base 00012 { 00013 private: 00014 // Tab of dart that hold the sigma of the map 00015 tab_dart sigma_base; 00016 // The width and height dimention 00017 int dimx,dimy; 00018 // number of edge of the map 00019 int nb_edge; 00020 00021 public: 00023 combi_map_base_exp(int dimx,int dimy); 00025 virtual ~combi_map_base_exp() 00026 {} 00028 dart sigma(dart) const; 00030 dart phi(dart b); 00032 int give_nb_edge() const; 00034 unsigned long give_background() const; 00035 00037 int compute_index_orientation(dart,dart); 00039 void give_pixel(dart,point &p) const; 00041 void give_pointel(dart,point &p) const; 00043 move_type give_move(dart) const ; 00045 void init_combi_map_priv(combi_map_priv &c_map) const; 00047 int give_width()const; 00049 int give_height()const; 00050 00051 }; 00052 00053 #endif // __COMBI_MAP_BASE_EXP_HH__