Salome HOME
Typo and whitespace fixes by Kunda
[modules/med.git] / src / MEDCouplingCorba / Client / MEDCouplingMeshClient.cxx
index 9f1c6e8df6584d208590e4fa281f16c648c11bdb..58436cc3edb00b68936571da959207693e18f165 100644 (file)
@@ -1,9 +1,9 @@
-// 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
 
 #include "MEDCouplingMeshClient.hxx"
 #include "MEDCouplingUMeshClient.hxx"
+#include "MEDCoupling1SGTUMeshClient.hxx"
+#include "MEDCoupling1DGTUMeshClient.hxx"
 #include "MEDCouplingExtrudedMeshClient.hxx"
-#include "MEDCouplingExtrudedMesh.hxx"
+#include "MEDCouplingMappedExtrudedMesh.hxx"
 #include "MEDCouplingCMeshClient.hxx"
+#include "MEDCouplingCurveLinearMeshClient.hxx"
+#include "MEDCouplingIMeshClient.hxx"
 #include "MEDCouplingCMesh.hxx"
+#include "MEDCouplingCurveLinearMesh.hxx"
+#include "MEDCouplingIMesh.hxx"
 #include "MEDCouplingUMesh.hxx"
+#include "MEDCoupling1GTUMesh.hxx"
 
 #include <vector>
 
-using namespace ParaMEDMEM;
+using namespace MEDCoupling;
 
 MEDCouplingMesh *MEDCouplingMeshClient::New(SALOME_MED::MEDCouplingMeshCorbaInterface_ptr meshPtr)
 {
@@ -53,6 +60,34 @@ MEDCouplingMesh *MEDCouplingMeshClient::New(SALOME_MED::MEDCouplingMeshCorbaInte
       CORBA::release(cmeshPtr);
       return ret;
     }
+  SALOME_MED::MEDCouplingCurveLinearMeshCorbaInterface_ptr clmeshPtr=SALOME_MED::MEDCouplingCurveLinearMeshCorbaInterface::_narrow(meshPtr);
+  if(!CORBA::is_nil(clmeshPtr))
+    {
+      MEDCouplingMesh *ret=MEDCouplingCurveLinearMeshClient::New(clmeshPtr);
+      CORBA::release(clmeshPtr);
+      return ret;
+    }
+  SALOME_MED::MEDCouplingIMeshCorbaInterface_ptr imeshPtr=SALOME_MED::MEDCouplingIMeshCorbaInterface::_narrow(meshPtr);
+  if(!CORBA::is_nil(imeshPtr))
+    {
+      MEDCouplingMesh *ret=MEDCouplingIMeshClient::New(imeshPtr);
+      CORBA::release(imeshPtr);
+      return ret;
+    }
+  SALOME_MED::MEDCoupling1SGTUMeshCorbaInterface_ptr umeshPtr0=SALOME_MED::MEDCoupling1SGTUMeshCorbaInterface::_narrow(meshPtr);
+  if(!CORBA::is_nil(umeshPtr0))
+    {
+      MEDCouplingMesh *ret=MEDCoupling1SGTUMeshClient::New(umeshPtr0);
+      CORBA::release(umeshPtr0);
+      return ret;
+    }
+  SALOME_MED::MEDCoupling1DGTUMeshCorbaInterface_ptr umeshPtr1=SALOME_MED::MEDCoupling1DGTUMeshCorbaInterface::_narrow(meshPtr);
+  if(!CORBA::is_nil(umeshPtr1))
+    {
+      MEDCouplingMesh *ret=MEDCoupling1DGTUMeshClient::New(umeshPtr1);
+      CORBA::release(umeshPtr1);
+      return ret;
+    }
   return 0;
 }
 
@@ -60,7 +95,7 @@ void MEDCouplingMeshClient::fillMeshFromCorbaData(MEDCouplingMesh *meshCpp, SALO
 {
   meshPtr->Register();
   //1st call to getTinyInfo to get tiny array of key integers value
-  //to corectly resize local copy of distant instance adressed by 'meshPtr'
+  //to correctly resize local copy of distant instance addressed by 'meshPtr'
   //1st value of returned array is the type of instance. Thanks to
   //CORBA and its type-check no use of this value is necessary.
   SALOME_TYPES::ListOfDouble *tinyD;
@@ -83,10 +118,10 @@ void MEDCouplingMeshClient::fillMeshFromCorbaData(MEDCouplingMesh *meshCpp, SALO
   delete tinyD;
   DataArrayInt* a1=DataArrayInt::New();
   DataArrayDouble* a2=DataArrayDouble::New();
-  //thanks to the entry point tinyV get from the 1st CORBA invokation,
+  //thanks to the entry point tinyV get from the 1st CORBA invocation,
   //resizing a1,a2 and sts.
   std::vector<std::string> uselessVector;
-  //vector 'uselessVector' is useless thanks to CORBA that , contrary to MPI, does not need to allocate right length of arrays before invokation
+  //vector 'uselessVector' is useless thanks to CORBA that , contrary to MPI, does not need to allocate right length of arrays before invocation
   meshCpp->resizeForUnserialization(tinyV,a1,a2,uselessVector);
   SALOME_TYPES::ListOfLong *a1Corba;
   SALOME_TYPES::ListOfDouble *a2Corba;