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
00028 #ifndef OLENA_CONVERT_CONVERSION_NG_SE_HH
00029 # define OLENA_CONVERT_CONVERSION_NG_SE_HH
00030
00031 # include <oln/basics.hh>
00032
00033
00034 # include <oln/basics1d.hh>
00035 # include <oln/basics2d.hh>
00036 # include <oln/basics3d.hh>
00037 # include <oln/core/neighborhood1d.hh>
00038 # include <oln/core/neighborhood2d.hh>
00039 # include <oln/core/neighborhood3d.hh>
00040
00041 namespace oln {
00042 namespace convert {
00047 template<class N>
00048 typename oln::abstract::neighborhood<N>::win_type
00049 ng_to_se(const oln::abstract::neighborhood<N>& Ng)
00050 {
00051 typename oln::abstract::neighborhood<N>::win_type output;
00052 oln_iter_type(N) p(Ng);
00053 for_all(p)
00054 output.add(p);
00055 return output;
00056 }
00057
00062 template<class N>
00063 typename oln::abstract::neighborhood<N>::win_type
00064 ng_to_cse(const oln::abstract::neighborhood<N>& Ng)
00065 {
00066 typename oln::abstract::neighborhood<N>::win_type output;
00067 oln_iter_type(N) p(Ng);
00068 for_all(p)
00069 output.add(p);
00070 oln_dpoint_type(N) zero;
00071 for (unsigned size = 0; size < N::dim; ++size)
00072 zero.nth(size) = 0;
00073 output.add(zero);
00074 return output;
00075 }
00076
00077
00078 }
00079 }
00080
00081
00082 #endif // OLENA_CONVERT_CONVERSION_NG_SE_HH