void RDirNode::calcArea() { float total_file_area = file_area * visible_count; dir_area = total_file_area; for(std::list<RDirNode*>::iterator it = children.begin(); it != children.end(); it++) { RDirNode* node = (*it); dir_area += node->getArea(); } }
void RDirNode::calcRadius() { float total_file_area = file_area * visible_count; dir_area = total_file_area; //float parent_circ = 0.0; for(std::list<RDirNode*>::iterator it = children.begin(); it != children.end(); it++) { RDirNode* node = (*it); dir_area += node->getArea(); // parent_circ += node->getRadiusSqrt(); } this->dir_radius = std::max(1.0f, (float)sqrt(dir_area)) * gGourceDirPadding; //this->dir_radius_sqrt = sqrt(dir_radius); //dir_radius_sqrt is not used // this->parent_radius = std::max(1.0, parent_circ / PI); this->parent_radius = std::max(1.0f, (float) sqrt(total_file_area) * gGourceDirPadding); }