X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshOp.h;h=c658fb74e33568594bcfa6fd53b3784d597ab978;hp=51492c3ee53cb9797191978e07303a59af4f4be6;hb=415771a7d506997008edf6e99d0143ce5bb3a9a2;hpb=57b43b4d010e2d0a1529d3c131bbb9d416e63258 diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.h b/src/SMESHGUI/SMESHGUI_MeshOp.h index 51492c3ee..c658fb74e 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.h +++ b/src/SMESHGUI/SMESHGUI_MeshOp.h @@ -15,7 +15,7 @@ // 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/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // /** * SMESH SMESHGUI @@ -32,12 +32,15 @@ #ifndef SMESHGUI_MeshOp_H #define SMESHGUI_MeshOp_H +#include "SMESH_SMESHGUI.hxx" + #include "SMESHGUI_SelectionOp.h" -#include #include -#include CORBA_SERVER_HEADER(GEOM_Gen) -#include CORBA_SERVER_HEADER(SMESH_Mesh) +#include CORBA_CLIENT_HEADER(GEOM_Gen) +#include CORBA_CLIENT_HEADER(SMESH_Mesh) + +#include class SMESHGUI_MeshDlg; class SMESHGUI_ShapeByMeshOp; @@ -48,7 +51,7 @@ class HypothesisData; * * This operation is used for mech creation or editing. */ -class SMESHGUI_MeshOp : public SMESHGUI_SelectionOp +class SMESHGUI_EXPORT SMESHGUI_MeshOp : public SMESHGUI_SelectionOp { Q_OBJECT @@ -56,6 +59,15 @@ public: enum HypType{ Algo = 0, MainHyp, AddHyp, NbHypTypes }; + typedef std::pair THypItem; + typedef QValueList< THypItem > THypList; + + typedef int THypType; + typedef QMap< THypType, THypList > TType2HypList; + + typedef int THypDim; + typedef QMap< THypDim, TType2HypList > TDim2Type2HypList; + SMESHGUI_MeshOp( const bool theToCreate, const bool theIsMesh = true ); virtual ~SMESHGUI_MeshOp(); @@ -92,7 +104,7 @@ private: const int theHypType, _PTR(SObject) theFather, QStringList& theHyps, - QValueList& theHypVars, + THypList& theHypList, HypothesisData* theAlgoData = 0); HypothesisData* hypData( const int theDim, const int theHypType, @@ -113,7 +125,7 @@ private: void readMesh(); QString name( _PTR(SObject) ) const; int find( const SMESH::SMESH_Hypothesis_var&, - const QValueList& ) const; + const THypList& theHypList) const; SMESH::SMESH_Hypothesis_var getInitParamsHypothesis( const QString& aHypType, const QString& aServerLib ) const; bool isSubshapeOk() const; @@ -121,20 +133,18 @@ private: void selectObject( _PTR(SObject) ) const; private: - typedef QMap< int, QValueList > IdToHypListMap; - typedef QMap< int, IdToHypListMap > DimToHypMap; - SMESHGUI_MeshDlg* myDlg; SMESHGUI_ShapeByMeshOp* myShapeByMeshOp; bool myToCreate; bool myIsMesh; + bool myIsOnGeometry; //!< TRUE if edited mesh accotiated with geometrical object - DimToHypMap myExistingHyps; //!< all hypothesis of SMESH module - DimToHypMap myObjHyps; //!< hypothesis assigned to the current + TDim2Type2HypList myExistingHyps; //!< all hypothesis of SMESH module + TDim2Type2HypList myObjHyps; //!< hypothesis assigned to the current // edited mesh/sub-mesh // hypdata corresponding to hypotheses present in myDlg - THypDataList myAvailableHypData[3][NbHypTypes]; + THypDataList myAvailableHypData[4][NbHypTypes]; bool myIgnoreAlgoSelection; };