1 // Copyright (C) 2007-2020 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
20 #ifndef LIBSMESH_SWIG_H
21 #define LIBSMESH_SWIG_H
24 #if defined SMESH_SWIG_EXPORTS || defined _libSMESH_Swig_EXPORTS
25 #define SMESH_SWIG_EXPORT __declspec(dllexport)
27 #define SMESH_SWIG_EXPORT __declspec(dllimport)
30 #define SMESH_SWIG_EXPORT
33 #include <SVTK_Selection.h>
40 Entity0d = 0x01, // SMESH_Actor::e0DElements
41 EntityEdges = 0x02, // SMESH_Actor::eEdges
42 EntityFaces = 0x04, // SMESH_Actor::eFaces
43 EntityVolumes = 0x08, // SMESH_Actor::eVolumes
44 EntityBalls = 0x10, // SMESH_Actor::eBallElem
45 EntityAll = 0xff // SMESH_Actor::eAllEntity
48 // See SVTK_Selection.h
54 EdgeOfCell = EdgeOfCellSelection,
57 Volume = VolumeSelection,
58 Actor = ActorSelection,
59 Elem0D = Elem0DSelection,
67 PointMode = 0, // SMESH_Actor::ePoint
68 EdgeMode, // SMESH_Actor::eEdge
69 SurfaceMode // SMESH_Actor::eSurface
96 BicolorData surfaceColor;
97 BicolorData volumeColor;
99 ColorData elem0dColor;
105 ColorData outlineColor;
108 ColorData orientationColor;
109 double orientationScale;
119 typedef ColorData nodeColorStruct; // deprecated
120 typedef ColorData edgeColorStruct; // deprecated
121 typedef BicolorData surfaceColorStruct; // deprecated
122 typedef BicolorData volumeColorStruct; // deprecated
123 typedef Properties actorAspect; // deprecated
125 class SMESH_SWIG_EXPORT SMESH_Swig
132 // Initialization =============================================
134 void Init(); // deprecated
136 // Publishing =================================================
138 const char* publish(const char*, const char* = 0);
139 void rename(const char*, const char*);
141 const char* AddNewMesh(const char*, const char* = 0); // deprecated
142 const char* AddNewHypothesis(const char*, const char* = 0); // deprecated
143 const char* AddNewAlgorithm(const char*, const char* = 0); // deprecated
144 const char* AddNewAlgorithms(const char*, const char* = 0); // deprecated
146 void SetShape(const char*, const char*); // deprecated
148 void SetHypothesis(const char*, const char*); // deprecated
149 void SetAlgorithms(const char*, const char*); // deprecated
151 void UnSetHypothesis(const char*); // deprecated
153 const char* AddSubMesh(const char*, const char*, int, const char* = 0); // deprecated
154 const char* AddSubMeshOnShape(const char*, const char*, const char*, int, const char* = 0); // deprecated
156 void SetName(const char*, const char*); // deprecated
158 void SetMeshIcon(const char*, const bool, const bool); // deprecated
160 // Visualization =============================================
162 void display(const char*, int = 0, bool = true);
163 void erase(const char*, int = 0, bool = true);
164 void update(const char*);
166 Properties properties(const char*, int = 0);
167 void setProperties(const char*, const Properties&, int = 0);
169 bool nodesNumbering(const char*, int = 0);
170 void setNodesNumbering(const char*, bool, int = 0);
171 bool elementsNumbering(const char*, int = 0);
172 void setElementsNumbering(const char*, bool, int = 0);
174 DisplayMode displayMode(const char*, int = 0);
175 void setDisplayMode(const char*, DisplayMode, int = 0);
177 bool shrinkMode(const char*, int = 0);
178 void setShrinkMode(const char*, bool, int = 0);
180 double opacity(const char*, int = 0);
181 void setOpacity(const char*, double, int = 0);
183 bool isOrientationShown(const char*, int = 0);
184 void setOrientationShown(const char*, bool, int = 0);
186 int entitiesShown(const char*, int = 0);
187 void setEntitiesShown(const char*, int, int = 0);
188 bool isEntityShown(const char*, EntityMode, int = 0);
189 void setEntityShown(const char*, EntityMode, bool, int = 0);
191 void CreateAndDisplayActor(const char*); // deprecated
192 void EraseActor(const char*, const bool = false); // deprecated
193 void UpdateActor(const char* Mesh_Entry); // deprecated
195 actorAspect GetActorAspect(const char*, int = 0); // deprecated
196 void SetActorAspect(const actorAspect&, const char*, int = 0); // deprecated
198 // Selection =================================================
200 SelectionMode getSelectionMode(int = 0);
201 void setSelectionMode(SelectionMode, int = 0);
202 std::vector<int> getSelected(const char*);
203 std::vector<std::pair<int, int> > getSelectedEdgeOfCell(const char*);
205 void select(const char*, std::vector<int>, bool = false);
206 void select(const char*, int, bool = false);
207 void select(const char*, std::vector<std::pair<int,int> >, bool = false);
214 #endif // LIBSMESH_SWIG_H