00001 #ifndef Impala_Core_Geometry_RectAnno_h 00002 #define Impala_Core_Geometry_RectAnno_h 00003 00004 #include <string> 00005 #include "Core/Geometry/Rectangle.h" 00006 00007 namespace Impala 00008 { 00009 namespace Core 00010 { 00011 namespace Geometry 00012 { 00013 00014 00015 // Rectangle + annotation 00016 class RectAnno 00017 { 00018 public: 00019 00020 RectAnno() 00021 { 00022 } 00023 00024 RectAnno(Rectangle rect, std::string anno) 00025 : mRect(rect), mAnno(anno) 00026 { 00027 } 00028 00029 int 00030 operator==(const RectAnno& r) const 00031 { 00032 return ((mRect == r.mRect) && (mAnno == r.mAnno)); 00033 } 00034 00035 Rectangle mRect; 00036 std::string mAnno; 00037 00038 }; 00039 00040 inline std::ostream& 00041 operator<<(std::ostream& os, RectAnno& r) 00042 { 00043 os << "annotation=\"" << r.mAnno << " rect=" << r.mRect << std::endl; 00044 return os; 00045 } 00046 00047 } // namespace Geometry 00048 } // namespace Core 00049 } // namespace Impala 00050 00051 #endif