Salome HOME
0021196: [CEA 456] Integration and merge modification for debian packages
[modules/visu.git] / src / ENGINE / VISU_Engine_i.cc
index 45dc68bcc768c0fe181b93ffa050a39ba6c49ed8..37ee82ea948543471662af58776463b6fb48db73 100644 (file)
@@ -1,26 +1,27 @@
-//  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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//  Copyright (C) 2007-2010  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.
+//
+//  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
 
 #include "VISU_Engine_i.hh"
 #include "utilities.h"
 
-#include CORBA_SERVER_HEADER(SALOME_Session)
 #include CORBA_SERVER_HEADER(SALOME_ModuleCatalog)
 
 #include "SALOME_NamingService.hxx"
@@ -34,37 +35,56 @@ static int MYDEBUG = 1;
 static int MYDEBUG = 0;
 #endif
 
+#ifdef WNT
+#if defined VISU_ENGINE_EXPORTS || defined VISUEngine_EXPORTS
+#define VISU_ENGINE_EXPORT __declspec(dllexport)
+#else
+#define VISU_ENGINE_EXPORT __declspec(dllimport)
+#endif
+#else
+#define VISU_ENGINE_EXPORT
+#endif
+
 UNEXPECT_CATCH(SalomeException, SALOME::SALOME_Exception);
 
 extern "C" {
-  PortableServer::ObjectId * 
+VISU_ENGINE_EXPORT
+  PortableServer::ObjectId *
   VISUEngine_factory(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId,
-                    const char *instanceName, const char *interfaceName) 
+                     const char *instanceName, const char *interfaceName)
   {
-    if(MYDEBUG) MESSAGE("VisuEngine_factory : "<<interfaceName);
-    VISU::VISU_Gen_i * pVISU_Gen = new VISU::VISU_Gen_i(orb, poa, contId, instanceName, interfaceName);
+    MESSAGE("VisuEngine_factory : "<<interfaceName);
+    // Check session: MZN: 24.11.2006 PAL 13948
+    SALOME_NamingService aNamingService(orb);
+    CORBA::Object_ptr anObject = aNamingService.Resolve("/Kernel/Session");
+    SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
+    if (CORBA::is_nil(aSession))
+      return NULL;
+
+    VISU::VISU_Gen_i * pVISU_Gen = new VISU::VISU_Gen_i(aSession, orb, poa, contId, instanceName, interfaceName);
     return pVISU_Gen->getId() ;
   }
 }
 
 namespace VISU{
   //===========================================================================
-  VISU_Gen_i::VISU_Gen_i(CORBA::ORB_ptr orb,
-                        PortableServer::POA_ptr poa,
-                        PortableServer::ObjectId * contId, 
-                        const char *instanceName, 
-                        const char *interfaceName) :
+  VISU_Gen_i::VISU_Gen_i(SALOME::Session_ptr session,
+                         CORBA::ORB_ptr orb,
+                         PortableServer::POA_ptr poa,
+                         PortableServer::ObjectId * contId,
+                         const char *instanceName,
+                         const char *interfaceName) :
     Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
   {
     _thisObj = this ;
     _id = _poa->activate_object(_thisObj);
-    SALOME_NamingService aNamingService(orb);
-    CORBA::Object_ptr anObject = aNamingService.Resolve("/Kernel/Session");
-    SALOME::Session_var aSession = SALOME::Session::_narrow(anObject);
-    //aSession->GetInterface(); 
-    Engines::Component_var aComponent = aSession->GetComponent("libVISUEngineImpl.so");
+#ifndef WIN32
+    Engines::EngineComponent_var aComponent = session->GetComponent("libVISUEngineImpl.so");
+#else
+    Engines::EngineComponent_var aComponent = session->GetComponent("VISUEngineImpl.dll");
+#endif
     myVisuGen = VISU::VISU_Gen::_narrow(aComponent);
-  } 
+  }
 
   VISU_Gen_i::~VISU_Gen_i(){
     if(MYDEBUG) MESSAGE("VISU_Gen_i::~VISU_Gen_i");
@@ -76,25 +96,25 @@ namespace VISU{
 
   //===========================================================================
   bool VISU_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
-                       const SALOMEDS::TMPFile & theStream,
-                       const char* theURL,
-                       bool isMultiFile)
+                        const SALOMEDS::TMPFile & theStream,
+                        const char* theURL,
+                        bool isMultiFile)
   {
     return myVisuGen->Load(theComponent,theStream,theURL,isMultiFile);
   }
 
   bool VISU_Gen_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
-                            const SALOMEDS::TMPFile & theStream,
-                            const char* theURL,
-                            bool isMultiFile) 
+                             const SALOMEDS::TMPFile & theStream,
+                             const char* theURL,
+                             bool isMultiFile)
   {
     return Load(theComponent, theStream, theURL, isMultiFile);
   }
 
   char* VISU_Gen_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
-                                          const char* aLocalPersistentID,
-                                          CORBA::Boolean isMultiFile,
-                                          CORBA::Boolean isASCII) 
+                                           const char* aLocalPersistentID,
+                                           CORBA::Boolean isMultiFile,
+                                           CORBA::Boolean isASCII)
   {
     return myVisuGen->LocalPersistentIDToIOR(theSObject, aLocalPersistentID, isMultiFile, isASCII);
   }
@@ -102,24 +122,24 @@ namespace VISU{
 
   //===========================================================================
   SALOMEDS::TMPFile* VISU_Gen_i::Save(SALOMEDS::SComponent_ptr theComponent,
-                                     const char* theURL,
-                                     bool isMultiFile)
+                                      const char* theURL,
+                                      bool isMultiFile)
   {
     return myVisuGen->Save(theComponent,theURL,isMultiFile);
   }
 
   SALOMEDS::TMPFile* VISU_Gen_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
-                                          const char* theURL,
-                                          bool isMultiFile) 
+                                           const char* theURL,
+                                           bool isMultiFile)
   {
     return myVisuGen->Save(theComponent,theURL,isMultiFile);
   }
 
 
   char* VISU_Gen_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
-                                          const char* IORString,
-                                          CORBA::Boolean isMultiFile,
-                                          CORBA::Boolean isASCII) 
+                                           const char* IORString,
+                                           CORBA::Boolean isMultiFile,
+                                           CORBA::Boolean isASCII)
   {
     return myVisuGen->IORToLocalPersistentID(theSObject, IORString, isMultiFile, isASCII);
   }
@@ -145,13 +165,15 @@ namespace VISU{
   }
 
 
-  SALOMEDS::SObject_ptr VISU_Gen_i::ImportTables(const char* theFileName){
-    return myVisuGen->ImportTables(theFileName);
+  SALOMEDS::SObject_ptr VISU_Gen_i::ImportTables(const char* theFileName,
+                                                 bool theFirstStrAsTitle)
+  {
+    return myVisuGen->ImportTables(theFileName,theFirstStrAsTitle);
   }
 
 
   CORBA::Boolean VISU_Gen_i::ExportTableToFile(SALOMEDS::SObject_ptr theTable,
-                                              const char* theFileName)
+                                               const char* theFileName)
   {
     return myVisuGen->ExportTableToFile(theTable, theFileName);
   }
@@ -182,132 +204,216 @@ namespace VISU{
   }
 
 
-  Mesh_ptr VISU_Gen_i::MeshOnEntity(Result_ptr theResult, 
-                                   const char* theMeshName, 
-                                   VISU::Entity theEntity)
+  Mesh_ptr VISU_Gen_i::MeshOnEntity(Result_ptr theResult,
+                                    const char* theMeshName,
+                                    VISU::Entity theEntity)
   {
     return myVisuGen->MeshOnEntity(theResult,theMeshName,theEntity);
   }
 
-  
-  Mesh_ptr VISU_Gen_i::FamilyMeshOnEntity(Result_ptr theResult, 
-                                         const char* theMeshName, 
-                                         VISU::Entity theEntity, 
-                                         const char* theFamilyName)
+  Mesh_ptr VISU_Gen_i::FamilyMeshOnEntity(Result_ptr theResult,
+                                          const char* theMeshName,
+                                          VISU::Entity theEntity,
+                                          const char* theFamilyName)
   {
     return myVisuGen->FamilyMeshOnEntity(theResult,theMeshName,theEntity,theFamilyName);
   }
 
-
-  Mesh_ptr VISU_Gen_i::GroupMesh(Result_ptr theResult, 
-                                const char* theMeshName, 
-                                const char* theGroupName)
+  Mesh_ptr VISU_Gen_i::GroupMesh(Result_ptr theResult,
+                                 const char* theMeshName,
+                                 const char* theGroupName)
   {
     return myVisuGen->GroupMesh(theResult,theMeshName,theGroupName);
   }
 
 
-  ScalarMap_ptr VISU_Gen_i::ScalarMapOnField(Result_ptr theResult, 
-                                            const char* theMeshName, 
-                                            VISU::Entity theEntity, 
-                                            const char* theFieldName, 
-                                            CORBA::Double theIteration)
+  void VISU_Gen_i::RenameEntityInStudy(Result_ptr theResult, const char* theMeshName,
+                                       VISU::Entity theEntity, const char* theNewName)
+  {
+    myVisuGen->RenameEntityInStudy(theResult,theMeshName,theEntity,theNewName);
+  }
+
+  void VISU_Gen_i::RenameFamilyInStudy(Result_ptr theResult, const char* theMeshName,
+                                       VISU::Entity theEntity, const char* theFamilyName,
+                                       const char* theNewName)
+  {
+    myVisuGen->RenameFamilyInStudy(theResult,theMeshName,theEntity,theFamilyName,theNewName);
+  }
+
+  void VISU_Gen_i::RenameGroupInStudy(Result_ptr theResult, const char* theMeshName,
+                                      const char* theGroupName, const char* theNewName)
+  {
+    myVisuGen->RenameGroupInStudy(theResult,theMeshName,theGroupName,theNewName);
+  }
+
+
+  ScalarMap_ptr
+  VISU_Gen_i
+  ::ScalarMapOnField(Result_ptr theResult,
+                     const char* theMeshName,
+                     VISU::Entity theEntity,
+                     const char* theFieldName,
+                     CORBA::Long theIteration)
   {
     return myVisuGen->ScalarMapOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
-  GaussPoints_ptr VISU_Gen_i::GaussPointsOnField(Result_ptr theResult, 
-                                                const char* theMeshName, 
-                                                VISU::Entity theEntity, 
-                                                const char* theFieldName, 
-                                                CORBA::Double theIteration)
+  GaussPoints_ptr
+  VISU_Gen_i
+  ::GaussPointsOnField(Result_ptr theResult,
+                       const char* theMeshName,
+                       VISU::Entity theEntity,
+                       const char* theFieldName,
+                       CORBA::Long theIteration)
   {
     return myVisuGen->GaussPointsOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
-  DeformedShape_ptr VISU_Gen_i::DeformedShapeOnField(Result_ptr theResult, 
-                                                    const char* theMeshName, 
-                                                    VISU::Entity theEntity, 
-                                                    const char* theFieldName, 
-                                                    CORBA::Double theIteration)
+  DeformedShape_ptr
+  VISU_Gen_i
+  ::DeformedShapeOnField(Result_ptr theResult,
+                         const char* theMeshName,
+                         VISU::Entity theEntity,
+                         const char* theFieldName,
+                         CORBA::Long theIteration)
   {
     return myVisuGen->DeformedShapeOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
+  DeformedShapeAndScalarMap_ptr
+  VISU_Gen_i
+  ::ScalarMapOnDeformedShapeOnField(Result_ptr theResult,
+                                    const char* theMeshName,
+                                    VISU::Entity theEntity,
+                                    const char* theFieldName,
+                                    CORBA::Long theIteration)
+  {
+    return DeformedShapeAndScalarMapOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
+  }
+
+  DeformedShapeAndScalarMap_ptr
+  VISU_Gen_i
+  ::DeformedShapeAndScalarMapOnField(Result_ptr theResult,
+                                     const char* theMeshName,
+                                     VISU::Entity theEntity,
+                                     const char* theFieldName,
+                                     CORBA::Long theIteration)
+  {
+    return myVisuGen->DeformedShapeAndScalarMapOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
+  }
 
-  Vectors_ptr VISU_Gen_i::VectorsOnField(Result_ptr theResult, 
-                                        const char* theMeshName, 
-                                        VISU::Entity theEntity, 
-                                        const char* theFieldName, 
-                                        CORBA::Double theIteration)
+  Vectors_ptr
+  VISU_Gen_i
+  ::VectorsOnField(Result_ptr theResult,
+                   const char* theMeshName,
+                   VISU::Entity theEntity,
+                   const char* theFieldName,
+                   CORBA::Long theIteration)
   {
     return myVisuGen->VectorsOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
-  IsoSurfaces_ptr VISU_Gen_i::IsoSurfacesOnField(Result_ptr theResult, 
-                                                const char* theMeshName, 
-                                                VISU::Entity theEntity, 
-                                                const char* theFieldName, 
-                                                CORBA::Double theIteration)
+  IsoSurfaces_ptr
+  VISU_Gen_i
+  ::IsoSurfacesOnField(Result_ptr theResult,
+                       const char* theMeshName,
+                       VISU::Entity theEntity,
+                       const char* theFieldName,
+                       CORBA::Long theIteration)
   {
     return myVisuGen->IsoSurfacesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
-  StreamLines_ptr VISU_Gen_i::StreamLinesOnField(Result_ptr theResult, 
-                                                const char* theMeshName, 
-                                                VISU::Entity theEntity, 
-                                                const char* theFieldName, 
-                                                CORBA::Double theIteration)
+  StreamLines_ptr
+  VISU_Gen_i
+  ::StreamLinesOnField(Result_ptr theResult,
+                       const char* theMeshName,
+                       VISU::Entity theEntity,
+                       const char* theFieldName,
+                       CORBA::Long theIteration)
   {
     return myVisuGen->StreamLinesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
-  CutPlanes_ptr VISU_Gen_i::CutPlanesOnField(Result_ptr theResult, 
-                                            const char* theMeshName, 
-                                            VISU::Entity theEntity, 
-                                            const char* theFieldName, 
-                                            CORBA::Double theIteration)
+  CutPlanes_ptr
+  VISU_Gen_i
+  ::CutPlanesOnField(Result_ptr theResult,
+                     const char* theMeshName,
+                     VISU::Entity theEntity,
+                     const char* theFieldName,
+                     CORBA::Long theIteration)
   {
     return myVisuGen->CutPlanesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
-  CutLines_ptr VISU_Gen_i::CutLinesOnField(Result_ptr theResult, 
-                                          const char* theMeshName, 
-                                          VISU::Entity theEntity, 
-                                          const char* theFieldName, 
-                                          CORBA::Double theIteration)
+  CutLines_ptr
+  VISU_Gen_i
+  ::CutLinesOnField(Result_ptr theResult,
+                    const char* theMeshName,
+                    VISU::Entity theEntity,
+                    const char* theFieldName,
+                    CORBA::Long theIteration)
   {
     return myVisuGen->CutLinesOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
-  Plot3D_ptr VISU_Gen_i::Plot3DOnField(Result_ptr theResult, 
-                                      const char* theMeshName, 
-                                      VISU::Entity theEntity, 
-                                      const char* theFieldName, 
-                                      CORBA::Double theIteration)
+  CutSegment_ptr
+  VISU_Gen_i
+  ::CutSegmentOnField(Result_ptr theResult,
+                      const char* theMeshName,
+                      VISU::Entity theEntity,
+                      const char* theFieldName,
+                      CORBA::Long theIteration)
   {
-    return myVisuGen->Plot3DOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
+    return myVisuGen->CutSegmentOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
   }
 
 
+  Plot3D_ptr
+  VISU_Gen_i
+  ::Plot3DOnField(Result_ptr theResult,
+                  const char* theMeshName,
+                  VISU::Entity theEntity,
+                  const char* theFieldName,
+                  CORBA::Long theIteration)
+  {
+    return myVisuGen->Plot3DOnField(theResult,theMeshName,theEntity,theFieldName,theIteration);
+  }
+
   Table_ptr VISU_Gen_i::CreateTable(const char* theTableEntry){
     return myVisuGen->CreateTable(theTableEntry);
   }
 
 
-  Curve_ptr VISU_Gen_i::CreateCurve(Table_ptr theTable, 
-                                   CORBA::Long theHRow, 
-                                   CORBA::Long theVRow)
+  Curve_ptr VISU_Gen_i::CreateCurve(Table_ptr theTable,
+                                    CORBA::Long theHRow,
+                                    CORBA::Long theVRow)
   {
     return myVisuGen->CreateCurve(theTable,theHRow,theVRow);
   }
 
+  Curve_ptr VISU_Gen_i::CreateCurveWithZ(Table_ptr theTable,
+                                    CORBA::Long theHRow,
+                                    CORBA::Long theVRow,
+                                    CORBA::Long theZRow)
+  {
+    return myVisuGen->CreateCurveWithZ(theTable,theHRow,theVRow,theZRow);
+  }
+
+  Curve_ptr  VISU_Gen_i::CreateCurveWithZExt(Table_ptr theTable,
+                                             CORBA::Long theHRow,
+                                             CORBA::Long theVRow,
+                                             CORBA::Long theZRow,
+                                             CORBA::Boolean theIsV2)
+  {
+    return myVisuGen->CreateCurveWithZExt(theTable,theHRow,theVRow,theZRow,theIsV2);
+  }
 
   Container_ptr VISU_Gen_i::CreateContainer(){
     return myVisuGen->CreateContainer();
@@ -319,6 +425,11 @@ namespace VISU{
   }
 
 
+  Evolution_ptr VISU_Gen_i::CreateEvolution(XYPlot_ptr theXYPlot){
+    return myVisuGen->CreateEvolution(theXYPlot);
+  }
+
+
   void VISU_Gen_i::DeleteResult(Result_ptr theResult){
     myVisuGen->DeleteResult(theResult);
   }
@@ -345,41 +456,107 @@ namespace VISU{
 
 
   SALOMEDS::SObject_ptr VISU_Gen_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
-                                                  SALOMEDS::SObject_ptr theSObject,
-                                                  CORBA::Object_ptr theObject,
-                                                  const char* theName) 
-    throw (SALOME::SALOME_Exception) 
+                                                   SALOMEDS::SObject_ptr theSObject,
+                                                   CORBA::Object_ptr theObject,
+                                                   const char* theName)
+    throw (SALOME::SALOME_Exception)
   {
     return myVisuGen->PublishInStudy(theStudy, theSObject, theObject, theName);
   }
-    
+
 
   CORBA::Boolean VISU_Gen_i::CanCopy(SALOMEDS::SObject_ptr theObject) {
     return myVisuGen->CanCopy(theObject);
   }
-  
+
 
   SALOMEDS::TMPFile* VISU_Gen_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID) {
     return myVisuGen->CopyFrom(theObject, theObjectID);
   }
-  
+
 
   CORBA::Boolean VISU_Gen_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID) {
     return myVisuGen->CanPaste(theComponentName, theObjectID);
   }
-  
+
 
   SALOMEDS::SObject_ptr VISU_Gen_i::PasteInto(const SALOMEDS::TMPFile& theStream,
-                                             CORBA::Long theObjectID,
-                                             SALOMEDS::SObject_ptr theObject) 
+                                              CORBA::Long theObjectID,
+                                              SALOMEDS::SObject_ptr theObject)
   {
     return myVisuGen->PasteInto(theStream,theObjectID,theObject);
   }
   Engines::TMPFile* VISU_Gen_i::DumpPython(CORBA::Object_ptr theStudy,
                                            CORBA::Boolean theIsPublished,
-                                          CORBA::Boolean& theIsValidScript)
+                                           CORBA::Boolean& theIsValidScript)
   {
     return myVisuGen->DumpPython(theStudy, theIsPublished, theIsValidScript);
-  }     
+  }
+
+  VISU::ColoredPrs3dCache_ptr
+  VISU_Gen_i::
+  GetColoredPrs3dCache(SALOMEDS::Study_ptr theStudy)
+  {
+    return myVisuGen->GetColoredPrs3dCache(theStudy);
+  }
+
+
+
+  CORBA::Long VISU_Gen_i::CreateClippingPlane(CORBA::Double X,CORBA::Double  Y, CORBA::Double Z,
+                                              CORBA::Double dX, CORBA::Double dY, CORBA::Double dZ,
+                                              CORBA::Boolean isAuto, const char* name)
+  {
+    return myVisuGen->CreateClippingPlane(X, Y, Z, dX, dY, dZ, isAuto, name);
+  }
+
+
+  void VISU_Gen_i::EditClippingPlane(CORBA::Long id, CORBA::Double X,CORBA::Double  Y, CORBA::Double Z,
+                                     CORBA::Double dX, CORBA::Double dY, CORBA::Double dZ,
+                                     CORBA::Boolean isAuto, const char* name)
+  {
+    myVisuGen->EditClippingPlane(id, X, Y, Z, dX, dY, dZ, isAuto, name);
+  }
 
+  /* Returns clipping plane by its Id */
+  VISU::ClippingPlane* VISU_Gen_i::GetClippingPlane(CORBA::Long id)
+  {
+    return myVisuGen->GetClippingPlane(id);
+  }
+
+  /* Deletes clipping plane by its Id */
+  CORBA::Boolean VISU_Gen_i::DeleteClippingPlane(CORBA::Long id)
+  {
+    return myVisuGen->DeleteClippingPlane(id);
+  }
+
+  /* Applyes a clipping plane with Id to presentation thePrs */
+  CORBA::Boolean VISU_Gen_i::ApplyClippingPlane(Prs3d_ptr thePrs, CORBA::Long id)
+  {
+    return myVisuGen->ApplyClippingPlane(thePrs, id);
+  }
+
+  CORBA::Boolean VISU_Gen_i::DetachClippingPlane(Prs3d_ptr thePrs, CORBA::Long id)
+  {
+    return myVisuGen->DetachClippingPlane(thePrs, id);
+  }
+
+  /* Get number of clipping planes */
+  CORBA::Long VISU_Gen_i::GetClippingPlanesNb()
+  {
+    return myVisuGen->GetClippingPlanesNb();
+  }
+
+  CORBA::Boolean VISU_Gen_i::VTK2MED( const VISU::string_array& theVTKFiles,
+                                      const char* theMEDFile,
+                                      const char* theMeshName,
+                                      const VISU::double_array& theTStamps )
+  {
+    return myVisuGen->VTK2MED(theVTKFiles, theMEDFile, theMeshName, theTStamps);
+  }
+
+  /* Load texture from file */
+  CORBA::Long VISU_Gen_i::LoadTexture(const char* theTextureFile)
+  {
+    return myVisuGen->LoadTexture(theTextureFile);
+  }
 };