#ifndef _OTB_TRISKELE_COMP_ATTRIBUTE_HPP #define _OTB_TRISKELE_COMP_ATTRIBUTE_HPP #include "triskeleBase.hpp" #include "Tree.hpp" namespace otb { namespace triskele { template class CompAttribute { public: inline CompAttribute (const Tree &tree); inline ~CompAttribute (); inline void updateTranscient (); inline const AttrT *getValues () const; inline AttrT *getValues (); inline void printValues (const string &msg) const; protected: const Tree &tree; DimNodeId leafCount; AttrT *values; inline void free (); inline void book (const DimImg &leafCount); }; } // triskele } // otb #include "Attributes/WeightAttributes.hpp" namespace otb { namespace triskele { template class CompAttributeC : public CompAttribute { public: inline CompAttributeC (const Tree &tree, const unsigned int &treeCoreCount); inline ~CompAttributeC (); protected: const unsigned int treeCoreCount; template inline void computeSameCompLevel (const CumpFunctPSE &cumpFunctPSE /* cumpFunctPSE (DimImg parentId)*/); }; #include "CompAttribute.tpp" } // triskele } // otb #endif // _OTB_TRISKELE_COMP_ATTRIBUTE_HPP