X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshOp.h;h=d93e4a12e19b9f007a21a60028f9d8ef79155628;hb=779967e2f5d9692aa1992e34f327379cf285c143;hp=6d26686b4db3d25eddb60864ca91893f69afa15a;hpb=43f41f0c11ce8e843ca6b0abac6f6f36c11d72b3;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MeshOp.h b/src/SMESHGUI/SMESHGUI_MeshOp.h index 6d26686b4..d93e4a12e 100644 --- a/src/SMESHGUI/SMESHGUI_MeshOp.h +++ b/src/SMESHGUI/SMESHGUI_MeshOp.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 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 @@ -32,6 +32,11 @@ #include "SMESHGUI_SelectionOp.h" +// IDL includes +#include +#include CORBA_CLIENT_HEADER(SMESH_Gen) +#include CORBA_CLIENT_HEADER(GEOM_Gen) + class HypothesesSet; class SMESHGUI_MeshDlg; class SMESHGUI_ShapeByMeshOp; @@ -82,7 +87,6 @@ protected slots: void onPublishShapeByMeshDlg( SUIT_Operation* ); void onCloseShapeByMeshDlg( SUIT_Operation* ); void onAlgoSelected( const int, const int = -1 ); - void processSet(); void onHypoCreated( int ); void onHypoEdited( int ); void onAlgoSetByMeshType( const int, const int ); @@ -92,11 +96,8 @@ private: 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); + bool isCompatibleToGeometry( HypothesisData* , const int); + bool isCompatibleToMeshType( HypothesisData* , const int); void availableHyps( const int, const int, QStringList&, @@ -142,10 +143,9 @@ private: char* isSubmeshIgnored() const; _PTR(SObject) getSubmeshByGeom() const; void selectObject( _PTR(SObject) ) const; - void createMeshTypeList( QStringList& ); - void setAvailableMeshType( const QStringList& ); - void setFilteredAlgoData( const int, const int ); - QString currentMeshTypeName( const int ) const; + void updateMeshTypeList(); + void updateHypoSets(); + void setFilteredAlgoData(); private: @@ -153,18 +153,23 @@ private: SMESHGUI_ShapeByMeshOp* myShapeByMeshOp; bool myToCreate; bool myIsMesh; - bool myIsOnGeometry; //!< TRUE if edited mesh accotiated with geometrical object + bool myIsOnGeometry; //!< TRUE if edited mesh is based on geometry bool myHasConcurrentSubBefore; + bool myIsInvalidSubMesh; //!< "invalid sub-mesh" is edited + // The geometry of "invalid sub-mesh" is not a sub-shape of the main shape; + // it is created for the case where a valid sub-shape not found by CopyMeshWithGeom() + + QString myGeomEntry; + GEOM::GEOM_Object_var myGeom; 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[4][NbHypTypes]; - QString myLastGeomToSelect; + QString myLastGeomEntry; THypLabelIsAppMap myHypMapIsApplicable; bool myIgnoreAlgoSelection; - HypothesesSet* myHypoSet; int myDim, myType, myMaxShapeDim; QString myObjectToSelect;