idl/SMESH_Gen.idl

Go to the documentation of this file.
00001 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00002 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
00003 // 
00004 //  This library is free software; you can redistribute it and/or 
00005 //  modify it under the terms of the GNU Lesser General Public 
00006 //  License as published by the Free Software Foundation; either 
00007 //  version 2.1 of the License. 
00008 // 
00009 //  This library is distributed in the hope that it will be useful, 
00010 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
00011 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
00012 //  Lesser General Public License for more details. 
00013 // 
00014 //  You should have received a copy of the GNU Lesser General Public 
00015 //  License along with this library; if not, write to the Free Software 
00016 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
00017 // 
00018 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00019 //
00020 //
00021 //
00022 //  File   : SMESH_Gen.idl
00023 //  Author : Paul RASCLE, EDF
00024 //  $Header: /home/server/cvs/SMESH/SMESH_SRC/idl/SMESH_Gen.idl,v 1.12 2006/06/01 11:39:15 jfa Exp $
00025 
00026 #ifndef _SMESH_GEN_IDL_
00027 #define _SMESH_GEN_IDL_
00028 
00029 #include "SALOME_Exception.idl"
00030 #include "SALOME_Component.idl"
00031 #include "SALOMEDS.idl"
00032 
00033 #include "GEOM_Gen.idl"
00034 
00035 #include "SMESH_Mesh.idl"
00036 #include "SMESH_Hypothesis.idl"
00037 
00038 module SMESH
00039 {
00040   typedef sequence<GEOM::GEOM_Object> object_array;
00041   typedef sequence<SMESH_Mesh> mesh_array;
00042 
00043   interface FilterManager;
00044   interface SMESH_Pattern;
00045 
00046   enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH };
00047   struct AlgoStateError {
00048     AlgoStateErrorName name;
00049     string             algoName;
00050     long               algoDim;
00051     boolean            isGlobalAlgo;
00052   };
00053   typedef sequence<AlgoStateError> algo_error_array;
00054     
00055   interface SMESH_Gen : Engines::Component, SALOMEDS::Driver
00056   {
00057 
00058     FilterManager CreateFilterManager();
00059 
00060     SMESH_Pattern GetPattern();
00061 
00065     void SetEmbeddedMode( in boolean theMode );
00066 
00070     boolean IsEmbeddedMode();
00071 
00075     void SetCurrentStudy( in SALOMEDS::Study theStudy );
00076 
00080     SALOMEDS::Study GetCurrentStudy();
00081 
00089     SMESH_Hypothesis CreateHypothesis( in string theHypName,
00090                            in string theLibName )
00091       raises ( SALOME::SALOME_Exception );
00092 
00100     SMESH_Hypothesis GetHypothesisParameterValues( in string            theHypName,
00101                                                    in string            theLibName,
00102                                                    in SMESH_Mesh        theMesh,
00103                                                    in GEOM::GEOM_Object theGeom)
00104       raises ( SALOME::SALOME_Exception );
00105 
00113     SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject )
00114       raises ( SALOME::SALOME_Exception );
00115     
00119     SMESH_Mesh CreateEmptyMesh()
00120       raises ( SALOME::SALOME_Exception );
00121     
00125     SMESH_Mesh CreateMeshesFromUNV( in string theFileName )
00126       raises ( SALOME::SALOME_Exception );
00127 
00131      mesh_array CreateMeshesFromMED( in string theFileName,
00132                          out SMESH::DriverMED_ReadStatus theStatus )
00133        raises ( SALOME::SALOME_Exception );
00134 
00138     SMESH_Mesh CreateMeshesFromSTL( in string theFileName )
00139       raises ( SALOME::SALOME_Exception );
00140 
00144 //      SMESH_Mesh NewEmpty()
00145 //        raises ( SALOME::SALOME_Exception );
00146 
00152     boolean Compute( in SMESH_Mesh        theMesh, 
00153                in GEOM::GEOM_Object theSubObject )
00154       raises ( SALOME::SALOME_Exception );
00155 
00159     boolean IsReadyToCompute( in SMESH_Mesh        theMesh, 
00160                      in GEOM::GEOM_Object theSubObject )
00161       raises ( SALOME::SALOME_Exception );
00162 
00167     algo_error_array GetAlgoState( in SMESH_Mesh        theMesh, 
00168                                    in GEOM::GEOM_Object theSubObject )
00169       raises ( SALOME::SALOME_Exception );
00170 
00174     long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,
00175                                in object_array      theListOfSubObjects )
00176        raises ( SALOME::SALOME_Exception );
00177 
00183     GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh  theMesh,
00184                                                 in long        theElementID,
00185                                                 in string      theGeomName)
00186       raises ( SALOME::SALOME_Exception );
00187 
00188   };
00189 
00190 };
00191 
00192 #endif