smesh/idl/SMESH_Gen.idl

203 lines
6.4 KiB
Plaintext
Raw Normal View History

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
//
// 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
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();
/*!
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
/*!
* 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 );
/*!
* 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
*/
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
/*!
* Return true if hypotheses are defined well
2003-05-19 19:18:36 +06: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
*/
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,
in object_array theListOfSubObjects )
2004-06-18 14:34:31 +06:00
raises ( SALOME::SALOME_Exception );
2003-05-19 19:18:36 +06: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
*/
GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh,
in long 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)
raises ( SALOME::SALOME_Exception );
2003-05-19 19:18:36 +06:00
};
};
#endif