X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROCurveCreator%2FCurveCreator_Widget.h;h=6f073f165f7696cc88b320f642f8dc03d0ff868d;hb=8edd427af3997521bda72ca3c416cc1d490565d5;hp=f07dde23113eb1147d60378b8b804b7cfc5db37e;hpb=f62b83d0f33b4533252d7fc426d6666e8603b411;p=modules%2Fhydro.git diff --git a/src/HYDROCurveCreator/CurveCreator_Widget.h b/src/HYDROCurveCreator/CurveCreator_Widget.h index f07dde23..6f073f16 100644 --- a/src/HYDROCurveCreator/CurveCreator_Widget.h +++ b/src/HYDROCurveCreator/CurveCreator_Widget.h @@ -20,9 +20,9 @@ #ifndef CURVECREATOR_WIDGET_H #define CURVECREATOR_WIDGET_H -//#include "CurveCreator_ICurve.hxx" -#include "CurveCreator.hxx" #include "CurveCreator_Macro.hxx" +#include "CurveCreator.hxx" +#include "CurveCreator_ICurve.hxx" #include #include @@ -34,17 +34,16 @@ #include #include #include +#include // TODO - remove class OCCViewer_Viewer; class OCCViewer_ViewPort3d; -class OCCViewer_ViewWidget; class AIS_ListOfInteractive; class QAction; class QPixmap; class QTableWidget; -class CurveCreator_ICurve; class CurveCreator_TreeView; class CurveCreator_NewPointDlg; class CurveCreator_NewSectionDlg; @@ -59,13 +58,14 @@ public: // OCC viewer manipulation void setOCCViewer( OCCViewer_Viewer* theViewer ); - void setOCCViewWidget( OCCViewer_ViewWidget* theViewWidget ); Handle(AIS_InteractiveContext) getAISContext(); OCCViewer_ViewPort3d* getViewPort(); int changeInteractionStyle( int theStyle ); void setObjectsSelected(const AIS_ListOfInteractive& theList); + void reset(); + //! Return unique section name std::string getUniqSectionName(CurveCreator_ICurve* theCurve) const; @@ -147,12 +147,8 @@ protected: DetectionMode }; - typedef std::pair< int, int > SectionToPoint; - typedef std::deque< SectionToPoint > SectionToPointList; - private: OCCViewer_Viewer* getOCCViewer(); - OCCViewer_ViewWidget* getOCCViewWidget(); QAction* createAction( ActionId theId, const QString& theName, const QPixmap& theImage, const QString& theToolTip, const QKeySequence& theShortcut ); @@ -172,33 +168,30 @@ private: void setDragStarted( const bool theState, const QPoint& thePoint = QPoint() ); - void getSelectedPonts( SectionToPointList& thePoints ); - void setSelectedPonts( const SectionToPointList& = SectionToPointList() ); + void getSelectedPonts( CurveCreator_ICurve::SectionToPointList& thePoints ); + bool isIntersectVertexToPoint( const TopoDS_Vertex& theVertex, + const CurveCreator_ICurve::SectionToPoint& theSToPoint ); + void setSelectedPonts( const CurveCreator_ICurve::SectionToPointList& = + CurveCreator_ICurve::SectionToPointList() ); - void startCurveModification( SectionToPointList& thePoints, + void startCurveModification( CurveCreator_ICurve::SectionToPointList& thePoints, const bool theFillPoints = true ); - void finishCurveModification( const SectionToPointList& thePoints = SectionToPointList() ); + void finishCurveModification( const CurveCreator_ICurve::SectionToPointList& thePoints = + CurveCreator_ICurve::SectionToPointList() ); // curve algorithm int findLocalPointIndex( int theSectionId, float theX, float theY ); void findSectionsToPoints( const double theX, const double theY, - SectionToPointList& thePoints ); - void convert( const SectionToPointList& thePoints, + CurveCreator_ICurve::SectionToPointList& thePoints ); + void convert( const CurveCreator_ICurve::SectionToPointList& thePoints, QMap >& theConvPoints ); - // OCC algorithm - bool pointOnObject( Handle(AIS_InteractiveObject) theObject, - const int theX, const int theY, - gp_Pnt& thePoint, gp_Pnt& thePoint1, gp_Pnt& thePoint2 ); - bool hasProjectPointOnCurve( const int theX, const int theY, - const Handle(Geom_Curve)& theCurve, - Standard_Real& theParameter ); - // local point view table methods int getSectionId( const int theRowId ) const; int getPointId( const int theRowId ) const; - bool contains( const SectionToPointList& theList, const SectionToPoint& theValue ) const; + bool contains( const CurveCreator_ICurve::SectionToPointList& theList, + const CurveCreator_ICurve::SectionToPoint& theValue ) const; private: QMap myActionMap; @@ -207,13 +200,12 @@ private: QTableWidget* myLocalPointView; CurveCreator_NewSectionDlg* myNewSectionEditor; OCCViewer_Viewer* myOCCViewer; - OCCViewer_ViewWidget* myOCCViewWidget; int mySection; int myPointNum; bool myDragStarted; QPoint myDragStartPosition; int myDragInteractionStyle; - SectionToPointList myDragPoints; + CurveCreator_ICurve::SectionToPointList myDragPoints; bool myDragged; QByteArray myGuiState; };