Salome HOME
Update copyright info (2010->2011)
[modules/smesh.git] / src / SMESH_I / SMESH_MEDMesh_i.hxx
index 3fd6e71035aaa6cb84c2cfac0e879c2d0d46930e..acd9f495403fe886d884fffa4c2d97faf9e989fa 100644 (file)
@@ -1,32 +1,34 @@
-//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
+//  Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+//  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.
 //
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-// 
-//  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. 
-// 
-//  This library is distributed in the hope that it will be useful, 
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-//  Lesser General Public License for more details. 
-// 
-//  You should have received a copy of the GNU Lesser General Public 
-//  License along with this library; if not, write to the Free Software 
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-// 
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
 //
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
+//  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
 //  File   : SMESH_MEDMesh_i.hxx
 //  Module : SMESH
-
+//
 #ifndef _MED_SMESH_MESH_I_HXX_
 #define _MED_SMESH_MESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(MED)
 #include <string>
@@ -44,7 +46,7 @@
 
 class SMESH_Mesh_i;
 
-class SMESH_MEDMesh_i:
+class SMESH_I_EXPORT SMESH_MEDMesh_i:
   public virtual POA_SALOME_MED::MESH, 
   public virtual SALOME::GenericObj_i
 {
@@ -53,22 +55,22 @@ protected:
   ::SMESH_Mesh_i * _mesh_i;
   SMESHDS_Mesh *_meshDS;
   
-  string _meshId;
+  std::string _meshId;
   bool _compte;
   bool _creeFamily;
   int _indexElts;
   int _indexEnts;
   int _famIdent;
   
-  map < SALOME_MED::medGeometryElement, int >_mapIndToSeqElts;
-  SALOME_MED::long_array_var _seq_elemId[MED_NBR_GEOMETRIE_MAILLE];
+  std::map < SALOME_MED::medGeometryElement, int >_mapIndToSeqElts;
+  SALOME_TYPES::ListOfLong_var _seq_elemId[MED_NBR_GEOMETRIE_MAILLE];
   
-  map < SALOME_MED::medEntityMesh, int >_mapNbTypes;
-  map < SALOME_MED::medEntityMesh, int >_mapIndToVectTypes;
-  vector < SALOME_MED::medGeometryElement >
+  std::map < SALOME_MED::medEntityMesh, int >_mapNbTypes;
+  std::map < SALOME_MED::medEntityMesh, int >_mapIndToVectTypes;
+  std::vector < SALOME_MED::medGeometryElement >
   _TypesId[MED_NBR_GEOMETRIE_MAILLE];
   
-  vector < SALOME_MED::FAMILY_ptr > _families;
+  std::vector < SALOME_MED::FAMILY_ptr > _families;
 public:
   
   // Constructors and associated internal methods
@@ -81,9 +83,9 @@ public:
   void release() {}
   SALOME::SenderDouble_ptr getSenderForCoordinates(SALOME_MED::medModeSwitch) {return SALOME::SenderDouble::_nil();}
   SALOME::SenderInt_ptr getSenderForConnectivity(SALOME_MED::medModeSwitch, 
-                                                SALOME_MED::medConnectivity, 
-                                                SALOME_MED::medEntityMesh, 
-                                                SALOME_MED::medGeometryElement) 
+                                                 SALOME_MED::medConnectivity, 
+                                                 SALOME_MED::medEntityMesh, 
+                                                 SALOME_MED::medGeometryElement) 
   {
     return SALOME::SenderInt::_nil();
   }
@@ -102,7 +104,7 @@ public:
   
   CORBA::Boolean
   existConnectivity(SALOME_MED::medConnectivity connectivityType,
-                   SALOME_MED::medEntityMesh entity)
+                    SALOME_MED::medEntityMesh entity)
     throw (SALOME::SALOME_Exception);
   
   char *getCoordinatesSystem() throw(SALOME::SALOME_Exception);
@@ -110,13 +112,13 @@ public:
   CORBA::Double getCoordinate(CORBA::Long Number, CORBA::Long Axis)
     throw (SALOME::SALOME_Exception);
   
-  SALOME_MED::double_array * getCoordinates(SALOME_MED::medModeSwitch typeSwitch)
+  SALOME_TYPES::ListOfDouble * getCoordinates(SALOME_MED::medModeSwitch typeSwitch)
     throw(SALOME::SALOME_Exception);
 
-  SALOME_MED::string_array * getCoordinatesNames()
+  SALOME_TYPES::ListOfString * getCoordinatesNames()
     throw(SALOME::SALOME_Exception);
   
-  SALOME_MED::string_array * getCoordinatesUnits()
+  SALOME_TYPES::ListOfString * getCoordinatesUnits()
     throw(SALOME::SALOME_Exception);
   
   CORBA::Long getNumberOfNodes() throw(SALOME::SALOME_Exception);
@@ -126,44 +128,44 @@ public:
   
   SALOME_MED::medGeometryElement_array *
   getTypes(SALOME_MED::medEntityMesh entity) throw(SALOME::
-                                                  SALOME_Exception);
+                                                   SALOME_Exception);
   
   SALOME_MED::medGeometryElement
   getElementType(SALOME_MED::medEntityMesh entity,
-                CORBA::Long number)
+                 CORBA::Long number)
     throw   (SALOME::SALOME_Exception);
   
   CORBA::Long getNumberOfElements(SALOME_MED::medEntityMesh entity,
-                                 SALOME_MED::medGeometryElement geomElement)
+                                  SALOME_MED::medGeometryElement geomElement)
     throw(SALOME::SALOME_Exception);
   
-  SALOME_MED::long_array *
+  SALOME_TYPES::ListOfLong *
   getConnectivity(SALOME_MED::medModeSwitch typeSwitch,
-                 SALOME_MED::medConnectivity mode,
-                 SALOME_MED::medEntityMesh entity,
-                 SALOME_MED::medGeometryElement geomElement)
+                  SALOME_MED::medConnectivity mode,
+                  SALOME_MED::medEntityMesh entity,
+                  SALOME_MED::medGeometryElement geomElement)
     throw(SALOME::SALOME_Exception);
   
-  SALOME_MED::long_array *
+  SALOME_TYPES::ListOfLong *
   getConnectivityIndex(SALOME_MED::medConnectivity mode,
-                      SALOME_MED::medEntityMesh entity)
+                       SALOME_MED::medEntityMesh entity)
     throw(SALOME::SALOME_Exception);
   
-  SALOME_MED::long_array*
+  SALOME_TYPES::ListOfLong*
   getGlobalNumberingIndex(SALOME_MED::medEntityMesh entity)
     throw (SALOME::SALOME_Exception);
   
   CORBA::Long getElementNumber(SALOME_MED::medConnectivity mode,
-                              SALOME_MED::medEntityMesh entity,
-                              SALOME_MED::medGeometryElement type,
-                              const SALOME_MED::long_array & connectivity)
+                               SALOME_MED::medEntityMesh entity,
+                               SALOME_MED::medGeometryElement type,
+                               const SALOME_TYPES::ListOfLong & connectivity)
     throw(SALOME::SALOME_Exception);
   
-  SALOME_MED::long_array *
+  SALOME_TYPES::ListOfLong *
   getReverseConnectivity(SALOME_MED::medConnectivity mode)
     throw(SALOME::SALOME_Exception);
   
-  SALOME_MED::long_array *
+  SALOME_TYPES::ListOfLong *
   getReverseConnectivityIndex(SALOME_MED::medConnectivity mode) 
     throw(SALOME::SALOME_Exception);
   
@@ -179,20 +181,24 @@ public:
     throw(SALOME::SALOME_Exception);
   
   SALOME_MED::FAMILY_ptr getFamily(SALOME_MED::medEntityMesh entity,
-                                  CORBA::Long i) 
+                                   CORBA::Long i) 
     throw(SALOME::SALOME_Exception);
   
   SALOME_MED::Group_array * getGroups(SALOME_MED::medEntityMesh entity)
     throw(SALOME::SALOME_Exception);
   
   SALOME_MED::GROUP_ptr getGroup(SALOME_MED::medEntityMesh entity,
-                                CORBA::Long i) 
+                                 CORBA::Long i) 
     throw(SALOME::SALOME_Exception);
   
   SALOME_MED::SUPPORT_ptr
   getBoundaryElements(SALOME_MED::medEntityMesh entity)
     throw (SALOME::SALOME_Exception);
   
+  SALOME_MED::SUPPORT_ptr
+  getSupportOnAll(SALOME_MED::medEntityMesh entity)
+    throw (SALOME::SALOME_Exception);
+  
   SALOME_MED::SUPPORT_ptr getSkin(SALOME_MED::SUPPORT_ptr mySupport3D)
     throw (SALOME::SALOME_Exception);
   
@@ -216,10 +222,10 @@ public:
   
   // Others
   void addInStudy(SALOMEDS::Study_ptr myStudy,
-                 SALOME_MED::MESH_ptr myIor) 
+                  SALOME_MED::MESH_ptr myIor) 
     throw(SALOME::SALOME_Exception);
   CORBA::Long addDriver(SALOME_MED::medDriverTypes driverType,
-                       const char *fileName, const char *meshName)
+                        const char *fileName, const char *meshName)
     throw(SALOME::SALOME_Exception);
   void rmDriver(CORBA::Long i) throw(SALOME::SALOME_Exception);
   void read(CORBA::Long i) throw(SALOME::SALOME_Exception);