X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Gen.idl;h=75fbe089438725870291f755776561e9d291be8d;hp=3d768383690df617a8a5d776e41d883618af54dc;hb=0003e6b4fcc95a0aec695ceef8371dee28baf417;hpb=b0a908c0d20341651771d0249fb10882f54b2aad diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 3d7683836..75fbe0894 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 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 @@ -173,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 @@ -265,16 +276,16 @@ module SMESH raises ( SALOME::SALOME_Exception ); /*! - * Concatenate the given meshes into one mesh. + * Concatenate the given meshes or groups into one mesh. * Union groups with the same name and type if * theUniteIdenticalGroups flag is true. * Merge coincident nodes and elements if * theMergeNodesAndElements flag is true. */ - SMESH_Mesh Concatenate(in mesh_array theMeshesArray, - in boolean theUniteIdenticalGroups, - in boolean theMergeNodesAndElements, - in double theMergeTolerance) + SMESH_Mesh Concatenate(in ListOfIDSources theMeshesArray, + in boolean theUniteIdenticalGroups, + in boolean theMergeNodesAndElements, + in double theMergeTolerance) raises ( SALOME::SALOME_Exception ); /*! @@ -285,10 +296,10 @@ module SMESH * theMergeNodesAndElements flag is true. * Create the groups of all elements from initial meshes. */ - SMESH_Mesh ConcatenateWithGroups(in mesh_array theMeshesArray, - in boolean theUniteIdenticalGroups, - in boolean theMergeNodesAndElements, - in double theMergeTolerance) + SMESH_Mesh ConcatenateWithGroups(in ListOfIDSources theMeshesArray, + in boolean theUniteIdenticalGroups, + in boolean theMergeNodesAndElements, + in double theMergeTolerance) raises ( SALOME::SALOME_Exception ); /*! @@ -363,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, @@ -407,16 +418,100 @@ module SMESH /*! * \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. - * - * \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 */ - void Move( in sobject_list what, - in SALOMEDS::SObject where, + 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 ); + + + /*! + * Return indices of elements, which are located inside the sphere + * \param theSource - mesh, sub-mesh or group + * \param theElemType - mesh element type + * \param theX - x cooridate of the center of the sphere + * \param theY - y cooridate of the center of the sphere + * \param theZ - y cooridate of the center of the sphere + * \param theR - radius of the sphere + */ + long_array GetInsideSphere( in SMESH_IDSource theSource, + in ElementType theElemType, + in double theX, + in double theY, + in double theZ, + in double theR ); + + /*! + * Return indices of elements, which are located inside the box + * \param theSource - mesh, sub-mesh or group + * \param theElemType - mesh element type + * \param theX1 - x cooridate of the first opposite point + * \param theY1 - y cooridate of the first opposite point + * \param theZ1 - y cooridate of the first opposite point + * \param theX2 - x cooridate of the second opposite point + * \param theY2 - y cooridate of the second opposite point + * \param theZ2 - y cooridate of the second opposite point + */ + long_array GetInsideBox( in SMESH_IDSource theSource, + in ElementType theElemType, + in double theX1, + in double theY1, + in double theZ1, + in double theX2, + in double theY2, + in double theZ2); + /*! + * Return indices of elements, which are located inside the box + * \param theSource - mesh, sub-mesh or group + * \param theElemType - mesh element type + * \param theX - x cooridate of the cented of the bottom face + * \param theY - y cooridate of the cented of the bottom face + * \param theZ - y cooridate of the cented of the bottom face + * \param theDX - x cooridate of the cented of the base vector + * \param theDY - y cooridate of the cented of the base vector + * \param theDZ - z cooridate of the cented of the base vector + * \param theH - height of the cylinder + * \param theR - radius of the cylinder + */ + long_array GetInsideCylinder( in SMESH_IDSource theSource, + in ElementType theElemType, + in double theX, + in double theY, + in double theZ, + in double theDX, + in double theDY, + in double theDZ, + in double theH, + in double theR ); + /*! + * Return indices of elements, which are located inside the geometry + * \param theSource - mesh, sub-mesh or group + * \param theElemType - mesh element type + * \param theGeom - geometrical object + * \param theTolerance - tolerance for selection. + */ + long_array GetInside( in SMESH_IDSource theSource, + in ElementType theElemType, + in GEOM::GEOM_Object theGeom, + in double theTolerance ); + + }; };