Salome HOME
0020206: EDF SMESH 987: Netgen1D2D3D +submesh
[modules/smesh.git] / src / SMESH / SMESH_Octree.cxx
index 5b224ae5d8ff163c56c6b4a097cb6373e3f43bea..63457088e721db4231ef3e45c8f85680d1335645 100644 (file)
@@ -1,6 +1,6 @@
-//  SMESH  SMESH_Octree : global Octree implementation
+//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  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
 //  License along with this library; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+//  SMESH  SMESH_Octree : global Octree implementation
 // File      : SMESH_Octree.cxx
 // Created   : Tue Jan 16 16:00:00 2007
 // Author    : Nicolas Geimer & AurĂ©lien Motteux(OCC)
 // Module    : SMESH
-
+//
 #include "SMESH_Octree.hxx"
 
 //===========================================================================
@@ -35,6 +34,7 @@
  */
 //===========================================================================
 SMESH_Octree::SMESH_Octree (const int maxLevel, const double minBoxSize):
+    myChildren(NULL),
     myFather(NULL),
     myLevel(0),
     myMaxLevel(maxLevel),
@@ -71,8 +71,9 @@ SMESH_Octree::~SMESH_Octree ()
 //===========================================================================
 void SMESH_Octree::setBox(const Bnd_B3d* box)
 {
-  delete myBox;
-  myBox=new Bnd_B3d(*box);
+//   delete myBox;
+//   myBox=new Bnd_B3d(*box);
+  *myBox = *box;
 }
 
 //===========================================================================
@@ -81,11 +82,12 @@ void SMESH_Octree::setBox(const Bnd_B3d* box)
  * \param box          - Set box to the 3d Bounding Box of the Octree
  */
 //===========================================================================
-void SMESH_Octree::getBox(Bnd_B3d* box)
+void SMESH_Octree::getBox(Bnd_B3d& box)
 {
-  if(box != NULL)
-    delete box;
-  box = new Bnd_B3d (*myBox);
+//   if(box != NULL)
+//     delete box;
+//   box = new Bnd_B3d (*myBox);
+  box = *myBox;
 }
 
 //===========================================================================
@@ -135,7 +137,7 @@ void SMESH_Octree::Compute()
 //=================================================================
 void SMESH_Octree::buildChildren()
 {
-  myChildren = new (SMESH_Octree*)[8];
+  myChildren = new SMESH_Octree*[8];
 
   gp_XYZ min = myBox->CornerMin();
   gp_XYZ max = myBox->CornerMax();