int bGroup::heightUpdate(block & grab, block & comp) { int ret=0; for (unsigned int i=0; i<comp.numInside(); i++) { heightUpdate(grab, comp.blocksIn[i]); } for (unsigned int i=0; i<comp.size(); i++) { heightUpdate(grab, comp.blocksOn[i]); } if(comp.blockIsInside(grab)&&!comp.bSeq&&!grab.numBlock){ if(!comp.inBlockIn(grab.x,grab.y)) comp.h=grab.heightOnlyOn(true)+comp.heightInside()+grab.h+65-((!comp.numInside())?40:0); else comp.h=comp.heightInside()+65-((!comp.numInside())?40:0); comp.updatePositions(grab); } return ret; }
void bGroup::resetUsed(block & t) { //-------- resets the log of what blocks have been used in the last print stage used[""]=false; used[t.title]=false; for (unsigned int i=0; i<t.numInside(); i++) { resetUsed(t.blocksIn[i]); } for (unsigned int i=0; i<t.size(); i++) { resetUsed(t.blocksOn[i]); } }
void resetList(block & t, map<string,bool> & used) { //-------- resets the log of what blocks have been used in the last print stage used[""]=false; used[t.title]=false; for (unsigned int i=0; i<t.numInside(); i++) { resetList(t.blocksIn[i],used); } for (unsigned int i=0; i<t.size(); i++) { resetList(t.blocksOn[i],used); } }