1 // Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 // File: MEDMEM_ConnectZone.hxx Author: Nadir Bouhamou (CEA Saclay)
25 # ifndef __CONNECTZONE_HXX__
26 # define __CONNECTZONE_HXX__
30 // few STL include files
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"
40 class MEDMEM_EXPORT CONNECTZONE
45 int _localDomainNumber;
46 int _distantDomainNumber;
48 MEDMEM::MESH * _localMesh;
49 MEDMEM::MESH * _distantMesh;
51 MEDMEM::MEDSKYLINEARRAY * _nodeCorresp;
52 MEDMEM::MEDSKYLINEARRAY * _faceCorresp;
54 map < pair <MED_EN::medEntityMesh, MED_EN::medEntityMesh>,
55 MEDMEM::MEDSKYLINEARRAY * >
61 CONNECTZONE(const CONNECTZONE & myConnectZone);
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 ;
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) ;
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);