Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

BiColorMarkerData.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef _BICOLORMARKERDATA_H_
00003 #define _BICOLORMARKERDATA_H_
00004 
00005 #include <vector>
00006 
00007 #include "DualCoding/ShapeRoot.h"
00008 
00009 namespace DualCoding {
00010 
00011 class MapBuilderRequest;
00012 
00013 //! Marker shapes, described by a single point in space
00014 class BiColorMarkerData : public MarkerData {
00015 public:
00016   //! the color on the top of the marker
00017   rgb topColor;
00018   //! the color on the bottom of the marker
00019   rgb bottomColor;
00020 
00021 public:
00022   //! Constructor
00023   BiColorMarkerData(ShapeSpace& space, const Point& center, const rgb topColor, const rgb bottomColor);
00024     
00025   DATASTUFF_H(BiColorMarkerData);
00026 
00027   //! Print information about this shape.
00028   virtual void printParams() const;
00029     
00030   virtual bool isMatchingMarker(const Shape<MarkerData>& other) const;
00031 
00032   //! Return the string description for this marker (used to display marker specific information)
00033   virtual std::string getMarkerDescription() const;
00034   
00035   //! Extract bicolor markers from @a sketch
00036   static std::vector<Shape<MarkerData> > extractMarkers(const Sketch<uchar> &sketch, const MapBuilderRequest &req);
00037   
00038 public:
00039   //! type of bicolor markers
00040   static const MarkerType_t biColorMarkerType;
00041   
00042 };
00043 
00044 template<> class Shape<BiColorMarkerData> : public ShapeRoot {
00045 public:
00046   SHAPESTUFF_H(BiColorMarkerData);
00047 };
00048 
00049 } // namespace
00050 
00051 #endif // MARKERDATA_H_

DualCoding 5.1CVS
Generated Mon May 9 04:56:25 2016 by Doxygen 1.6.3