2003-07-10 21:09:38 +06:00
|
|
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
|
|
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
//
|
|
|
|
// 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
|
|
|
|
//
|
2006-06-01 17:39:17 +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
|
|
|
|
// $Header$
|
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"
|
|
|
|
|
|
|
|
module SMESH
|
|
|
|
{
|
2004-12-01 15:48:31 +05:00
|
|
|
typedef sequence<GEOM::GEOM_Object> object_array;
|
2004-06-18 14:34:31 +06:00
|
|
|
typedef sequence<SMESH_Mesh> mesh_array;
|
|
|
|
|
|
|
|
interface FilterManager;
|
2004-12-01 15:48:31 +05:00
|
|
|
interface SMESH_Pattern;
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2006-12-06 21:17:58 +05:00
|
|
|
enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH, BAD_PARAM_VALUE };
|
2005-11-14 14:11:54 +05:00
|
|
|
struct AlgoStateError {
|
|
|
|
AlgoStateErrorName name;
|
|
|
|
string algoName;
|
|
|
|
long algoDim;
|
|
|
|
boolean isGlobalAlgo;
|
|
|
|
};
|
|
|
|
typedef sequence<AlgoStateError> algo_error_array;
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
interface SMESH_Gen : Engines::Component, SALOMEDS::Driver
|
|
|
|
{
|
2004-06-18 14:34:31 +06:00
|
|
|
|
|
|
|
FilterManager CreateFilterManager();
|
|
|
|
|
2004-12-01 15:48:31 +05:00
|
|
|
SMESH_Pattern GetPattern();
|
|
|
|
|
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
|
|
|
/*!
|
2004-06-18 14:34:31 +06:00
|
|
|
Set the current study
|
|
|
|
*/
|
|
|
|
void SetCurrentStudy( in SALOMEDS::Study theStudy );
|
|
|
|
|
|
|
|
/*!
|
|
|
|
Get the current study
|
|
|
|
*/
|
|
|
|
SALOMEDS::Study GetCurrentStudy();
|
|
|
|
|
|
|
|
/*!
|
|
|
|
* Create a hypothesis that can be shared by differents 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,
|
|
|
|
in string theLibName )
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
2006-02-07 20:01:11 +05:00
|
|
|
/*!
|
|
|
|
* Return a hypothesis holding parameter values corresponding to the mesh
|
|
|
|
* existing on the given geometry.
|
|
|
|
* 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
|
|
|
|
* values
|
|
|
|
*/
|
|
|
|
SMESH_Hypothesis GetHypothesisParameterValues( in string theHypName,
|
|
|
|
in string theLibName,
|
|
|
|
in SMESH_Mesh theMesh,
|
|
|
|
in GEOM::GEOM_Object theGeom)
|
|
|
|
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 );
|
|
|
|
|
2006-05-06 14:51:48 +06:00
|
|
|
/*!
|
|
|
|
* Create a empty mesh object
|
|
|
|
*/
|
|
|
|
SMESH_Mesh CreateEmptyMesh()
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2004-12-01 15:48:31 +05:00
|
|
|
/*!
|
|
|
|
* Create Mesh object importing data from given UNV file
|
2006-10-09 17:01:33 +06: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
|
|
|
|
*/
|
|
|
|
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
|
|
|
/*!
|
|
|
|
* Create a Mesh object, without a geometry shape reference
|
|
|
|
*/
|
2004-06-18 14:34:31 +06:00
|
|
|
// SMESH_Mesh NewEmpty()
|
|
|
|
// raises ( SALOME::SALOME_Exception );
|
2003-05-19 19:18:36 +06:00
|
|
|
|
|
|
|
/*!
|
|
|
|
* Mesh a subShape.
|
|
|
|
* First, verify list of hypothesis associated with the subShape,
|
|
|
|
* return NOK if hypothesis are not sufficient
|
|
|
|
*/
|
2006-02-07 20:01:11 +05:00
|
|
|
boolean Compute( in SMESH_Mesh theMesh,
|
2004-12-01 15:48:31 +05:00
|
|
|
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
|
|
|
|
|
|
|
/*!
|
2006-02-07 20:01:11 +05:00
|
|
|
* Return true if hypotheses are defined well
|
2003-05-19 19:18:36 +06:00
|
|
|
*/
|
2006-02-07 20:01:11 +05:00
|
|
|
boolean IsReadyToCompute( in SMESH_Mesh theMesh,
|
2004-12-01 15:48:31 +05:00
|
|
|
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
|
|
|
|
2005-11-14 14:11:54 +05:00
|
|
|
/*!
|
|
|
|
* Return errors of hypotheses definintion
|
|
|
|
* algo_error_array is empty if everything is OK
|
|
|
|
*/
|
2006-02-07 20:01:11 +05: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
|
|
|
/*!
|
2006-10-11 17:06:31 +06:00
|
|
|
* Return indeces of faces, edges and vertices of given subshapes
|
|
|
|
* 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.
|
|
|
|
* The returned geometrical object, if not nil, is either found in the
|
|
|
|
* study or is published by this method with the given name
|
2003-05-19 19:18:36 +06:00
|
|
|
*/
|
2006-02-07 20:01:11 +05:00
|
|
|
GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh,
|
|
|
|
in long theElementID,
|
|
|
|
in string theGeomName)
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2006-11-30 12:48:32 +05:00
|
|
|
/*!
|
|
|
|
* 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)
|
|
|
|
raises ( SALOME::SALOME_Exception );
|
|
|
|
|
2003-05-19 19:18:36 +06:00
|
|
|
};
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|