-// Copyright (C) 2007-2008 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
+// Copyright (C) 2007-2010 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// File : SMESHGUI_ComputeDlg.h
// Author : Edward AGAPOV, Open CASCADE S.A.S.
//
// Qt includes
#include <QMap>
+#include <QList>
#include <QPointer>
#include <QGroupBox>
class QLabel;
class QtxComboBox;
class SMESHGUI_ComputeDlg;
+class SMESHGUI_MeshInfosBox;
class SMESHGUI_PrecomputeDlg;
class SMESHGUI_MeshEditPreview;
SMESHGUI_BaseComputeOp();
virtual ~SMESHGUI_BaseComputeOp();
+ SMESH::SMESH_Mesh_ptr getMesh();
+
protected:
virtual void startOperation();
virtual void stopOperation();
SMESHGUI_ComputeDlg* computeDlg() const;
void computeMesh();
void showComputeResult( const bool,
- const bool,
- SMESH::compute_error_array_var&,
- const bool,
- const QString& );
+ const bool,
+ SMESH::compute_error_array_var&,
+ const bool,
+ const QString& );
+ SMESHGUI_ComputeDlg* evaluateDlg() const;
+ void evaluateMesh();
+ void showEvaluateResult(const SMESH::long_array& theRes,
+ const bool,
+ const bool,
+ SMESH::compute_error_array_var&,
+ const bool,
+ const QString&);
+
+ virtual bool isValid( SUIT_Operation* theOp ) const;
protected slots:
+ virtual bool onApply();
void onPreviewShape();
void onPublishShape();
void onShowBadMesh();
virtual void startOperation();
protected slots:
- virtual bool onApply();
};
+class SMESHGUI_MeshOrderMgr;
+
/*!
* \brief Operation to preview and compute a mesh and show computation errors
*/
virtual LightApp_Dialog* dlg() const;
+ /**
+ * \brief returns map of assigned algorithms modes
+ */
+ static void getAssignedAlgos(_PTR(SObject) theMesh,
+ QMap<int,int>& theModeMap);
+
protected:
virtual void startOperation();
virtual void stopOperation();
virtual void initDialog();
protected slots:
- virtual bool onApply();
virtual void onCancel();
private slots:
void onPreview();
+ void onCompute();
private:
+ //! private fields
QMap< int, int > myMapShapeId;
QPointer<LightApp_Dialog> myActiveDlg;
QPointer<SMESHGUI_PrecomputeDlg> myDlg;
SMESHGUI_MeshEditPreview* myPreviewDisplayer;
+ //! fields for mesh order
+ typedef QList<int> TListOfInt;
+ typedef QList<TListOfInt> TListOfListOfInt;
+ TListOfListOfInt myPrevOrder;
+ SMESHGUI_MeshOrderMgr* myOrderMgr;
};
/*!
- * \brief Box showing mesh info
+ * \brief Operation to evaluate a mesh and show result
*/
-
-class SMESHGUI_EXPORT SMESHGUI_MeshInfosBox : public QGroupBox
+class SMESHGUI_EXPORT SMESHGUI_EvaluateOp: public SMESHGUI_BaseComputeOp
{
Q_OBJECT
public:
- SMESHGUI_MeshInfosBox( const bool, QWidget* );
+ SMESHGUI_EvaluateOp();
+ virtual ~SMESHGUI_EvaluateOp();
- void SetInfoByMesh( SMESH::SMESH_Mesh_var );
+ virtual LightApp_Dialog* dlg() const;
-private:
- bool myFull;
- QLabel* myNbNode;
- QLabel* myNbEdge;
- QLabel* myNbLinEdge;
- QLabel* myNbQuadEdge;
- QLabel* myNbTrai;
- QLabel* myNbLinTrai;
- QLabel* myNbQuadTrai;
- QLabel* myNbQuad;
- QLabel* myNbLinQuad;
- QLabel* myNbQuadQuad;
- QLabel* myNbFace;
- QLabel* myNbLinFace;
- QLabel* myNbQuadFace;
- QLabel* myNbPolyg;
- QLabel* myNbHexa;
- QLabel* myNbLinHexa;
- QLabel* myNbQuadHexa;
- QLabel* myNbTetra;
- QLabel* myNbLinTetra;
- QLabel* myNbQuadTetra;
- QLabel* myNbPyra;
- QLabel* myNbLinPyra;
- QLabel* myNbQuadPyra;
- QLabel* myNbPrism;
- QLabel* myNbLinPrism;
- QLabel* myNbQuadPrism;
- QLabel* myNbVolum;
- QLabel* myNbLinVolum;
- QLabel* myNbQuadVolum;
- QLabel* myNbPolyh;
+protected:
+ virtual void startOperation();
+
+protected slots:
};
/*!
Q_OBJECT
public:
- SMESHGUI_ComputeDlg( QWidget* );
+ SMESHGUI_ComputeDlg( QWidget*, bool );
virtual ~SMESHGUI_ComputeDlg();
protected:
- QFrame* createMainFrame( QWidget* );
+ QFrame* createMainFrame( QWidget*, bool );
QLabel* myMeshName;
QGroupBox* myMemoryLackGroup;
friend class SMESHGUI_PrecomputeOp;
};
+class SMESHGUI_MeshOrderBox;
+
/*!
* \brief Dialog to preview and compute a mesh and show computation errors
*/
void setPreviewModes( const QList<int>& );
int getPreviewMode() const;
+
+ SMESHGUI_MeshOrderBox* getMeshOrderBox() const;
signals:
void preview();
private:
+ SMESHGUI_MeshOrderBox* myOrderBox;
QPushButton* myPreviewBtn;
QtxComboBox* myPreviewMode;
};
-
#endif // SMESHGUI_COMPUTEDLG_H