X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROCurveCreator%2FCurveCreator_Curve.hxx;h=0f8e887ffc0948331a314e2786e92d8120e39f69;hb=1e9be94cc5ff4ad886099c507462d5b70f6d71f9;hp=bb29e889e439f8630ca3a273c7cc4e3c5d2e6c2a;hpb=a23fa81dd76041264b4ddd65883ea9bfb7cc67bd;p=modules%2Fhydro.git diff --git a/src/HYDROCurveCreator/CurveCreator_Curve.hxx b/src/HYDROCurveCreator/CurveCreator_Curve.hxx index bb29e889..0f8e887f 100644 --- a/src/HYDROCurveCreator/CurveCreator_Curve.hxx +++ b/src/HYDROCurveCreator/CurveCreator_Curve.hxx @@ -28,12 +28,14 @@ #include "CurveCreator_Macro.hxx" #include "CurveCreator.hxx" #include "CurveCreator_Diff.hxx" +#include "CurveCreator_AISCurve.hxx" #include #include #include #include +#include struct CurveCreator_Section; class CurveCreator_Displayer; @@ -69,6 +71,9 @@ public: //! Set curve creator Displayer object virtual void setDisplayer( CurveCreator_Displayer* theDisplayer ); + //! Return curve creator Displayer object + CurveCreator_Displayer* getDisplayer(); + //! Remove curve creator Displayer object virtual void removeDisplayer(); @@ -107,10 +112,14 @@ protected: Handle_AIS_Point getAISPoint( int theISection, int theIPoint ) const; Handle_AIS_Line getAISLine( int theISection, int theIPoint1, int theIPoint2 ) const; +public: // temporary void getCoordinates( int theISection, int theIPoint, double& theX, double& theY, double& theZ ) const; - +protected: // temporary void redisplayCurve(); + void convert( const SectionToPointList &thePoints, + std::map > &theConvPoints ); + public: /************ Implementation of INTERFACE methods ************/ @@ -212,9 +221,7 @@ public: /***********************************************/ //! For internal use only! Undo/Redo are not used here. - virtual bool addPointsInternal( const CurveCreator::Coordinates &theCoords, - const std::vector &theISections, - const std::vector &theIPnts ); + virtual bool addPointsInternal( const CurveCreator::SectionsMap &theSectionsMap ); /** * Add one point to the specified section starting from the given theIPnt index * (or at the end of points if \a theIPnt is -1). @@ -224,9 +231,7 @@ public: const int theIPnt = -1 ); //! For internal use only! Undo/Redo are not used here. - virtual bool setPointInternal( const int theISection, - const int theIPnt, - const CurveCreator::Coordinates& theNewCoords ); + virtual bool setPointInternal( const CurveCreator::SectionsMap &theSectionsMap ); //! Set coordinates of specified point virtual bool setPoint( const int theISection, const int theIPnt, @@ -236,8 +241,7 @@ public: virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords); //! For internal use only! Undo/Redo are not used here. - virtual bool removePointsInternal( const std::vector &theISections, - const std::vector &theIPnts ); + virtual bool removePointsInternal( const SectionToPointList &thePoints ); /** Remove point with given id */ virtual bool removePoint( const int theISection, const int theIPnt = -1 ); @@ -266,8 +270,10 @@ public: /***********************************************/ virtual ListAISObjects constructWire() const; -public: + void getPoint( const int theSectionId, const int thePointId, gp_Pnt& thePoint ) const; +public: + Handle(CurveCreator_AISCurve) myAISCurve; bool myIsLocked; CurveCreator::Sections mySections; //!< curve data CurveCreator::Dimension myDimension; //!< curve dimension