-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016 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
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#ifndef __MEDPARTITIONER_PARALLELTOPOLOGY_HXX__
#define __MEDPARTITIONER_PARALLELTOPOLOGY_HXX__
+#include "MEDPARTITIONER.hxx"
#include "MEDPARTITIONER_Topology.hxx"
-#include "MEDPARTITIONER_ParaDomainSelector.hxx"
#include "InterpKernelHashMap.hxx"
{
class Graph;
class MeshCollection;
- class MEDPARTITIONER_FaceModel;
+ class ParaDomainSelector;
- class ParallelTopology : public Topology
+ class MEDPARTITIONER_EXPORT ParallelTopology : public Topology
{
public:
ParallelTopology();
- ParallelTopology(const std::vector<ParaMEDMEM::MEDCouplingUMesh*>&);
- ParallelTopology(const std::vector<ParaMEDMEM::MEDCouplingUMesh*>&,
+ ParallelTopology(const std::vector<MEDCoupling::MEDCouplingUMesh*>&);
+ ParallelTopology(const std::vector<MEDCoupling::MEDCouplingUMesh*>&,
const std::vector<MEDPARTITIONER::ConnectZone*>&,
std::vector<int*>&,
std::vector<int*>&,
int convertGlobalNode(int iglobal, int idomain);
+ std::vector<MEDPARTITIONER::ConnectZone*>& getCZ();
+
//adding a face to the topology
void appendFace(int idomain, int ilocal, int iglobal);
typedef INTERP_KERNEL::HashMultiMap<int,std::pair<int,int> > TGlob2DomainLoc;
TGlob2DomainLoc _glob_to_loc;
- std::vector<std::vector<int> > _loc_to_glob;
- INTERP_KERNEL::HashMultiMap<int,std::pair<int,int> > _node_glob_to_loc;
+ TGlob2DomainLoc _node_glob_to_loc;
//mapping local -> global
+ std::vector<std::vector<int> > _loc_to_glob;
std::vector<std::vector <int> > _node_loc_to_glob;
// global numbers in parallel mode
int _nb_total_faces;
int _nb_domain;
int _mesh_dimension;
+
+ //links to connectzones
+ std::vector<MEDPARTITIONER::ConnectZone*> _connect_zones;
+
};
}
#endif