X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROCurveCreator%2FCurveCreator_Curve.hxx;h=3c41e711c760d2e8428d70f54395ba9bf45b69e0;hb=dc34ffaf3febe0112406def578ba7e1cb41f4ae7;hp=e359e66c44a5ee83b5259f9c46c48ac3cf57e957;hpb=f421395e52587dca27a63b18170f2c7e6daa6b9f;p=modules%2Fhydro.git diff --git a/src/HYDROCurveCreator/CurveCreator_Curve.hxx b/src/HYDROCurveCreator/CurveCreator_Curve.hxx index e359e66c..3c41e711 100644 --- a/src/HYDROCurveCreator/CurveCreator_Curve.hxx +++ b/src/HYDROCurveCreator/CurveCreator_Curve.hxx @@ -28,17 +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; +class AIS_Shape; +class Handle_AIS_InteractiveObject; /** * The CurveCreator_Curve object is represented as one or more sets of @@ -94,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); @@ -110,15 +105,11 @@ 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 ************/ @@ -267,10 +258,32 @@ public: /***********************************************/ /*** Presentation methods ***/ /***********************************************/ - virtual ListAISObjects constructWire() const; + /** + * Get the curve AIS object + */ + virtual Handle_AIS_InteractiveObject getAISObject( const bool theNeedToBuild = false ) const; + +protected: + /** + * Removes the points from the section. It sortes the points and remove them + * in the decreasing order + * \param theSectionId a section index + * \param thePointIds a list of section points + */ + bool removeSectionPoints( const int theSectionId, + const std::list& thePointIds ); + /** + * Converts the list of pairs of section to point into map of a section to list of points + * \param thePoints an source list + * \param theConvPoints a converted map + */ + void convert( const SectionToPointList &thePoints, + std::map > &theConvPoints ); + +protected: + virtual void constructAISObject(); public: - Handle(CurveCreator_AISCurve) myAISCurve; bool myIsLocked; CurveCreator::Sections mySections; //!< curve data CurveCreator::Dimension myDimension; //!< curve dimension @@ -284,6 +297,7 @@ private: ListDiff myListDiffs; int myUndoDepth; int myOpLevel; + AIS_Shape* myAISShape; //!< AIS shape }; #endif