-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
static int nbChildren() { return NB_CHILDREN; }
- // Compute the bigger dimension of my box
+ // Compute the biggest dimension of my box
virtual double maxSize() const = 0;
protected:
// Tree limit
const SMESH_TreeLimit* myLimit;
-private:
- // Build the children recursively
- void buildChildren();
+ // Bounding box of a tree
+ box_type* myBox;
// Level of the Tree
int myLevel;
- box_type* myBox;
+ // Build the children recursively
+ void buildChildren();
};
//===========================================================================
myFather(0),
myIsLeaf( false ),
myLimit( limit ),
- myLevel(0),
- myBox(0)
+ myBox(0),
+ myLevel(0)
{
- if ( !myLimit ) myLimit = new SMESH_TreeLimit();
+ //if ( !myLimit ) myLimit = new SMESH_TreeLimit();
}
//================================================================================
{
if ( myLevel==0 )
{
+ if ( !myLimit ) myLimit = new SMESH_TreeLimit();
myBox = buildRootBox();
if ( myLimit->myMinBoxSize > 0. && maxSize() <= myLimit->myMinBoxSize )
myIsLeaf = true;
myChildren[i] = newChild();
// and we assign to him its box.
myChildren[i]->myFather = this;
+ if (myChildren[i]->myLimit)
+ delete myChildren[i]->myLimit;
myChildren[i]->myLimit = myLimit;
myChildren[i]->myLevel = myLevel + 1;
myChildren[i]->myBox = newChildBox( i );