+class SMESHGUI_EXPORT SMESHGUI_BasicProperties : public QWidget
+{
+ Q_OBJECT;
+
+public:
+ //! Property type
+ enum Mode { Length, Area, Volume };
+
+ SMESHGUI_BasicProperties( QWidget* = 0 );
+ ~SMESHGUI_BasicProperties();
+
+ void setMode( const Mode );
+
+ void updateSelection();
+ void deactivate();
+
+private slots:
+ void selectionChanged();
+ void modeChanged( int);
+ void compute();
+ void clear();
+
+private:
+ QButtonGroup* myMode;
+ QLineEdit* mySource;
+ QGroupBox* myResultGrp;
+ QLineEdit* myResult;
+ SMESH::SMESH_IDSource_var mySrc;
+ SUIT_SelectionFilter* myFilter;
+};
+
+class SMESHGUI_EXPORT SMESHGUI_Angle : public QWidget
+{
+ Q_OBJECT;
+
+public:
+
+ SMESHGUI_Angle( QWidget* = 0 );
+ ~SMESHGUI_Angle();
+
+ void deactivate();
+ void updateSelection();
+
+private slots:
+ void selectionChanged();
+ void nodesEdited();
+ void compute();
+ void clear();
+
+private:
+
+ bool addPointByActor( int id );
+ bool addPointByIDSource( int id );
+ gp_Vec getNormal(const gp_Vec& vec10 );
+
+ QLineEdit* myNodes;
+ QLineEdit* myResult;
+
+ SMESH::SMESH_IDSource_var myIDSrc;
+ SMESH_Actor* myActor;
+
+ std::vector< SMESH::PointStruct > myPoints;
+ SMESHGUI_MeshEditPreview* myPreview;
+};
+