Salome HOME
22711: [CEA 1297] Regression of mesh with a projection on a spherical face
[modules/smesh.git] / idl / SMESH_Gen.idl
index fbe8a35d61517c704f8b6ac198805633aff7a8f7..cb625d0b9da1fce14b190787a89b2e940f1404d0 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014  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
@@ -6,7 +6,7 @@
 // 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
@@ -36,6 +36,7 @@
 
 module SMESH
 {
+  typedef sequence<SALOMEDS::SObject> sobject_list;
   typedef sequence<GEOM::GEOM_Object> object_array;
   typedef sequence<SMESH_Mesh>        mesh_array;
 
@@ -102,7 +103,8 @@ module SMESH
     COMPERR_BAD_SHAPE     ,  // bad geometry
     COMPERR_WARNING       ,  // algo reports error but sub-mesh is computed anyway
     COMPERR_CANCELED      ,  // compute canceled
-    COMPERR_NO_MESH_ON_SHAPE // no mesh elements assigned to sub-mesh
+    COMPERR_NO_MESH_ON_SHAPE,// no mesh elements assigned to sub-mesh
+    COMPERR_BAD_PARMETERS    // incorrect hypotheses parameters
   };
   struct ComputeError
   {
@@ -171,6 +173,17 @@ module SMESH
                                                    in boolean           byMesh)
       raises ( SALOME::SALOME_Exception );
 
+    /*!
+     * Returns \c True if a hypothesis is assigned to a sole sub-mesh in a current Study
+     *  \param [in] theHyp - the hypothesis of interest
+     *  \param [out] theMesh - the sole mesh using \a theHyp
+     *  \param [out] theShape - the sole geometry \a theHyp is assigned to
+     *  \return boolean - \c True if \a theMesh and \a theShape are sole using \a theHyp
+     */
+    boolean GetSoleSubMeshUsingHyp( in SMESH_Hypothesis   theHyp,
+                                    out SMESH_Mesh        theMesh,
+                                    out GEOM::GEOM_Object theShape);
+
     /*!
      * Sets number of segments per diagonal of boundary box of geometry by which
      * default segment length of appropriate 1D hypotheses is defined
@@ -361,7 +374,7 @@ module SMESH
       raises ( SALOME::SALOME_Exception );
 
     /*!
-     * Return indeces of faces, edges and vertices of given sub-shapes
+     * Return indices of faces, edges and vertices of given sub-shapes
      * within theMainObject
      */
     long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,
@@ -402,6 +415,30 @@ module SMESH
      * \brief Get names of meshes defined in file with the specified name.
      */
     string_array GetMeshNames(in string theFileName);
+
+    /*!
+     * \brief Moves objects to the specified position
+     *  \param what objects being moved
+     *  \param where parent object where objects are moved to
+     *  \param row position in the parent object's children list at which objects are moved
+     *
+     * This function is used in the drag-n-drop functionality.
+     */
+    void Move( in sobject_list what,
+              in SALOMEDS::SObject where,
+              in long row );
+    /*!
+     * Returns true if algorithm can be used to mesh a given geometry
+     *  \param theAlgoType - the algorithm type
+     *  \param theLibName - a name of the Plug-in library implementing the algorithm
+     *  \param theShapeObject - the geometry to mesh
+     *  \param toCheckAll - if \c True, returns \c True if all shapes are meshable,
+     *         else, returns \c True if at least one shape is meshable
+     */
+    boolean IsApplicable( in string             theAlgoType,
+                          in string             theLibName,
+                          in GEOM::GEOM_Object  theShapeObject,
+                          in boolean            toCheckAll );
   };
 
 };