Bonjour;
je suis un débutant en programation C++ . Je cherche une implantation d'une class Quadtree
class Quadtree { public: Quadtree(); Quadtree(const Quadtree & inQuadtree); ~Quadtree(); const Quadtree & operator=(const Quadtree & inQuadtree); void clear(); void encode(const std::vector > & inImage); void decode(std::vector > & outImage, unsigned int inWidth, unsigned int inHeight) const; private: Node * mRoot; };
vous ne devez rien changer à cette interface. Un quadtree est donc représenté par un arbre dont le noeud racine est le membre mRoot. Le design de cette classe fait appel à une structure de noeud classique pour représenter les arbres m-aires en utilisant seulement deux pointeurs par noeud. L'interface de la classe Node est donnée ci-dessous:
class Node { public: enum Colour { WHITE=0,BLACK=1,GRAY=2 }; Node(); Node(const Node & inNode); ~Node(); const Node & operator=(const Node & inNode); void clear(); void encode ( const std::vector > & inImage, unsigned int inStartLine, unsigned int inStartCol, unsigned int inWidth, unsigned int inHeight, Colour inDefaultColour = BLACK ); void decode ( std::vector > & ioImage, unsigned int inStartLine, unsigned int inStartCol, unsigned int inWidth, unsigned int inHeight, Colour inDefaultColour = BLACK ) const; Node* getFirstChild() const { return mChild; } Node* getNextSibling() const { return mSibling; } Colour getColour() const { return mColour; } private: void setColour(); Colour mColour; Node * mChild; Node * mSibling; };
/STD::VECTOR
/STD::VECTOR