Salome HOME
Optimized algo for PlayGround
[modules/yacs.git] / src / engine / Switch.cxx
index 5c0b7a2d85cff08f0ad5489a6b2c4ddc82deea6a..99e6ba45ae1ca271e3643a563f67b16ca646540f 100644 (file)
@@ -408,12 +408,15 @@ int Switch::getMaxLevelOfParallelism() const
   return ret;
 }
 
-double Switch::getWeightRegardingDPL() const
+void Switch::getWeightRegardingDPL(ComplexWeight *weight)
 {
-  double ret(0);
+  ComplexWeight localWeight;
   for(std::map< int , Node * >::const_iterator it=_mapOfNode.begin();it!=_mapOfNode.end();it++)
-    ret=std::max(ret,((*it).second)->getWeightRegardingDPL());
-  return ret;
+  {
+    ((*it).second)->getWeightRegardingDPL(&localWeight);
+    weight->max(localWeight);
+    localWeight.setToZero();
+  }
 }
 
 void Switch::partitionRegardingDPL(const PartDefinition *pd, std::map<ComposedNode *, YACS::BASES::AutoRefCnt<PartDefinition> >& zeMap)