X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSMESH_SWIG_WITHIHM%2FlibSMESH_Swig.i;h=21abcf13b58f677c785b54b219efc8564e0dc81a;hb=6d32f944a0a115b6419184c50b57bf7c4eef5786;hp=c10c0fe964898d3255b94304bf04a3b3876bb446;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce;p=modules%2Fsmesh.git diff --git a/src/SMESH_SWIG_WITHIHM/libSMESH_Swig.i b/src/SMESH_SWIG_WITHIHM/libSMESH_Swig.i index c10c0fe96..21abcf13b 100644 --- a/src/SMESH_SWIG_WITHIHM/libSMESH_Swig.i +++ b/src/SMESH_SWIG_WITHIHM/libSMESH_Swig.i @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE // // 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. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,10 +17,6 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH SMESHGUI : GUI for SMESH component -// File : libSMESH_Swig.i -// Author : Nicolas REJNERI, Open CASCADE S.A.S. -// %module libSMESH_Swig %{ @@ -38,7 +34,7 @@ // Py_END_ALLOW_THREADS ~PyAllowThreadsGuard() { PyEval_RestoreThread(_save); } private: - PyThreadState *_save; + PyThreadState* _save; }; PyAllowThreadsGuard guard; @@ -47,33 +43,180 @@ } %include "typemaps.i" +%include "std_vector.i" +%include "std_pair.i" + +namespace std +{ + %template(VectorInt) vector; + %template() std::pair; + %template(PairVector) std::vector >; +}; + +// See SMESH_Actor.h +typedef enum +{ + EntityNone = 0x00, + Entity0d = 0x01, // SMESH_Actor::e0DElements + EntityEdges = 0x02, // SMESH_Actor::eEdges + EntityFaces = 0x04, // SMESH_Actor::eFaces + EntityVolumes = 0x08, // SMESH_Actor::eVolumes + EntityBalls = 0x10, // SMESH_Actor::eBallElem + EntityAll = 0xff // SMESH_Actor::eAllEntity +} EntityMode; + +// See SVTK_Selection.h +enum SelectionMode +{ + Undefined = -1, + Node = 0, // NodeSelection + Cell, // CellSelection + EdgeOfCell, // EdgeOfCellSelection + Edge, // EdgeSelection + Face, // FaceSelection + Volume, // VolumeSelection + Actor, // ActorSelection + Elem0D, // Elem0DSelection + Ball // BallSelection +}; + +// See SMESH_Actor.h +enum DisplayMode +{ + UndefinedMode = -1, + PointMode = 0, // SMESH_Actor::ePoint + EdgeMode, // SMESH_Actor::eEdge + SurfaceMode // SMESH_Actor::eSurface +}; + +struct ColorData +{ + double r, g, b; +}; + +struct BicolorData +{ + double r, g, b; + int delta; +}; + +struct Properties +{ + ColorData nodeColor; + int markerType; + int markerScale; + + ColorData edgeColor; + int edgeWidth; + + BicolorData surfaceColor; + BicolorData volumeColor; + + ColorData elem0dColor; + int elem0dSize; + + ColorData ballColor; + double ballScale; + + ColorData outlineColor; + int outlineWidth; + + ColorData orientationColor; + double orientationScale; + bool orientation3d; + + double shrinkFactor; + double opacity; +}; + +typedef ColorData nodeColorStruct; // deprecated +typedef ColorData edgeColorStruct; // deprecated +typedef BicolorData surfaceColorStruct; // deprecated +typedef BicolorData volumeColorStruct; // deprecated +typedef Properties actorAspect; // deprecated class SMESH_Swig { - public: +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); + // Initialization ============================================= + + void Init(); // deprecated + + // Publishing ================================================= + + const char* publish(const char*, const char* = 0); + void rename(const char*, const char*); + + const char* AddNewMesh(const char*, const char* = 0); // deprecated + const char* AddNewHypothesis(const char*, const char* = 0); // deprecated + const char* AddNewAlgorithms(const char*, const char* = 0); // deprecated + const char* AddNewAlgorithm(const char*, const char* = 0); // deprecated + + void SetShape(const char*, const char*); // deprecated + + void SetHypothesis(const char*, const char*); // deprecated + void SetAlgorithms(const char*, const char*); // deprecated + + void UnSetHypothesis(const char*); // deprecated + + const char* AddSubMesh(const char*, const char*, int, const char* = 0); // deprecated + const char* AddSubMeshOnShape (const char*, const char*, const char*, int, const char* = 0); // deprecated + + void SetName(const char*, const char*); // deprecated + + void SetMeshIcon(const char*, const bool, const bool); // deprecated + + // Visualization ============================================= + + void display(const char*, int = 0, bool = true); + void erase(const char*, int = 0, bool = true); + void update(const char*); + + Properties properties(const char*, int = 0); + void setProperties(const char*, const Properties&, int = 0); + + bool nodesNumbering(const char*, int = 0); + void setNodesNumbering(const char*, bool, int = 0); + bool elementsNumbering(const char*, int = 0); + void setElementsNumbering(const char*, bool, int = 0); + + DisplayMode displayMode(const char*, int = 0); + void setDisplayMode(const char*, DisplayMode, int = 0); + + bool shrinkMode(const char*, int = 0); + void setShrinkMode(const char*, bool, int = 0); + + double opacity(const char*, int = 0); + void setOpacity(const char*, double, int = 0); + + bool isOrientationShown(const char*, int = 0); + void setOrientationShown(const char*, bool, int = 0); - void SetShape(const char* ShapeEntry, const char* MeshEntry); + int entitiesShown(const char*, int = 0); + void setEntitiesShown(const char*, int, int = 0); + bool isEntityShown(const char*, EntityMode, int = 0); + void setEntityShown(const char*, EntityMode, bool, int = 0); - 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 CreateAndDisplayActor(const char*); // deprecated + void EraseActor(const char*, const bool = false); // deprecated + void UpdateActor(const char*); // deprecated - void UnSetHypothesis(const char* Applied_Hypothesis_Entry ); + actorAspect GetActorAspect(const char*, int = 0); // deprecated + void SetActorAspect(const actorAspect&, const char*, int = 0); // deprecated - 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); + // Selection ================================================= - void SetName(const char* Entry, const char* Name); + SelectionMode getSelectionMode(int = 0); + void setSelectionMode(SelectionMode, int = 0); - void SetMeshIcon(const char* Mesh_Entry, const bool isComputed, const bool isEmpty); + std::vector getSelected(const char*); + std::vector > getSelectedEdgeOfCell(const char*); - void CreateAndDisplayActor( const char* Mesh_Entry ); - void EraseActor( const char* Mesh_Entry, const bool allViewers = false ); + void select(const char*, std::vector, bool = false); + void select(const char*, int, bool = false); + void select(const char*, std::vector >, bool = false); };