-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014 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
protected:
- SMESH_OctreeNode (int maxNbNodes );
+ struct Limit : public SMESH_TreeLimit
+ {
+ int myMaxNbNodes;
+ Limit(int maxLevel, double minSize, int maxNbNodes)
+ :SMESH_TreeLimit(maxLevel, minSize), myMaxNbNodes(maxNbNodes) {}
+ };
+
+ int getMaxNbNodes() const;
+
+ SMESH_OctreeNode();
// Compute the bounding box of the whole set of nodes myNodes
virtual Bnd_B3d* buildRootBox();
virtual void buildChildrenData();
// Construct an empty SMESH_OctreeNode used by SMESH_Octree::buildChildren()
- virtual SMESH_Octree* allocateOctreeChild() const;
+ virtual SMESH_Octree* newChild() const;
// Return in result a list of nodes closed to Node and remove it from SetOfNodes
void FindCoincidentNodes( const SMDS_MeshNode * Node,
std::list<const SMDS_MeshNode*>* Result,
const double precision);
- // The max number of nodes a leaf box can contain
- int myMaxNbNodes;
-
// The set of nodes inside the box of the Octree (Empty if Octree is not a leaf)
TIDSortedNodeSet myNodes;