00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 #ifndef MLN_CORE_ALIAS_DPOINT2D_HH
00028 # define MLN_CORE_ALIAS_DPOINT2D_HH
00029 
00034 
00035 # include <mln/core/dpoint.hh>
00036 # include <mln/core/def/coord.hh>
00037 
00038 
00039 namespace mln
00040 {
00041 
00044   typedef dpoint<mln::grid::square, mln::def::coord> dpoint2d;
00045 
00046 
00047 } 
00048 
00049 
00050 # include <mln/core/alias/point2d.hh>
00051 
00052 namespace mln
00053 {
00054 
00057 
00058   extern const dpoint2d up;
00059   extern const dpoint2d down;
00060   extern const dpoint2d left;
00061   extern const dpoint2d right;
00062 
00063   extern const dpoint2d up_left;
00064   extern const dpoint2d up_right;
00065   extern const dpoint2d down_left;
00066   extern const dpoint2d down_right;
00067 
00069 
00070 
00071 
00072 # ifndef MLN_INCLUDE_ONLY
00073 
00074 #  ifndef MLN_WO_GLOBAL_VARS
00075 
00076   const dpoint2d up    = dpoint2d( -1,  0 );
00077   const dpoint2d down  = dpoint2d( +1,  0 );
00078   const dpoint2d left  = dpoint2d(  0, -1 );
00079   const dpoint2d right = dpoint2d(  0, +1 );
00080 
00081   const dpoint2d up_left     = dpoint2d( -1,  -1 );
00082   const dpoint2d up_right    = dpoint2d( -1,  +1 );
00083   const dpoint2d down_left   = dpoint2d( +1,  -1 );
00084   const dpoint2d down_right  = dpoint2d( +1,  +1 );
00085 
00086 #  endif // !MLN_WO_GLOBAL_VARS
00087 
00088 # endif // ! MLN_INCLUDE_ONLY
00089 
00090 
00091 } 
00092 
00093 
00094 #endif // ! MLN_CORE_ALIAS_DPOINT2D_HH