-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013 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
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;