00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00021 #ifndef _Draw_hpp
00022 #define _Draw_hpp
00023 #include<ImLib3D/Geometry3D.hpp>
00024 #include<ImLib3D/ImageProcessor.hpp>
00025
00027 template <class Im3DValue>
00028 class Pen
00029 {
00030 Im3DValue color;
00031 bool antialias;
00032 float thickness;
00033 public:
00034 const Im3DValue& Color() const { return color;}
00035 bool Antialias() const { return antialias;}
00036
00037 Pen(const Im3DValue &_color, bool _antialias=false,float _thickness = 1) :
00038 color(_color),
00039 antialias(_antialias),
00040 thickness(_thickness)
00041 {
00042 ;
00043 }
00044 };
00045
00046
00047
00048 namespace IP3D
00049 {
00051 template <class ImageType>
00052 void DrawSegment3D(const ImageType& src, const Segment3D& segment , const Pen<typename ImageType::value_type> &pen,ImageType& res);
00053 };
00054
00055 #include<ImLib3D/Draw.hxx>
00056
00057 #endif //_Draw_hpp