• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List

dpoint2d.hh

00001 // Copyright (C) 2007, 2008, 2009 EPITA Research and Development
00002 // Laboratory (LRDE)
00003 //
00004 // This file is part of Olena.
00005 //
00006 // Olena is free software: you can redistribute it and/or modify it under
00007 // the terms of the GNU General Public License as published by the Free
00008 // Software Foundation, version 2 of the License.
00009 //
00010 // Olena is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with Olena.  If not, see <http://www.gnu.org/licenses/>.
00017 //
00018 // As a special exception, you may use this file as part of a free
00019 // software project without restriction.  Specifically, if other files
00020 // instantiate templates or use macros or inline functions from this
00021 // file, or you compile this file and link it with other files to produce
00022 // an executable, this file does not by itself cause the resulting
00023 // executable to be covered by the GNU General Public License.  This
00024 // exception does not however invalidate any other reasons why the
00025 // executable file might be covered by the GNU General Public License.
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 } // end of namespace mln
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 } // end of namespace mln
00092 
00093 
00094 #endif // ! MLN_CORE_ALIAS_DPOINT2D_HH

Generated on Tue Oct 4 2011 15:23:42 for Milena (Olena) by  doxygen 1.7.1