X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_Tree.hxx;h=6afd6e03f0dcf519c863cd9daf353c895fccf2b2;hb=05318c85be12a7a78e955fa9f9390c0a4895f8ca;hp=3af4487f41190eddb44651636bc7a46c49f710b5;hpb=7eda9ca931ed2a11cb5e4637e4ffe19f5c061115;p=modules%2Fsmesh.git diff --git a/src/SMESHUtils/SMESH_Tree.hxx b/src/SMESHUtils/SMESH_Tree.hxx index 3af4487f4..6afd6e03f 100644 --- a/src/SMESHUtils/SMESH_Tree.hxx +++ b/src/SMESHUtils/SMESH_Tree.hxx @@ -98,6 +98,9 @@ protected: // Allocate a bndbox according to childIndex. childIndex is zero based virtual box_type* newChildBox(int childIndex) const = 0; + // Change size of a box by a factor; each dimension changes independently of others + virtual void enlargeByFactor( box_type* box, double factor ) const = 0; + // Fill in data of the children virtual void buildChildrenData() = 0; @@ -205,13 +208,13 @@ void SMESH_Tree::buildChildren() myChildren = new SMESH_Tree*[NB_CHILDREN]; // get the whole model size - double rootSize = 0; - { - SMESH_Tree* root = this; - while ( root->myLevel > 0 ) - root = root->myFather; - rootSize = root->maxSize(); - } + // double rootSize = 0; + // { + // SMESH_Tree* root = this; + // while ( root->myLevel > 0 ) + // root = root->myFather; + // rootSize = root->maxSize(); + // } for (int i = 0; i < NB_CHILDREN; i++) { // The child is of the same type than its father (For instance, a SMESH_OctreeNode) @@ -224,7 +227,7 @@ void SMESH_Tree::buildChildren() myChildren[i]->myLimit = myLimit; myChildren[i]->myLevel = myLevel + 1; myChildren[i]->myBox = newChildBox( i ); - myChildren[i]->myBox->Enlarge( rootSize * 1e-10 ); + enlargeByFactor( myChildren[i]->myBox, 1. + 1e-10 ); if ( myLimit->myMinBoxSize > 0. && myChildren[i]->maxSize() <= myLimit->myMinBoxSize ) myChildren[i]->myIsLeaf = true; }