X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Gen.idl;h=d5772802b186847fded1423cb3b9fcc29cb1ec33;hp=4dbeb2ef0bc5d026aae1e7865c0f54c3e719127e;hb=HEAD;hpb=5dcb2f2b467e63a0e5d37e234b2ba8f8e624f987 diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 4dbeb2ef0..f3bf7f454 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -33,6 +33,12 @@ #include "SMESH_Mesh.idl" #include "SMESH_Hypothesis.idl" +#include "SMESH_smIdType.idl" + +module SMESHHOMARD +{ + interface HOMARD_Gen; +}; module SMESH { @@ -43,6 +49,8 @@ module SMESH interface FilterManager; interface SMESH_Pattern; interface Measurements; + interface MG_ADAPT; + interface MG_ADAPT_OBJECT; /*! * Tags definition @@ -111,7 +119,7 @@ module SMESH short code; // ComputeErrorName or, if negative, algo specific code string comment; // textual problem description string algoName; - short subShapeID; // id of sub-shape of a shape to mesh + long subShapeID; // id of sub-shape of a shape to mesh boolean hasBadMesh; // there are elements preventing computation available for visualization }; typedef sequence compute_error_array; @@ -121,7 +129,7 @@ module SMESH */ struct HypInitParams { - short way; // 0 - by mesh, 1 - by geometry size + prefered parameters, 2 - by averageLength + short way; // 0 - by mesh, 1 - by geometry size + preferred parameters, 2 - by averageLength double averageLength; boolean quadDominated; }; @@ -151,12 +159,12 @@ module SMESH Update the study */ void UpdateStudy(); - + /*! Set enable publishing in the study */ void SetEnablePublish( in boolean theIsEnablePublish ); - + /*! Get enable publishing in the study */ @@ -173,6 +181,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. @@ -225,6 +242,16 @@ module SMESH SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject ) 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 + * The mesh is a parallel one + */ + SMESH_ParallelMesh CreateParallelMesh( in GEOM::GEOM_Object theObject ) + raises ( SALOME::SALOME_Exception ); /*! * Create an empty mesh object */ @@ -241,16 +268,9 @@ module SMESH /*! * Create Mesh object(s) importing data from given MED file */ - mesh_array CreateMeshesFromMED( in string theFileName, - out SMESH::DriverMED_ReadStatus theStatus ) - raises ( SALOME::SALOME_Exception ); - - /*! - * Create Mesh object(s) importing data from given MED file - */ - mesh_array CreateMeshesFromSAUV( in string theFileName, - out SMESH::DriverMED_ReadStatus theStatus ) - raises ( SALOME::SALOME_Exception ); + mesh_array CreateMeshesFromMED( in string theFileName, + out SMESH::DriverMED_ReadStatus theStatus ) + raises ( SALOME::SALOME_Exception ); /*! * Create Mesh object importing data from given STL file @@ -275,6 +295,24 @@ module SMESH out SMESH::ComputeError theError) raises ( SALOME::SALOME_Exception ); + /*! + * Create a mesh and import data from any file supported by meshio library + */ + mesh_array CreateMeshesFromMESHIO(in string theFileName, + out SMESH::DriverMED_ReadStatus theStatus) + raises (SALOME::SALOME_Exception); + + /*! + * Create a dual mesh of a Tetrahedron mesh + * \param mesh - TetraHedron mesh to create dual from + * \param meshName - a name of the new mesh + * \param adaptToShape - if True project boundary point on shape + */ + SMESH_Mesh CreateDualMesh(in SMESH_IDSource mesh, + in string meshName, + in boolean adaptToShape) + raises ( SALOME::SALOME_Exception ); + /*! * Create a mesh by copying a part of another mesh * \param meshPart - a part of mesh to copy @@ -295,7 +333,7 @@ module SMESH * \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, + * \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 @@ -376,8 +414,8 @@ module SMESH /*! * Evaluates size of prospective mesh on a shape */ - long_array Evaluate(in SMESH_Mesh theMesh, - in GEOM::GEOM_Object theSubObject) + smIdType_array Evaluate(in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject) raises ( SALOME::SALOME_Exception ); /*! @@ -435,17 +473,17 @@ module SMESH * The returned geometrical object, if not nil, is either found in the * study or is published by this method with the given name */ - GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh, - in long theElementID, - in string theGeomName) + GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh, + in smIdType theElementID, + in string theGeomName) raises ( SALOME::SALOME_Exception ); /*! * Return geometrical object the given element is built on. * The returned geometrical object not published in study by this method. */ - GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh theMesh, - in long theElementID) + GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh theMesh, + in smIdType theElementID) raises ( SALOME::SALOME_Exception ); /*! @@ -516,10 +554,10 @@ module SMESH */ long_array GetInsideSphere( in SMESH_IDSource theSource, in ElementType theElemType, - in double theX, - in double theY, + in double theX, + in double theY, in double theZ, - in double theR ); + in double theR ); /*! * Return indices of elements, which are located inside the box @@ -534,12 +572,12 @@ module SMESH */ long_array GetInsideBox( in SMESH_IDSource theSource, in ElementType theElemType, - in double theX1, - in double theY1, + in double theX1, + in double theY1, in double theZ1, in double theX2, in double theY2, - in double theZ2); + in double theZ2); /*! * Return indices of elements, which are located inside the box * \param theSource - mesh, sub-mesh or group @@ -555,14 +593,14 @@ module SMESH */ long_array GetInsideCylinder( in SMESH_IDSource theSource, in ElementType theElemType, - in double theX, - in double theY, + in double theX, + in double theY, in double theZ, in double theDX, in double theDY, in double theDZ, in double theH, - in double theR ); + in double theR ); /*! * Return indices of elements, which are located inside the geometry * \param theSource - mesh, sub-mesh or group @@ -573,9 +611,13 @@ module SMESH long_array GetInside( in SMESH_IDSource theSource, in ElementType theElemType, in GEOM::GEOM_Object theGeom, - in double theTolerance ); - + in double theTolerance ); + MG_ADAPT CreateMG_ADAPT(); + SMESHHOMARD::HOMARD_Gen CreateHOMARD_ADAPT() raises ( SALOME::SALOME_Exception ); + //MG_ADAPT_OBJECT Adaptation(in string adaptType); + SALOME::GenericObj Adaptation(in string adaptType) raises ( SALOME::SALOME_Exception ); + MG_ADAPT CreateAdaptationHypothesis(); }; };