#ifndef _OTB_TRISKELE_ARRAY_TREE_LEADER_HPP #define _OTB_TRISKELE_ARRAY_TREE_LEADER_HPP #include #include #include #include "triskeleDebug.hpp" #include "triskeleBase.hpp" #include "triskeleArrayTreeBase.hpp" namespace otb { namespace triskele { namespace arrayTree { class Leader { private: /*! Taille de l'image (donc des tableaux leaderSetSize et leader) */ DimImg size; /*! Tableau des leaders, chaque case contient une référence vers principal leader connu */ vector leaders; public: inline Leader (DimImg vertexCount = 0); inline ~Leader (); /*! Remet à 0 et redéfinit la taille des tableaux */ inline void book (DimImg vertexCount); /*! Libère la mémoire allouée par les tableaux et met size à 0 */ inline void free (); /*! Cherche le leaders du pixel a, Si a n'en a pas, cela retourne a */ inline DimImg find (DimImg a) const; /*! Rédéfinit les leaders : a et tous les leaders de a ont pour leader r */ inline void link (DimImg a, const DimImg &r); inline DimImg *getLeaders (); inline vector &getLeadersVector (); }; #include "Leader.tpp" } // arrayTree } // triskele } // otb #endif // _OTB_TRISKELE_ARRAY_TREE_LEADER_HPP