2022-05-05 18:51:12 +05:00
|
|
|
// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE
|
2009-02-17 10:27:49 +05:00
|
|
|
//
|
2012-08-09 16:03:55 +06:00
|
|
|
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
|
|
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
2009-02-17 10:27:49 +05:00
|
|
|
//
|
2012-08-09 16:03:55 +06:00
|
|
|
// 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
|
2014-02-20 18:25:37 +06:00
|
|
|
// version 2.1 of the License, or (at your option) any later version.
|
2003-07-10 21:09:38 +06:00
|
|
|
//
|
2012-08-09 16:03:55 +06:00
|
|
|
// 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.
|
2003-07-10 21:09:38 +06:00
|
|
|
//
|
2012-08-09 16:03:55 +06:00
|
|
|
// 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
|
2009-02-17 10:27:49 +05:00
|
|
|
//
|
2012-08-09 16:03:55 +06:00
|
|
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
2003-07-10 21:09:38 +06:00
|
|
|
//
|
|
|
|
// File : SMESH_Gen.idl
|
|
|
|
// Author : Paul RASCLE, EDF
|
2003-05-19 19:18:36 +06:00
|
|
|
|
|
|
|
#ifndef _SMESH_GEN_IDL_
|
|
|
|
#define _SMESH_GEN_IDL_
|
|
|
|
|
|
|
|
#include "SALOME_Exception.idl"
|
|
|
|
#include "SALOME_Component.idl"
|
|
|
|
#include "SALOMEDS.idl"
|
|
|
|
|
|
|
|
#include "GEOM_Gen.idl"
|
|
|
|
|
|
|
|
#include "SMESH_Mesh.idl"
|
|
|
|
#include "SMESH_Hypothesis.idl"
|
2021-03-17 19:11:57 +05:00
|
|
|
#include "SMESH_smIdType.idl"
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2021-12-01 21:12:39 +05:00
|
|
|
module SMESHHOMARD
|
|
|
|
{
|
|
|
|
interface HOMARD_Gen;
|
|
|
|
};
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
module SMESH
|
|
|
|
{
|
2013-07-09 14:32:08 +06:00
|
|
|
typedef sequence<SALOMEDS::SObject> sobject_list;
|
2004-12-01 15:48:31 +05:00
|
|
|
typedef sequence<GEOM::GEOM_Object> object_array;
|
2008-03-07 12:47:05 +05:00
|
|
|
typedef sequence<SMESH_Mesh> mesh_array;
|
2004-06-18 14:34:31 +06:00
|
|
|
|
|
|
|
interface FilterManager;
|
2004-12-01 15:48:31 +05:00
|
|
|
interface SMESH_Pattern;
|
2012-08-09 16:03:55 +06:00
|
|
|
interface Measurements;
|
2021-03-22 17:02:50 +05:00
|
|
|
interface MG_ADAPT;
|
|
|
|
interface MG_ADAPT_OBJECT;
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2008-03-07 12:47:05 +05:00
|
|
|
/*!
|
|
|
|
* Tags definition
|
|
|
|
*/
|
|
|
|
// Top level
|
|
|
|
const long Tag_HypothesisRoot = 1; // hypotheses root
|
|
|
|
const long Tag_AlgorithmsRoot = 2; // algorithms root
|
|
|
|
const long Tag_FirstMeshRoot = 3; // first mesh root
|
|
|
|
// Mesh/Submesh
|
|
|
|
const long Tag_RefOnShape = 1; // references to shape
|
|
|
|
const long Tag_RefOnAppliedHypothesis = 2; // applied hypotheses root
|
|
|
|
const long Tag_RefOnAppliedAlgorithms = 3; // applied algorithms root
|
|
|
|
// Mesh only: sub-meshes roots by type
|
|
|
|
const long Tag_FirstSubMesh = 4;
|
|
|
|
const long Tag_SubMeshOnVertex = 4;
|
|
|
|
const long Tag_SubMeshOnEdge = 5;
|
|
|
|
const long Tag_SubMeshOnWire = 6;
|
|
|
|
const long Tag_SubMeshOnFace = 7;
|
|
|
|
const long Tag_SubMeshOnShell = 8;
|
|
|
|
const long Tag_SubMeshOnSolid = 9;
|
|
|
|
const long Tag_SubMeshOnCompound = 10;
|
|
|
|
const long Tag_LastSubMesh = 10;
|
|
|
|
// Mesh only: group roots by type
|
|
|
|
const long Tag_FirstGroup = 11;
|
|
|
|
const long Tag_NodeGroups = 11;
|
|
|
|
const long Tag_EdgeGroups = 12;
|
|
|
|
const long Tag_FaceGroups = 13;
|
|
|
|
const long Tag_VolumeGroups = 14;
|
2012-08-09 16:03:55 +06:00
|
|
|
const long Tag_0DElementsGroups = 15;
|
|
|
|
const long Tag_BallElementsGroups = 16;
|
|
|
|
const long Tag_LastGroup = 16;
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
/*!
|
2017-12-28 16:28:17 +05:00
|
|
|
* Hypothesis definition error
|
2008-03-07 12:47:05 +05:00
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
struct AlgoStateError
|
2008-03-07 12:47:05 +05:00
|
|
|
{
|
|
|
|
Hypothesis_Status state;
|
2005-11-14 14:11:54 +05:00
|
|
|
string algoName;
|
|
|
|
long algoDim;
|
|
|
|
boolean isGlobalAlgo;
|
|
|
|
};
|
|
|
|
typedef sequence<AlgoStateError> algo_error_array;
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
/*!
|
|
|
|
* Mesh computation error
|
|
|
|
*/
|
|
|
|
enum ComputeErrorName
|
|
|
|
{
|
|
|
|
COMPERR_OK ,
|
|
|
|
COMPERR_BAD_INPUT_MESH, // wrong mesh on lower submesh
|
|
|
|
COMPERR_STD_EXCEPTION , // some std exception raised
|
|
|
|
COMPERR_OCC_EXCEPTION , // OCC exception raised
|
|
|
|
COMPERR_SLM_EXCEPTION , // SALOME exception raised
|
|
|
|
COMPERR_EXCEPTION , // other exception raised
|
|
|
|
COMPERR_MEMORY_PB , // memory allocation problem
|
|
|
|
COMPERR_ALGO_FAILED , // computation failed
|
2012-08-09 16:03:55 +06:00
|
|
|
COMPERR_BAD_SHAPE , // bad geometry
|
|
|
|
COMPERR_WARNING , // algo reports error but sub-mesh is computed anyway
|
2012-10-08 17:56:59 +06:00
|
|
|
COMPERR_CANCELED , // compute canceled
|
2013-11-22 18:33:25 +06:00
|
|
|
COMPERR_NO_MESH_ON_SHAPE,// no mesh elements assigned to sub-mesh
|
|
|
|
COMPERR_BAD_PARMETERS // incorrect hypotheses parameters
|
2008-03-07 12:47:05 +05:00
|
|
|
};
|
|
|
|
struct ComputeError
|
|
|
|
{
|
2009-02-17 10:27:49 +05:00
|
|
|
short code; // ComputeErrorName or, if negative, algo specific code
|
|
|
|
string comment; // textual problem description
|
|
|
|
string algoName;
|
2021-08-05 21:03:34 +05:00
|
|
|
long subShapeID; // id of sub-shape of a shape to mesh
|
2009-02-17 10:27:49 +05:00
|
|
|
boolean hasBadMesh; // there are elements preventing computation available for visualization
|
2008-03-07 12:47:05 +05:00
|
|
|
};
|
|
|
|
typedef sequence<ComputeError> compute_error_array;
|
|
|
|
|
2019-10-22 19:24:35 +05:00
|
|
|
/*!
|
|
|
|
* Way to initialize hypothesis
|
|
|
|
*/
|
|
|
|
struct HypInitParams
|
|
|
|
{
|
2021-01-11 14:42:05 +05:00
|
|
|
short way; // 0 - by mesh, 1 - by geometry size + preferred parameters, 2 - by averageLength
|
2019-10-22 19:24:35 +05:00
|
|
|
double averageLength;
|
|
|
|
boolean quadDominated;
|
|
|
|
};
|
2008-03-07 12:47:05 +05:00
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
interface SMESH_Gen : Engines::EngineComponent, SALOMEDS::Driver
|
2003-05-19 19:18:36 +06:00
|
|
|
{
|
2008-03-07 12:47:05 +05:00
|
|
|
//GEOM::GEOM_Gen SetGeomEngine( in string containerLoc );
|
|
|
|
void SetGeomEngine( in GEOM::GEOM_Gen geomcompo );
|
2004-06-18 14:34:31 +06:00
|
|
|
|
|
|
|
FilterManager CreateFilterManager();
|
|
|
|
|
2004-12-01 15:48:31 +05:00
|
|
|
SMESH_Pattern GetPattern();
|
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
Measurements CreateMeasurements();
|
2021-03-22 12:14:46 +05:00
|
|
|
|
2006-03-13 20:29:49 +05:00
|
|
|
/*!
|
|
|
|
Set the current mode
|
|
|
|
*/
|
|
|
|
void SetEmbeddedMode( in boolean theMode );
|
|
|
|
|
|
|
|
/*!
|
|
|
|
Get the current mode
|
|
|
|
*/
|
|
|
|
boolean IsEmbeddedMode();
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
/*!
|
2017-06-13 15:01:10 +05:00
|
|
|
Update the study
|
2004-06-18 14:34:31 +06:00
|
|
|
*/
|
2017-06-13 15:01:10 +05:00
|
|
|
void UpdateStudy();
|
2022-09-23 13:40:31 +05:00
|
|
|
|
2017-06-13 15:01:10 +05:00
|
|
|
/*!
|
|
|
|
Set enable publishing in the study
|
|
|
|
*/
|
|
|
|
void SetEnablePublish( in boolean theIsEnablePublish );
|
2022-09-23 13:40:31 +05:00
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
/*!
|
2017-06-13 15:01:10 +05:00
|
|
|
Get enable publishing in the study
|
2004-06-18 14:34:31 +06:00
|
|
|
*/
|
2017-06-13 15:01:10 +05:00
|
|
|
boolean IsEnablePublish();
|
2004-06-18 14:34:31 +06:00
|
|
|
|
|
|
|
/*!
|
2017-10-09 17:28:05 +05:00
|
|
|
* Create a hypothesis that can be shared by different parts of the mesh.
|
2003-05-19 19:18:36 +06:00
|
|
|
* 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.
|
|
|
|
*/
|
2004-06-18 14:34:31 +06:00
|
|
|
SMESH_Hypothesis CreateHypothesis( in string theHypName,
|
2012-08-09 16:03:55 +06:00
|
|
|
in string theLibName )
|
2004-06-18 14:34:31 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2019-11-05 17:02:59 +05:00
|
|
|
/*!
|
|
|
|
* 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 );
|
|
|
|
|
2006-02-07 20:01:11 +05:00
|
|
|
/*!
|
2009-02-17 10:27:49 +05:00
|
|
|
* Return a hypothesis holding parameter values corresponding either to the mesh
|
|
|
|
* existing on the given geometry or to size of the geometry.
|
2006-02-07 20:01:11 +05:00
|
|
|
* The returned hypothesis may be the one existing in a study and used
|
|
|
|
* to compute the mesh, or a temporary one created just to pass parameter
|
2009-02-17 10:27:49 +05:00
|
|
|
* values.
|
2006-02-07 20:01:11 +05:00
|
|
|
*/
|
|
|
|
SMESH_Hypothesis GetHypothesisParameterValues( in string theHypName,
|
|
|
|
in string theLibName,
|
|
|
|
in SMESH_Mesh theMesh,
|
2009-02-17 10:27:49 +05:00
|
|
|
in GEOM::GEOM_Object theGeom,
|
2019-10-22 19:24:35 +05:00
|
|
|
in HypInitParams theWay)
|
2009-02-17 10:27:49 +05:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2014-07-25 20:06:05 +06:00
|
|
|
/*!
|
|
|
|
* 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);
|
|
|
|
|
2009-02-17 10:27:49 +05:00
|
|
|
/*!
|
|
|
|
* Sets number of segments per diagonal of boundary box of geometry by which
|
|
|
|
* default segment length of appropriate 1D hypotheses is defined
|
|
|
|
*/
|
|
|
|
void SetBoundaryBoxSegmentation( in long theNbSegments ) raises ( SALOME::SALOME_Exception );
|
|
|
|
/*!
|
|
|
|
* \brief Sets default number of segments per edge
|
|
|
|
*/
|
|
|
|
void SetDefaultNbSegments( in long theNbSegments) raises ( SALOME::SALOME_Exception );
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Set the object name
|
|
|
|
*/
|
|
|
|
void SetName( in string theObjectIOR,
|
2012-08-09 16:03:55 +06:00
|
|
|
in string theObjectName )
|
2006-02-07 20:01:11 +05:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
/*!
|
|
|
|
* 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
|
|
|
|
*/
|
2004-12-01 15:48:31 +05:00
|
|
|
SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject )
|
2004-06-18 14:34:31 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
2012-08-09 16:03:55 +06:00
|
|
|
|
2006-05-06 14:51:48 +06:00
|
|
|
/*!
|
2009-02-17 10:27:49 +05:00
|
|
|
* Create an empty mesh object
|
2006-05-06 14:51:48 +06:00
|
|
|
*/
|
|
|
|
SMESH_Mesh CreateEmptyMesh()
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
2012-08-09 16:03:55 +06:00
|
|
|
|
2004-12-01 15:48:31 +05:00
|
|
|
/*!
|
|
|
|
* Create Mesh object importing data from given UNV file
|
2008-03-07 12:47:05 +05:00
|
|
|
* (UNV supported version is I-DEAS 10)
|
2004-12-01 15:48:31 +05:00
|
|
|
*/
|
|
|
|
SMESH_Mesh CreateMeshesFromUNV( in string theFileName )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2004-06-18 14:34:31 +06:00
|
|
|
/*!
|
|
|
|
* Create Mesh object(s) importing data from given MED file
|
|
|
|
*/
|
2021-10-20 16:48:04 +05:00
|
|
|
mesh_array CreateMeshesFromMED( in string theFileName,
|
|
|
|
out SMESH::DriverMED_ReadStatus theStatus )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2004-12-01 15:48:31 +05:00
|
|
|
/*!
|
|
|
|
* Create Mesh object importing data from given STL file
|
|
|
|
*/
|
|
|
|
SMESH_Mesh CreateMeshesFromSTL( in string theFileName )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
/*!
|
2012-08-09 16:03:55 +06:00
|
|
|
* Create Mesh object(s) importing data from given CGNS file
|
|
|
|
*/
|
|
|
|
mesh_array CreateMeshesFromCGNS( in string theFileName,
|
|
|
|
out SMESH::DriverMED_ReadStatus theStatus )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2012-10-08 17:56:59 +06:00
|
|
|
/*!
|
|
|
|
* Create Mesh object importing data from given GMF file
|
2012-12-13 17:41:29 +06:00
|
|
|
* \param theFileName - a name of file to import
|
|
|
|
* \param theMakeRequiredGroups - if true, groups of required entities will be created
|
2012-10-08 17:56:59 +06:00
|
|
|
*/
|
|
|
|
SMESH_Mesh CreateMeshesFromGMF( in string theFileName,
|
2012-12-13 17:41:29 +06:00
|
|
|
in boolean theMakeRequiredGroups,
|
2012-10-08 17:56:59 +06:00
|
|
|
out SMESH::ComputeError theError)
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
2022-09-23 13:40:31 +05:00
|
|
|
/*!
|
|
|
|
* Create a dual mesh of a Tetrahedron mesh
|
2022-09-23 16:47:18 +05:00
|
|
|
* \param mesh - TetraHedron mesh to create dual from
|
2022-09-23 13:40:31 +05:00
|
|
|
* \param meshName - a name of the new mesh
|
|
|
|
*/
|
|
|
|
SMESH_Mesh CreateDualMesh(in SMESH_IDSource mesh,
|
|
|
|
in string meshName)
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
2012-10-08 17:56:59 +06:00
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
/*!
|
|
|
|
* Create a mesh by copying a part of another mesh
|
|
|
|
* \param meshPart - a part of mesh to copy
|
|
|
|
* \param meshName - a name of the new mesh
|
|
|
|
* \param toCopyGroups - to create in the new mesh groups
|
|
|
|
* the copied elements belongs to
|
|
|
|
* \param toKeepIDs - to preserve IDs of the copied elements or not
|
|
|
|
*/
|
|
|
|
SMESH_Mesh CopyMesh(in SMESH_IDSource meshPart,
|
|
|
|
in string meshName,
|
|
|
|
in boolean toCopyGroups,
|
|
|
|
in boolean toKeepIDs)
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2018-09-18 00:24:36 +05:00
|
|
|
/*!
|
|
|
|
* 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
|
2022-09-23 13:40:31 +05:00
|
|
|
* \param toReuseHypotheses - if True, existing hypothesis will be used by the new mesh,
|
2018-09-18 00:24:36 +05:00
|
|
|
* 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
|
2019-04-08 15:38:22 +05:00
|
|
|
* preceding sub-shape
|
2018-09-18 00:24:36 +05:00
|
|
|
*/
|
|
|
|
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 );
|
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
/*!
|
2019-01-17 17:53:49 +05:00
|
|
|
* Concatenate the given meshes or groups into one mesh,
|
|
|
|
* optionally to theMeshToAppendTo.
|
2012-08-09 16:03:55 +06:00
|
|
|
* Union groups with the same name and type if
|
|
|
|
* theUniteIdenticalGroups flag is true.
|
|
|
|
* Merge coincident nodes and elements if
|
|
|
|
* theMergeNodesAndElements flag is true.
|
|
|
|
*/
|
2015-03-03 17:03:38 +05:00
|
|
|
SMESH_Mesh Concatenate(in ListOfIDSources theMeshesArray,
|
|
|
|
in boolean theUniteIdenticalGroups,
|
|
|
|
in boolean theMergeNodesAndElements,
|
2019-01-17 17:53:49 +05:00
|
|
|
in double theMergeTolerance,
|
|
|
|
in SMESH_Mesh theMeshToAppendTo)
|
2012-08-09 16:03:55 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
|
|
|
/*!
|
2019-01-17 17:53:49 +05:00
|
|
|
* Concatenate the given meshes into one mesh,
|
|
|
|
* optionally to theMeshToAppendTo.
|
2012-08-09 16:03:55 +06:00
|
|
|
* Union groups with the same name and type if
|
|
|
|
* theUniteIdenticalGroups flag is true.
|
|
|
|
* Merge coincident nodes and elements if
|
|
|
|
* theMergeNodesAndElements flag is true.
|
|
|
|
* Create the groups of all elements from initial meshes.
|
2003-05-19 19:18:36 +06:00
|
|
|
*/
|
2015-03-03 17:03:38 +05:00
|
|
|
SMESH_Mesh ConcatenateWithGroups(in ListOfIDSources theMeshesArray,
|
|
|
|
in boolean theUniteIdenticalGroups,
|
|
|
|
in boolean theMergeNodesAndElements,
|
2019-01-17 17:53:49 +05:00
|
|
|
in double theMergeTolerance,
|
|
|
|
in SMESH_Mesh theMeshToAppendTo)
|
2012-08-09 16:03:55 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
|
|
|
/*!
|
2012-08-09 16:03:55 +06:00
|
|
|
* Mesh a subShape.
|
|
|
|
* First, verify list of hypothesis associated with the Sub-shape,
|
2003-05-19 19:18:36 +06:00
|
|
|
* return NOK if hypothesis are not sufficient
|
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
boolean Compute( in SMESH_Mesh theMesh,
|
|
|
|
in GEOM::GEOM_Object theSubObject )
|
2004-06-18 14:34:31 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2012-08-09 16:03:55 +06:00
|
|
|
/*!
|
|
|
|
* Cancel a computation.
|
|
|
|
*/
|
|
|
|
void CancelCompute( in SMESH_Mesh theMesh,
|
|
|
|
in GEOM::GEOM_Object theSubObject );
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
/*!
|
2006-02-07 20:01:11 +05:00
|
|
|
* Return true if hypotheses are defined well
|
2003-05-19 19:18:36 +06:00
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
boolean IsReadyToCompute( in SMESH_Mesh theMesh,
|
|
|
|
in GEOM::GEOM_Object theSubObject )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Evaluates size of prospective mesh on a shape
|
|
|
|
*/
|
2021-03-17 19:11:57 +05:00
|
|
|
smIdType_array Evaluate(in SMESH_Mesh theMesh,
|
|
|
|
in GEOM::GEOM_Object theSubObject)
|
2004-06-18 14:34:31 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2009-02-17 10:27:49 +05:00
|
|
|
/*!
|
|
|
|
* Calculate Mesh as preview till indicated dimension
|
2012-08-09 16:03:55 +06:00
|
|
|
* First, verify list of hypothesis associated with the Sub-shape.
|
2009-02-17 10:27:49 +05:00
|
|
|
* Return mesh preview structure
|
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
MeshPreviewStruct Precompute( in SMESH_Mesh theMesh,
|
|
|
|
in GEOM::GEOM_Object theSubObject,
|
|
|
|
in Dimension theDimension,
|
|
|
|
inout long_array theShapesId )
|
2009-02-17 10:27:49 +05:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2005-11-14 14:11:54 +05:00
|
|
|
/*!
|
2017-12-28 16:28:17 +05:00
|
|
|
* Return errors of hypotheses definition
|
2005-11-14 14:11:54 +05:00
|
|
|
* algo_error_array is empty if everything is OK
|
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
algo_error_array GetAlgoState( in SMESH_Mesh theMesh,
|
2005-11-14 14:11:54 +05:00
|
|
|
in GEOM::GEOM_Object theSubObject )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
/*!
|
2008-03-07 12:47:05 +05:00
|
|
|
* Return errors of mesh computation
|
|
|
|
* compute_error_array is empty if everything is OK
|
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
compute_error_array GetComputeErrors( in SMESH_Mesh theMesh,
|
2008-03-07 12:47:05 +05:00
|
|
|
in GEOM::GEOM_Object theSubObject )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2009-02-17 10:27:49 +05:00
|
|
|
/*!
|
2012-08-09 16:03:55 +06:00
|
|
|
* Return mesh elements preventing computation of a sub-shape
|
2009-02-17 10:27:49 +05:00
|
|
|
*/
|
|
|
|
MeshPreviewStruct GetBadInputElements( in SMESH_Mesh theMesh,
|
|
|
|
in short theSubShapeID )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2013-05-21 15:09:23 +06:00
|
|
|
/*!
|
|
|
|
* Create groups of elements preventing computation of a sub-shape
|
|
|
|
*/
|
|
|
|
SMESH::ListOfGroups MakeGroupsOfBadInputElements( in SMESH_Mesh theMesh,
|
|
|
|
in short theSubShapeID,
|
|
|
|
in string theGroupName)
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2008-03-07 12:47:05 +05:00
|
|
|
/*!
|
2014-05-29 19:34:47 +06:00
|
|
|
* Return indices of faces, edges and vertices of given sub-shapes
|
2008-03-07 12:47:05 +05:00
|
|
|
* within theMainObject
|
2003-05-19 19:18:36 +06:00
|
|
|
*/
|
2004-12-01 15:48:31 +05:00
|
|
|
long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject,
|
2006-02-07 20:01:11 +05:00
|
|
|
in object_array theListOfSubObjects )
|
2004-06-18 14:34:31 +06:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
2006-02-07 20:01:11 +05:00
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
/*!
|
2006-02-07 20:01:11 +05:00
|
|
|
* Return geometrical object the given element is built on.
|
2012-08-09 16:03:55 +06:00
|
|
|
* The returned geometrical object, if not nil, is either found in the
|
2006-02-07 20:01:11 +05:00
|
|
|
* study or is published by this method with the given name
|
2003-05-19 19:18:36 +06:00
|
|
|
*/
|
2021-03-17 19:11:57 +05:00
|
|
|
GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh,
|
|
|
|
in smIdType theElementID,
|
|
|
|
in string theGeomName)
|
2006-02-07 20:01:11 +05:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2008-03-07 12:47:05 +05:00
|
|
|
/*!
|
|
|
|
* Return geometrical object the given element is built on.
|
|
|
|
* The returned geometrical object not published in study by this method.
|
|
|
|
*/
|
2021-03-17 19:11:57 +05:00
|
|
|
GEOM::GEOM_Object FindGeometryByMeshElement( in SMESH_Mesh theMesh,
|
|
|
|
in smIdType theElementID)
|
2008-03-07 12:47:05 +05:00
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
|
|
|
/*!
|
2012-08-09 16:03:55 +06:00
|
|
|
* \brief Return id of object, registered in current study context
|
|
|
|
*
|
|
|
|
* Can be used to check if the object was created in the same container, as this engine.
|
2008-03-07 12:47:05 +05:00
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
long GetObjectId(in Object theObject);
|
2008-03-07 12:47:05 +05:00
|
|
|
|
2016-04-06 19:24:26 +05:00
|
|
|
/*!
|
|
|
|
* \brief Get version of MED format being used.
|
|
|
|
*/
|
|
|
|
string GetMEDFileVersion();
|
|
|
|
|
2008-03-07 12:47:05 +05:00
|
|
|
/*!
|
2012-08-09 16:03:55 +06:00
|
|
|
* \brief Get MED version of the file by its name.
|
2008-03-07 12:47:05 +05:00
|
|
|
*/
|
2016-04-06 19:24:26 +05:00
|
|
|
string GetMEDVersion(in string theFileName);
|
|
|
|
|
|
|
|
/*!
|
2018-07-18 18:51:37 +05:00
|
|
|
* \brief Check compatibility of file with MED format being used, for read only.
|
2016-04-06 19:24:26 +05:00
|
|
|
*/
|
|
|
|
boolean CheckCompatibility(in string theFileName);
|
2008-03-07 12:47:05 +05:00
|
|
|
|
|
|
|
/*!
|
2018-07-18 18:51:37 +05:00
|
|
|
* \brief Check compatibility of file with MED format being used, for append on write.
|
|
|
|
*/
|
|
|
|
boolean CheckWriteCompatibility(in string theFileName);
|
|
|
|
|
|
|
|
/*!
|
2012-08-09 16:03:55 +06:00
|
|
|
* \brief Get names of meshes defined in file with the specified name.
|
2008-03-07 12:47:05 +05:00
|
|
|
*/
|
2012-08-09 16:03:55 +06:00
|
|
|
string_array GetMeshNames(in string theFileName);
|
2013-07-09 14:32:08 +06:00
|
|
|
|
|
|
|
/*!
|
|
|
|
* \brief Moves objects to the specified position
|
2014-07-25 20:06:05 +06:00
|
|
|
* \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
|
2013-07-09 14:32:08 +06:00
|
|
|
*
|
|
|
|
* This function is used in the drag-n-drop functionality.
|
|
|
|
*/
|
2014-07-25 20:06:05 +06:00
|
|
|
void Move( in sobject_list what,
|
|
|
|
in SALOMEDS::SObject where,
|
2013-07-09 14:32:08 +06:00
|
|
|
in long row );
|
2014-02-21 14:25:11 +06:00
|
|
|
/*!
|
2014-07-25 20:06:05 +06:00
|
|
|
* 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
|
2014-02-21 14:25:11 +06:00
|
|
|
*/
|
|
|
|
boolean IsApplicable( in string theAlgoType,
|
|
|
|
in string theLibName,
|
|
|
|
in GEOM::GEOM_Object theShapeObject,
|
|
|
|
in boolean toCheckAll );
|
2015-07-22 20:13:50 +05:00
|
|
|
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Return indices of elements, which are located inside the sphere
|
|
|
|
* \param theSource - mesh, sub-mesh or group
|
|
|
|
* \param theElemType - mesh element type
|
2019-04-08 15:38:22 +05:00
|
|
|
* \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
|
2015-07-22 20:13:50 +05:00
|
|
|
* \param theR - radius of the sphere
|
|
|
|
*/
|
|
|
|
long_array GetInsideSphere( in SMESH_IDSource theSource,
|
|
|
|
in ElementType theElemType,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theX,
|
|
|
|
in double theY,
|
2015-07-22 20:13:50 +05:00
|
|
|
in double theZ,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theR );
|
2015-07-22 20:13:50 +05:00
|
|
|
|
|
|
|
/*!
|
|
|
|
* Return indices of elements, which are located inside the box
|
|
|
|
* \param theSource - mesh, sub-mesh or group
|
|
|
|
* \param theElemType - mesh element type
|
2019-04-08 15:38:22 +05:00
|
|
|
* \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
|
2015-07-22 20:13:50 +05:00
|
|
|
*/
|
|
|
|
long_array GetInsideBox( in SMESH_IDSource theSource,
|
|
|
|
in ElementType theElemType,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theX1,
|
|
|
|
in double theY1,
|
2015-07-22 20:13:50 +05:00
|
|
|
in double theZ1,
|
|
|
|
in double theX2,
|
|
|
|
in double theY2,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theZ2);
|
2015-07-22 20:13:50 +05:00
|
|
|
/*!
|
|
|
|
* Return indices of elements, which are located inside the box
|
|
|
|
* \param theSource - mesh, sub-mesh or group
|
|
|
|
* \param theElemType - mesh element type
|
2019-04-08 15:38:22 +05:00
|
|
|
* \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
|
2015-07-22 20:13:50 +05:00
|
|
|
* \param theH - height of the cylinder
|
|
|
|
* \param theR - radius of the cylinder
|
|
|
|
*/
|
|
|
|
long_array GetInsideCylinder( in SMESH_IDSource theSource,
|
|
|
|
in ElementType theElemType,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theX,
|
|
|
|
in double theY,
|
2015-07-22 20:13:50 +05:00
|
|
|
in double theZ,
|
|
|
|
in double theDX,
|
|
|
|
in double theDY,
|
|
|
|
in double theDZ,
|
|
|
|
in double theH,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theR );
|
2015-07-22 20:13:50 +05:00
|
|
|
/*!
|
|
|
|
* 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,
|
2022-09-23 13:40:31 +05:00
|
|
|
in double theTolerance );
|
2015-07-22 20:13:50 +05:00
|
|
|
|
2021-03-22 17:02:50 +05:00
|
|
|
MG_ADAPT CreateMG_ADAPT();
|
2021-12-01 21:12:39 +05:00
|
|
|
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 );
|
2021-03-22 17:02:50 +05:00
|
|
|
MG_ADAPT CreateAdaptationHypothesis();
|
2003-05-19 19:18:36 +06:00
|
|
|
};
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|