00001 // 00002 // class image_prop 00003 // stumeikle Sun May 12 20:43:47 2002 00004 // 00005 // 00006 00007 #ifndef IMAGE_PROP_H 00008 #define IMAGE_PROP_H 00009 00010 #include <boost/shared_ptr.hpp> 00011 #include "image.h" 00012 #include "rgba.h" 00013 #include "object.h" 00014 00015 namespace mimas { 00025 class prop: public object 00026 { 00027 //baseclass of the image properties 00028 // a property associated with a point on an image 00029 public: 00030 typedef enum{undefined_t, edgel_t, corner_t, edge_string_t} property_type; 00031 00032 private: 00033 property_type type; 00034 prop *next; 00035 00036 protected: 00037 void setPropertyType( property_type t ) { type = t; } 00038 00039 public: 00040 prop( property_type t ) { type = t; next=NULL; } 00041 00042 virtual void draw( image< rgba< unsigned char > >& output, 00043 int i, int j, bool c ) 00044 { 00045 // draw the property. this should always be overloaded. one time which is 00046 // maybe isnt is during canny post processing: 00047 std::cout << "#FIX ME# PruneJuncs bug at pixel:" << i << "," << j 00048 << std::endl; 00049 } 00050 }; 00051 00052 typedef boost::shared_ptr< prop > prop_ptr; 00053 00054 } 00055 #endif