Salome HOME
Merge from V6_main 11/02/2013
[modules/paravis.git] / src / Plugins / ParaMEDCorba / VTKMEDCouplingMeshClient.cxx
index 2d53a14e7a9a70c3d48041619c3214f1dda2c8ba..455e39da39b44d87ba841c0efec6d1fa39683b46 100644 (file)
 #include "VTKMEDCouplingMeshClient.hxx"
 #include "VTKMEDCouplingUMeshClient.hxx"
 #include "VTKMEDCouplingCMeshClient.hxx"
+#include "VTKMEDCouplingCurveLinearMeshClient.hxx"
 
 #include "vtkErrorCode.h"
 #include "vtkUnstructuredGrid.h"
 #include "vtkRectilinearGrid.h"
+#include "vtkStructuredGrid.h"
 
 #include <vector>
 #include <string>
@@ -56,6 +58,18 @@ void ParaMEDMEM2VTK::FillMEDCouplingMeshInstanceFrom(SALOME_MED::MEDCouplingMesh
       ParaMEDMEM2VTK::FillMEDCouplingCMeshInstanceFrom(cmeshPtr,ret1);
       return ;
     }
+  SALOME_MED::MEDCouplingCurveLinearMeshCorbaInterface_var clmeshPtr=SALOME_MED::MEDCouplingCurveLinearMeshCorbaInterface::_narrow(meshPtr);
+  if(!CORBA::is_nil(clmeshPtr))
+    {
+      vtkStructuredGrid *ret1=vtkStructuredGrid::SafeDownCast(ret);
+      if(!ret1)
+        {
+          vtkErrorWithObjectMacro(ret,"Internal error in ParaMEDCorba plugin : mismatch between VTK type and CORBA type CurveLinearMesh !");
+          return ;
+        }
+      ParaMEDMEM2VTK::FillMEDCouplingCurveLinearMeshInstanceFrom(clmeshPtr,ret1);
+      return ;
+    }
   vtkErrorWithObjectMacro(ret,"Error : CORBA mesh type ! Mesh type not managed !");
 }
 
@@ -75,6 +89,13 @@ vtkDataSet *ParaMEDMEM2VTK::BuildFromMEDCouplingMeshInstance(SALOME_MED::MEDCoup
       ParaMEDMEM2VTK::FillMEDCouplingCMeshInstanceFrom(cmeshPtr,ret1);
       return ret1;
     }
+  SALOME_MED::MEDCouplingCurveLinearMeshCorbaInterface_var clmeshPtr=SALOME_MED::MEDCouplingCurveLinearMeshCorbaInterface::_narrow(meshPtr);
+  if(!CORBA::is_nil(clmeshPtr))
+    {
+      vtkStructuredGrid *ret1=vtkStructuredGrid::New();
+      ParaMEDMEM2VTK::FillMEDCouplingCurveLinearMeshInstanceFrom(clmeshPtr,ret1);
+      return ret1;
+    }
   vtkOutputWindowDisplayErrorText("Error : CORBA mesh type ! Mesh type not managed #2 !");
   return 0;
 }