#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();
+}