X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_Measurements.h;h=ea9f3e0d6b235bcb66b2fd28bac76b55b5c9b21c;hb=53cfbcdd3398697cb1581f0dcd92fb3cd7805fc3;hp=964f7418dbf740d99044507b027dddfff0c605d9;hpb=5d68554076bbca0e1e95fb0db215a6c2b84b6c54;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_Measurements.h b/src/SMESHGUI/SMESHGUI_Measurements.h index 964f7418d..ea9f3e0d6 100644 --- a/src/SMESHGUI/SMESHGUI_Measurements.h +++ b/src/SMESHGUI/SMESHGUI_Measurements.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -37,13 +37,16 @@ class SUIT_SelectionFilter; class SALOME_Actor; class SMESH_Actor; class SMESHGUI_IdValidator; +class SMESHGUI_MeshEditPreview; #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +#include + class SMESHGUI_EXPORT SMESHGUI_MinDistance : public QWidget { - Q_OBJECT; + Q_OBJECT enum { NoTgt, FirstTgt, SecondTgt }; enum { OriginTgt, NodeTgt, ElementTgt, ObjectTgt }; @@ -92,7 +95,7 @@ private: class SMESHGUI_EXPORT SMESHGUI_BoundingBox : public QWidget { - Q_OBJECT; + Q_OBJECT enum { ObjectsSrc, NodesSrc, ElementsSrc }; @@ -138,7 +141,7 @@ private: class SMESHGUI_EXPORT SMESHGUI_BasicProperties : public QWidget { - Q_OBJECT; + Q_OBJECT public: //! Property type @@ -167,9 +170,43 @@ private: 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; +}; + class SMESHGUI_EXPORT SMESHGUI_MeasureDlg : public QDialog { - Q_OBJECT; + Q_OBJECT enum { NodeMode, ElemMode }; @@ -180,7 +217,8 @@ public: BoundingBox, //!< bounding box Length, //!< length Area, //!< area - Volume //!< volume + Volume, //!< volume + Angle }; SMESHGUI_MeasureDlg( QWidget* = 0, int = MinDistance ); @@ -203,6 +241,7 @@ private: SMESHGUI_MinDistance* myMinDist; SMESHGUI_BoundingBox* myBndBox; SMESHGUI_BasicProperties* myBasicProps; + SMESHGUI_Angle* myAngle; }; #endif // SMESHGUI_MEASUREMENTS_H