-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "MEDPARTITIONER_Graph.hxx"
-MEDPARTITIONER::Graph::Graph(MEDPARTITIONER::SkyLineArray *array, int *edgeweight):_graph(array),_partition(0),_edge_weight(edgeweight),_cell_weight(0)
+#include <set>
+
+MEDPARTITIONER::Graph::Graph(ParaMEDMEM::MEDCouplingSkyLineArray *array, int *edgeweight):_graph(array),_partition(0),_edge_weight(edgeweight),_cell_weight(0)
{
}
delete _partition;
delete _graph;
}
+
+int MEDPARTITIONER::Graph::nbDomains() const
+{
+ std::set<int> domains;
+ if ( _partition )
+ if ( ParaMEDMEM::DataArrayInt* array = _partition->getValueArray() )
+ {
+ for ( const int * dom = array->begin(); dom != array->end(); ++dom )
+ domains.insert( *dom );
+ }
+ return domains.size();
+}