void ViewBTree::AddNode (uint num)
{
+ if (node_placed[num]) {
+ std::cout << "WARNING : Tratando de agregar de nuevo el nodo " << num << std::endl;
+ return;
+ }
+
+ node_placed[num] = true;
/* Muestro la raiz */
double y = 0;
uchar *node = ReadBlock (num);
std::list<uint> childs = vnode->getChilds ();
std::list<uint>::iterator hit = childs.begin ();
while (hit != childs.end ()) {
+ if ((*hit) == 0) {
+ std::cout << "WARNING : Referencia a 0 encontrada!!" << std::endl;
+ hit = childs.end ();
+ continue;
+ }
AddNode (*hit);
hit++;
}
int max_level; /* Lo saco de la raiz */
/* Posicion X por nivel */
std::map<uint,double> pos_x;
+ /* Control para no poner 2 veces un nodo */
+ /* Un nodo que quiera ser puesto 2 veces es un bug :) */
+ std::map<uint,bool> node_placed;
void AddNode (uint num);