00001 #ifndef COMPOSITEFRAGMENT_H 00002 #define COMPOSITEFRAGMENT_H 00003 00004 #include <vector> 00005 00006 class Fragment; 00007 00011 class CompositeFragment 00012 { 00013 public: 00014 00018 virtual ~CompositeFragment(){}; 00019 00023 CompositeFragment( void ) {}; 00024 00028 inline void addFragment( Fragment* p_NewFragment ); 00029 00033 inline void clear( void ); 00034 00038 inline const std::vector<Fragment*>& getFragments( void ) const; 00039 00044 inline void getProperties( std::vector<double>& p_properties ) const; 00045 00049 inline unsigned int getNbrProperties( void ) const; 00050 00054 inline void updateOccurenceCount( void ); 00055 00059 inline void updateGoodness( float p_goodness ); 00060 00061 protected: 00062 00063 private: 00064 00065 // To prevent copy. Should be implemented. 00066 CompositeFragment& operator=( const CompositeFragment& p_CompositeFragment ){ return *this;}; 00067 CompositeFragment( const CompositeFragment& p_CompositeFragment ){}; 00068 00069 std::vector<Fragment*> m_Fragments; 00070 }; 00071 00072 #include "CompositeFragment.inline.cc" 00073 00074 #endif 00075 t*> m_Fragments; 00076 }; 00077 00078 #include "CompositeFragment.inline.cc" 00079 00080 #endif