1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #include "libSMESH_Swig.h"
26 /* Exception handler for all functions */
29 class PyAllowThreadsGuard
32 // Py_BEGIN_ALLOW_THREADS
33 PyAllowThreadsGuard() { _save = PyEval_SaveThread(); }
34 // Py_END_ALLOW_THREADS
35 ~PyAllowThreadsGuard() { PyEval_RestoreThread(_save); }
40 PyAllowThreadsGuard guard;
46 %include "std_vector.i"
51 %template(VectorInt) vector<int>;
52 %template() std::pair<int,int>;
53 %template(PairVector) std::vector<std::pair<int,int> >;
60 Entity0d = 0x01, // SMESH_Actor::e0DElements
61 EntityEdges = 0x02, // SMESH_Actor::eEdges
62 EntityFaces = 0x04, // SMESH_Actor::eFaces
63 EntityVolumes = 0x08, // SMESH_Actor::eVolumes
64 EntityBalls = 0x10, // SMESH_Actor::eBallElem
65 EntityAll = 0xff // SMESH_Actor::eAllEntity
68 // See SVTK_Selection.h
72 Node = 0, // NodeSelection
73 Cell, // CellSelection
74 EdgeOfCell, // EdgeOfCellSelection
75 Edge, // EdgeSelection
76 Face, // FaceSelection
77 Volume, // VolumeSelection
78 Actor, // ActorSelection
79 Elem0D, // Elem0DSelection
87 PointMode = 0, // SMESH_Actor::ePoint
88 EdgeMode, // SMESH_Actor::eEdge
89 SurfaceMode // SMESH_Actor::eSurface
112 BicolorData surfaceColor;
113 BicolorData volumeColor;
115 ColorData elem0dColor;
121 ColorData outlineColor;
124 ColorData orientationColor;
125 double orientationScale;
132 typedef ColorData nodeColorStruct; // deprecated
133 typedef ColorData edgeColorStruct; // deprecated
134 typedef BicolorData surfaceColorStruct; // deprecated
135 typedef BicolorData volumeColorStruct; // deprecated
136 typedef Properties actorAspect; // deprecated
144 // Initialization =============================================
146 void Init(int); // deprecated
148 // Publishing =================================================
150 const char* publish(const char*, const char* = 0);
151 void rename(const char*, const char*);
153 const char* AddNewMesh(const char*, const char* = 0); // deprecated
154 const char* AddNewHypothesis(const char*, const char* = 0); // deprecated
155 const char* AddNewAlgorithms(const char*, const char* = 0); // deprecated
156 const char* AddNewAlgorithm(const char*, const char* = 0); // deprecated
158 void SetShape(const char*, const char*); // deprecated
160 void SetHypothesis(const char*, const char*); // deprecated
161 void SetAlgorithms(const char*, const char*); // deprecated
163 void UnSetHypothesis(const char*); // deprecated
165 const char* AddSubMesh(const char*, const char*, int, const char* = 0); // deprecated
166 const char* AddSubMeshOnShape (const char*, const char*, const char*, int, const char* = 0); // deprecated
168 void SetName(const char*, const char*); // deprecated
170 void SetMeshIcon(const char*, const bool, const bool); // deprecated
172 // Visualization =============================================
174 void display(const char*, int = 0, bool = true);
175 void erase(const char*, int = 0, bool = true);
176 void update(const char*);
178 Properties properties(const char*, int = 0);
179 void setProperties(const char*, const Properties&, int = 0);
181 bool nodesNumbering(const char*, int = 0);
182 void setNodesNumbering(const char*, bool, int = 0);
183 bool elementsNumbering(const char*, int = 0);
184 void setElementsNumbering(const char*, bool, int = 0);
186 DisplayMode displayMode(const char*, int = 0);
187 void setDisplayMode(const char*, DisplayMode, int = 0);
189 bool shrinkMode(const char*, int = 0);
190 void setShrinkMode(const char*, bool, int = 0);
192 double opacity(const char*, int = 0);
193 void setOpacity(const char*, double, int = 0);
195 bool isOrientationShown(const char*, int = 0);
196 void setOrientationShown(const char*, bool, int = 0);
198 int entitiesShown(const char*, int = 0);
199 void setEntitiesShown(const char*, int, int = 0);
200 bool isEntityShown(const char*, EntityMode, int = 0);
201 void setEntityShown(const char*, EntityMode, bool, int = 0);
203 void CreateAndDisplayActor(const char*); // deprecated
204 void EraseActor(const char*, const bool = false); // deprecated
205 void UpdateActor(const char*); // deprecated
207 actorAspect GetActorAspect(const char*, int = 0); // deprecated
208 void SetActorAspect(const actorAspect&, const char*, int = 0); // deprecated
210 // Selection =================================================
212 SelectionMode getSelectionMode(int = 0);
213 void setSelectionMode(SelectionMode, int = 0);
215 std::vector<int> getSelected(const char*);
216 std::vector<std::pair<int,int> > getSelectedEdgeOfCell(const char*);
218 void select(const char*, std::vector<int>, bool = false);
219 void select(const char*, int, bool = false);
220 void select(const char*, std::vector<std::pair<int,int> >, bool = false);