00001 #ifndef Impala_Core_Geometry_IxRectangle_h 00002 #define Impala_Core_Geometry_IxRectangle_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 // Image rectangle (+ annotation) 00016 class IxRectangle 00017 { 00018 public: 00019 00020 std::string mImageName; // dbFile 00021 std::string mSection; // dbSection 00022 std::string mDir; // dbDir 00023 Rectangle mRect; 00024 std::string mAnno; 00025 std::string mExtra; 00026 00027 int 00028 operator==(const IxRectangle& r) const 00029 { 00030 return ((mImageName == r.mImageName) && (mSection == r.mSection) && 00031 (mDir == r.mDir) && (mRect == r.mRect) && (mAnno == r.mAnno) 00032 && (mExtra == r.mExtra)); 00033 } 00034 00035 }; 00036 00037 inline std::ostream& 00038 operator<<(std::ostream& os, const IxRectangle& r) 00039 { 00040 os << "image type=\"" << r.mAnno << " rect=" << r.mRect << std::endl; 00041 return os; 00042 } 00043 00044 } // namespace Geometry 00045 } // namespace Core 00046 } // namespace Impala 00047 00048 #endif