Go to the documentation of this file.00001 #ifndef ipts_draw_h_
00002 #define ipts_draw_h_
00003 
00004 
00005 
00006 
00007 
00008 
00009 #include <vil/vil_image_view.h>
00010 
00011 
00012 
00013 template<class T>
00014 inline void ipts_draw_i_line(vil_image_view<T>& image, 
00015                              int i0, int j0, unsigned L, T value)
00016 {
00017   int ilo = i0; if (ilo<0) ilo=0;
00018   int ihi = i0+L; if (ihi>=int(image.ni()))  ihi=image.ni()-1;
00019   for (int i=ilo;i<=ihi;++i) image(i,j0)=value;
00020 }
00021 
00022 
00023 
00024 template<class T>
00025 inline void ipts_draw_j_line(vil_image_view<T>& image, 
00026                              int i0, int j0, unsigned L, T value)
00027 {
00028   int jlo = j0; if (jlo<0) jlo=0;
00029   int jhi = j0+L; if (jhi>=int(image.nj()))  jhi=image.nj()-1;
00030   for (int j=jlo;j<=jhi;++j) image(i0,j)=value;
00031 }
00032 
00033 
00034 template<class T>
00035 void ipts_draw_cross(vil_image_view<T>& image, int i0, int j0, unsigned L, T value)
00036 {
00037   ipts_draw_i_line(image,i0-L,j0,2*L+1,value);
00038   ipts_draw_j_line(image,i0,j0-L,2*L+1,value);
00039 }
00040 
00041 
00042 #endif // ipts_draw_h_