]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM/MEDMEM_ConnectZone.hxx
Salome HOME
Fix problem of make distcheck
[modules/med.git] / src / MEDMEM / MEDMEM_ConnectZone.hxx
1 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 // File: MEDMEM_ConnectZone.hxx  Author: Nadir Bouhamou (CEA Saclay)
24 //
25 # ifndef __CONNECTZONE_HXX__
26 # define __CONNECTZONE_HXX__
27
28 #include "MEDMEM.hxx"
29
30 // few STL include files
31 #include <map>
32
33 // few Med Memory include files
34 #include "MEDMEM_STRING.hxx"
35 #include "MEDMEM_define.hxx"
36 #include "MEDMEM_Mesh.hxx"
37 #include "MEDMEM_SkyLineArray.hxx"
38
39 namespace MEDMEM {
40 class MEDMEM_EXPORT CONNECTZONE
41 {
42 private :
43   string _name;
44   string _description;
45   int _localDomainNumber;
46   int _distantDomainNumber;
47
48   MEDMEM::MESH * _localMesh;
49   MEDMEM::MESH * _distantMesh;
50
51   MEDMEM::MEDSKYLINEARRAY * _nodeCorresp;
52   MEDMEM::MEDSKYLINEARRAY * _faceCorresp;
53   
54   map < pair <MED_EN::medEntityMesh, MED_EN::medEntityMesh>,
55                                      MEDMEM::MEDSKYLINEARRAY * > 
56   _entityCorresp;
57
58 public :
59   CONNECTZONE();
60   ~CONNECTZONE();
61   CONNECTZONE(const CONNECTZONE & myConnectZone);
62
63   string getName() const ;
64   string getDescription() const ;
65   int getDistantDomainNumber() const ;
66   int getLocalDomainNumber() const ;
67   MEDMEM::MESH * getLocalMesh() const ;
68   MEDMEM::MESH * getDistantMesh() const ;
69
70   bool isEntityCorrespPresent(MED_EN::medEntityMesh localEntity,
71                               MED_EN::medEntityMesh distantEntity) const;
72   const int * getNodeCorrespIndex() const;
73   const int * getNodeCorrespValue() const;
74   int getNodeNumber() const;
75   const int * getFaceCorrespIndex() const;
76   const int * getFaceCorrespValue() const;
77   int getFaceNumber() const;
78   const int * getEntityCorrespIndex(MED_EN::medEntityMesh localEntity,
79                                     MED_EN::medEntityMesh distantEntity) const;
80   const int * getEntityCorrespValue(MED_EN::medEntityMesh localEntity,
81                                     MED_EN::medEntityMesh distantEntity) const;
82   int getEntityCorrespNumber(MED_EN::medEntityMesh localEntity,
83                   MED_EN::medEntityMesh distantEntity) const;
84   int getEntityCorrespLength(MED_EN::medEntityMesh localEntity,
85                   MED_EN::medEntityMesh distantEntity) const;
86   void setName(string name) ;
87   void setDescription(string description) ;
88   void setDistantDomainNumber(int distantDomainNumber) ;
89   void setLocalDomainNumber(int distantDomainNumber) ;
90   void setLocalMesh(MEDMEM::MESH * localMesh) ;
91   void setDistantMesh(MEDMEM::MESH * distantMesh) ;
92
93   void setNodeCorresp(int * nodeCorresp, int nbnode);
94   void setNodeCorresp(MEDMEM::MEDSKYLINEARRAY* array);
95   void setFaceCorresp(int * faceCorresp, int nbface);
96   void setFaceCorresp(MEDMEM::MEDSKYLINEARRAY* array);
97   void setEntityCorresp(MED_EN::medEntityMesh localEntity,
98                         MED_EN::medEntityMesh distantEntity,
99                         int * entityCorresp, int nbentity);
100   void setEntityCorresp(MED_EN::medEntityMesh localEntity,
101                         MED_EN::medEntityMesh distantEntity,
102                         MEDMEM::MEDSKYLINEARRAY* array);
103 };
104 }
105 # endif