// 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 // // // // File : SMESH_Gen.idl // Author : Paul RASCLE, EDF // $Header$ #ifndef _SMESH_GEN_IDL_ #define _SMESH_GEN_IDL_ #include "SALOME_Exception.idl" #include "SALOME_Component.idl" #include "SALOMEDS.idl" #include "GEOM_Gen.idl" #include "GEOM_Shape.idl" #include "SMESH_Mesh.idl" #include "SMESH_Hypothesis.idl" module SMESH { typedef sequence shape_array; interface SMESH_Gen : Engines::Component, SALOMEDS::Driver { /*! * Create an hypothesis that can be shared by differents parts of the mesh. * An hypothesis is either: * - a method used to generate or modify a part of the mesh (algorithm). * - a parameter or a law used by an algorithm. * Algorithms are 1D, 2D or 3D. */ SMESH_Hypothesis CreateHypothesis( in string anHyp, in long studyId) raises (SALOME::SALOME_Exception); /*! * Create a Mesh object, given a geometry shape. * Mesh is created empty (no points, no elements). * Shape is explored via GEOM_Client to create local copies. * of TopoDS_Shapes and bind CORBA references of shape & subshapes * with TopoDS_Shapes */ SMESH_Mesh Init(in GEOM::GEOM_Gen geomEngine, in long studyId, in GEOM::GEOM_Shape aShape) raises (SALOME::SALOME_Exception); /*! * Create a Mesh object, without a geometry shape reference */ // SMESH_Mesh NewEmpty(in GEOM::GEOM_Gen geomEngine, // in long studyId) // raises (SALOME::SALOME_Exception); /*! * Mesh a subShape. * First, verify list of hypothesis associated with the subShape, * return NOK if hypothesis are not sufficient */ boolean Compute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape) raises (SALOME::SALOME_Exception); /*! * */ boolean IsReadyToCompute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape) raises (SALOME::SALOME_Exception); /*! * */ long_array GetSubShapesId(in GEOM::GEOM_Gen geomEngine, in long studyId, in GEOM::GEOM_Shape mainShape, in shape_array listOfSubShape) raises (SALOME::SALOME_Exception); /*! * */ // long_array GetSubMeshesState(in GEOM::GEOM_Gen geomEngine, // in long studyId, // in shape_array listOfSubShape) // raises (SALOME::SALOME_Exception); }; }; #endif