X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Gen.idl;h=a7e4c50940d535482525235f37ca4fb35c27e86c;hp=81e4a48cc1636577b28140beb3dbf56043cabd12;hb=907c315580012ca7e75c640c88f79e3ff2239276;hpb=8d297d6698f361d4f2dde723050bcfbaea050920 diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 81e4a48cc..a7e4c5094 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -116,6 +116,15 @@ module SMESH }; typedef sequence compute_error_array; + /*! + * Way to initialize hypothesis + */ + struct HypInitParams + { + short way; // 0 - by mesh, 1 - by geometry size + preferred parameters, 2 - by averageLength + double averageLength; + boolean quadDominated; + }; interface SMESH_Gen : Engines::EngineComponent, SALOMEDS::Driver { @@ -164,6 +173,15 @@ module SMESH in string theLibName ) raises ( SALOME::SALOME_Exception ); + /*! + * Create a hypothesis and initialize it by average length + */ + SMESH_Hypothesis CreateHypothesisByAverageLength( in string theHypName, + in string theLibName, + in double theAverageLength, + in boolean theQuadDominated) + raises ( SALOME::SALOME_Exception ); + /*! * Return a hypothesis holding parameter values corresponding either to the mesh * existing on the given geometry or to size of the geometry. @@ -175,7 +193,7 @@ module SMESH in string theLibName, in SMESH_Mesh theMesh, in GEOM::GEOM_Object theGeom, - in boolean byMesh) + in HypInitParams theWay) raises ( SALOME::SALOME_Exception ); /*! @@ -281,7 +299,39 @@ module SMESH raises ( SALOME::SALOME_Exception ); /*! - * Concatenate the given meshes or groups into one mesh. + * Create a mesh by copying definitions of another mesh to a given geometry + * \param sourceMesh - a mesh to copy + * \param newGeometry - a new geometry + * \param meshName - a name of the new mesh + * \param toCopyGroups - to create groups in the new mesh + * \param toReuseHypotheses - if True, existing hypothesis will be used by the new mesh, + * otherwise new hypotheses with the same parameters will be created for the new mesh. + * \param toCopyElements - to copy mesh elements of same sub-shapes of the two geometries + * \param newMesh - return a new mesh + * \param newGroups - return new groups + * \param newSubmeshes - return new sub-meshes + * \param newHypotheses - return new algorithms and hypotheses + * \param invalidEntries - return study entries of objects whose + * counterparts are not found in the newGeometry, followed by entries + * of mesh sub-objects that are invalid because they depend on a not found + * preceding sub-shape + */ + boolean CopyMeshWithGeom( in SMESH_Mesh sourceMesh, + in GEOM::GEOM_Object newGeometry, + in string meshName, + in boolean toCopyGroups, + in boolean toReuseHypotheses, + in boolean toCopyElements, + out SMESH_Mesh newMesh, + out ListOfGroups newGroups, + out submesh_array newSubmeshes, + out ListOfHypothesis newHypotheses, + out string_array invalidEntries) + raises ( SALOME::SALOME_Exception ); + + /*! + * Concatenate the given meshes or groups into one mesh, + * optionally to theMeshToAppendTo. * Union groups with the same name and type if * theUniteIdenticalGroups flag is true. * Merge coincident nodes and elements if @@ -290,11 +340,13 @@ module SMESH SMESH_Mesh Concatenate(in ListOfIDSources theMeshesArray, in boolean theUniteIdenticalGroups, in boolean theMergeNodesAndElements, - in double theMergeTolerance) + in double theMergeTolerance, + in SMESH_Mesh theMeshToAppendTo) raises ( SALOME::SALOME_Exception ); /*! - * Concatenate the given meshes into one mesh. + * Concatenate the given meshes into one mesh, + * optionally to theMeshToAppendTo. * Union groups with the same name and type if * theUniteIdenticalGroups flag is true. * Merge coincident nodes and elements if @@ -304,7 +356,8 @@ module SMESH SMESH_Mesh ConcatenateWithGroups(in ListOfIDSources theMeshesArray, in boolean theUniteIdenticalGroups, in boolean theMergeNodesAndElements, - in double theMergeTolerance) + in double theMergeTolerance, + in SMESH_Mesh theMeshToAppendTo) raises ( SALOME::SALOME_Exception ); /*! @@ -465,9 +518,9 @@ module SMESH * 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 theX - x coordinate of the center of the sphere + * \param theY - y coordinate of the center of the sphere + * \param theZ - y coordinate of the center of the sphere * \param theR - radius of the sphere */ long_array GetInsideSphere( in SMESH_IDSource theSource, @@ -481,12 +534,12 @@ module SMESH * 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 + * \param theX1 - x coordinate of the first opposite point + * \param theY1 - y coordinate of the first opposite point + * \param theZ1 - y coordinate of the first opposite point + * \param theX2 - x coordinate of the second opposite point + * \param theY2 - y coordinate of the second opposite point + * \param theZ2 - y coordinate of the second opposite point */ long_array GetInsideBox( in SMESH_IDSource theSource, in ElementType theElemType, @@ -500,12 +553,12 @@ module SMESH * 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 theX - x coordinate of the cented of the bottom face + * \param theY - y coordinate of the cented of the bottom face + * \param theZ - y coordinate of the cented of the bottom face + * \param theDX - x coordinate of the cented of the base vector + * \param theDY - y coordinate of the cented of the base vector + * \param theDZ - z coordinate of the cented of the base vector * \param theH - height of the cylinder * \param theR - radius of the cylinder */