smesh/src/SMESH_SWIG_WITHIHM/libSMESH_Swig.i

80 lines
2.4 KiB
OpenEdge ABL
Raw Normal View History

2013-04-01 19:05:47 +06:00
// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
2003-07-10 19:41:56 +06: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
// version 2.1 of the License.
2003-07-10 19:41:56 +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.
2009-02-17 10:27:49 +05: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
2009-02-17 10:27:49 +05:00
//
2012-08-09 16:03:55 +06:00
2009-02-17 10:27:49 +05:00
// SMESH SMESHGUI : GUI for SMESH component
// File : libSMESH_Swig.i
// Author : Nicolas REJNERI, Open CASCADE S.A.S.
2003-07-10 19:41:56 +06:00
//
2003-05-19 20:07:00 +06:00
%module libSMESH_Swig
2009-02-17 10:27:49 +05:00
%{
#include "libSMESH_Swig.h"
%}
/* Exception handler for all functions */
%exception
{
class PyAllowThreadsGuard
{
public:
// Py_BEGIN_ALLOW_THREADS
PyAllowThreadsGuard() { _save = PyEval_SaveThread(); }
// Py_END_ALLOW_THREADS
~PyAllowThreadsGuard() { PyEval_RestoreThread(_save); }
private:
PyThreadState *_save;
};
PyAllowThreadsGuard guard;
$action
}
%include "typemaps.i"
class SMESH_Swig
{
public:
SMESH_Swig();
~SMESH_Swig();
void Init(int studyID);
const char* AddNewMesh(const char* IOR);
const char* AddNewHypothesis(const char* IOR);
const char* AddNewAlgorithms(const char* IOR);
void SetShape(const char* ShapeEntry, const char* MeshEntry);
void SetHypothesis(const char* Mesh_Or_SubMesh_Entry, const char* Hypothesis_Entry);
void SetAlgorithms(const char* Mesh_Or_SubMesh_Entry, const char* Algorithms_Entry);
void UnSetHypothesis(const char* Applied_Hypothesis_Entry );
const char* AddSubMesh (const char* Mesh_Entry, const char* SM_IOR, int ST);
const char* AddSubMeshOnShape (const char* Mesh_Entry, const char* GeomShape_Entry, const char* SM_IOR, int ST);
void SetName(const char* Entry, const char* Name);
void SetMeshIcon(const char* Mesh_Entry, const bool isComputed, const bool isEmpty);
2003-05-19 20:07:00 +06:00
2009-02-17 10:27:49 +05:00
void CreateAndDisplayActor( const char* Mesh_Entry );
2012-10-08 17:56:59 +06:00
void EraseActor( const char* Mesh_Entry, const bool allViewers = false );
2009-02-17 10:27:49 +05:00
};