X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROCurveCreator%2FCurveCreator_Curve.hxx;h=24a216cf6d0a4f2f06aada35384b9ca330dc3b9f;hb=65c66988575cb4fc8de7d838cde08b4731a6e54b;hp=cc6d97b21aa039ef7624d0e4adb86aa19daba7fe;hpb=820c913e913881f2581eedce5995579ef0ad12d0;p=modules%2Fhydro.git diff --git a/src/HYDROCurveCreator/CurveCreator_Curve.hxx b/src/HYDROCurveCreator/CurveCreator_Curve.hxx index cc6d97b2..24a216cf 100644 --- a/src/HYDROCurveCreator/CurveCreator_Curve.hxx +++ b/src/HYDROCurveCreator/CurveCreator_Curve.hxx @@ -29,14 +29,13 @@ #include "CurveCreator.hxx" #include "CurveCreator_Diff.hxx" -#include -#include -#include - #include +#include struct CurveCreator_Section; class CurveCreator_Displayer; +class AIS_Shape; +class Handle_AIS_InteractiveObject; /** * The CurveCreator_Curve object is represented as one or more sets of @@ -92,8 +91,6 @@ public: */ virtual int toICoord(const int theIPnt) const; - ListAISObjects constructSection( int theISection ) const; - //! For internal use only! Undo/Redo are not used here. virtual bool moveSectionInternal(const int theISection, const int theNewIndex); @@ -108,12 +105,14 @@ protected: */ virtual bool addEmptyDiff(); - Handle_AIS_Point getAISPoint( int theISection, int theIPoint ) const; - Handle_AIS_Line getAISLine( int theISection, int theIPoint1, int theIPoint2 ) const; +public: // TODO: remove public void getCoordinates( int theISection, int theIPoint, double& theX, double& theY, double& theZ ) const; - +protected: // TODO: remove public void redisplayCurve(); + void convert( const SectionToPointList &thePoints, + std::map > &theConvPoints ); + public: /************ Implementation of INTERFACE methods ************/ @@ -215,9 +214,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). @@ -227,9 +224,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, @@ -239,8 +234,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 ); @@ -267,10 +261,15 @@ public: /***********************************************/ /*** Presentation methods ***/ /***********************************************/ - virtual ListAISObjects constructWire() const; + /** + * Get the curve AIS object + */ + virtual Handle_AIS_InteractiveObject getAISObject( const bool theNeedToBuild = false ) const; -public: +protected: + virtual void constructAISObject(); +public: bool myIsLocked; CurveCreator::Sections mySections; //!< curve data CurveCreator::Dimension myDimension; //!< curve dimension @@ -284,6 +283,7 @@ private: ListDiff myListDiffs; int myUndoDepth; int myOpLevel; + AIS_Shape* myAISShape; //!< AIS shape }; #endif