X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshOp.h;h=35bd506723b89850afe6e8260cb9dd2200a55bef;hb=7f46c31f2b6e0073d9235615d6fdfc9c017e74c8;hp=fcaedabf3fe112271e81fb3281a8658a1c8aef9f;hpb=5d68554076bbca0e1e95fb0db215a6c2b84b6c54;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.h b/src/SMESHGUI/SMESHGUI_MeshOp.h index fcaedabf3..35bd50672 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.h +++ b/src/SMESHGUI/SMESHGUI_MeshOp.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -36,6 +36,7 @@ class HypothesesSet; class SMESHGUI_MeshDlg; class SMESHGUI_ShapeByMeshOp; class HypothesisData; +class SMESHGUI_GenericHypothesisCreator; /*! * \brief Operation for mech creation or editing @@ -88,19 +89,27 @@ protected slots: private: typedef QList THypDataList; // typedef: list of hypothesis data + typedef QMap THypLabelIsAppMap; // typedef: map of hypothesis is applicable bool isValid( QString& ) const; + bool isCompatibleToGeometry( HypothesisData* , + QString, + GEOM::GEOM_Object_var); + bool isCompatibleToMeshType( HypothesisData* , + QString); void availableHyps( const int, const int, QStringList&, THypDataList&, - HypothesisData* = 0 ) const; - static void existingHyps( const int, + HypothesisData* = 0, + HypothesisData* = 0, + const QString& = ""); + void existingHyps( const int, const int, _PTR(SObject), QStringList&, THypList&, - HypothesisData* = 0 ); + HypothesisData* = 0 ) const; HypothesisData* hypData( const int, const int, const int ); // access to myAvailableHypData @@ -116,6 +125,8 @@ private: bool askUser=false); int currentHyp( const int, const int ) const; + bool isSelectedHyp( int, int, int ) const; + int nbDlgHypTypes( const int ) const; bool isAccessibleDim( const int ) const; void setCurrentHyp( const int, const int, const int ); void setDefaultName( const QString& prefix="" ) const; @@ -126,6 +137,7 @@ private: const THypList& ) const; SMESH::SMESH_Hypothesis_var getInitParamsHypothesis( const QString&, const QString& ) const; + void initHypCreator( SMESHGUI_GenericHypothesisCreator* aCreator ); bool isSubshapeOk() const; char* isSubmeshIgnored() const; _PTR(SObject) getSubmeshByGeom() const; @@ -133,7 +145,10 @@ private: void createMeshTypeList( QStringList& ); void setAvailableMeshType( const QStringList& ); void setFilteredAlgoData( const int, const int ); + QString currentMeshTypeName( const int ) const; + private: + SMESHGUI_MeshDlg* myDlg; SMESHGUI_ShapeByMeshOp* myShapeByMeshOp; bool myToCreate; @@ -142,14 +157,15 @@ private: bool myHasConcurrentSubBefore; TDim2Type2HypList myExistingHyps; //!< all hypothesis of SMESH module - TDim2Type2HypList myObjHyps; //!< hypothesis assigned to the current + TDim2Type2HypList myObjHyps; //!< hypothesis assigned to the current // edited mesh/sub-mesh // hypdata corresponding to hypotheses present in myDlg THypDataList myAvailableHypData[4][NbHypTypes]; - THypDataList myFilteredAlgoData[4]; + QString myLastGeomToSelect; + THypLabelIsAppMap myHypMapIsApplicable; bool myIgnoreAlgoSelection; - HypothesesSet* myHypoSet; - int myDim, myType, myMaxShapeDim; + HypothesesSet* myHypoSet; + int myDim, myType, myMaxShapeDim; QString myObjectToSelect; };