00001 /******************************************************************************* 00002 * ObjectProperties.h 00003 * 00004 * (C) 2007 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * Additional information: 00008 * $Id: ObjectProperties.h 30210 2009-03-13 15:36:58Z sisuthie $ 00009 *******************************************************************************/ 00010 00011 00012 #ifndef OBJECTPROPERTIES_H 00013 #define OBJECTPROPERTIES_H 00014 00015 #include <vector> 00016 #include <string> 00017 00018 // #include <konihcl/OIOnih.h> // TODO get rid of this 00019 #include "../../Workers/Puma2/GrayLevelImage8.h" 00020 00021 #include "../../Workers/Puma2/HistogramUV.h" 00022 #include "../../Workers/Puma2/ColorImageUV8.h" 00023 #include "ImageProperties.h" 00024 00030 class ObjectProperties { 00031 00032 public: 00033 00035 ObjectProperties( std::string name="" ); 00036 00038 ObjectProperties( const ObjectProperties& other ); 00039 00041 ~ObjectProperties(); 00042 00044 ObjectProperties& operator= (const ObjectProperties& right); 00045 00047 void addImageProperties( ImageProperties* imageProperties ); 00048 00050 void setType(std::string type) { m_Type = type; } 00051 00052 void setName( std::string name ) { m_Name = name; } 00053 00054 // GETTER FUNCTIONS 00055 00057 std::vector<std::string> getImageNames(); 00058 00060 std::string getName() { return m_Name; } 00061 00063 std::string getType() { return m_Type; } 00064 00066 const HistogramUV* getMeanHistogram() const { return m_MeanHistogram; } 00067 00068 const std::vector< ImageProperties* > getImageProperties( ) const { return m_ImageProperties; } 00069 00070 const ImageProperties* getImageProperties( std::string name ) const; 00071 00072 void deleteImageProperties( std::string name ); 00073 00074 void deleteImageProperties( int index ); 00075 00076 // TODO this is needed to load objects from hd !!! 00077 00078 // /** @brief Serialize to stream */ 00079 // void storer( ExtendedOutStream& extStrm ); 00080 00081 // /** @brief Deserialize from stream */ 00082 // ObjectProperties( ExtendedInStream& extStrm ); 00083 00085 void printOn( std::ostream& strm ); 00086 00087 private: 00088 00089 std::string m_Name; 00090 00091 std::string m_Type; 00092 00093 HistogramUV* m_MeanHistogram; 00094 00095 std::vector< ImageProperties* > m_ImageProperties; 00096 }; 00097 00098 #endif