#include <AIS_InteractiveObject.hxx>
#include <list>
+#include <map>
struct CurveCreator_Section;
class CurveCreator_Displayer;
//! 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();
void redisplayCurve();
+ void convert( const SectionToPointList &thePoints,
+ std::map<int, std::list<int> > &theConvPoints );
+
public:
/************ Implementation of INTERFACE methods ************/
/***********************************************/
//! For internal use only! Undo/Redo are not used here.
- virtual bool addPointsInternal( const CurveCreator::Coordinates &theCoords,
- const std::vector<int> &theISections,
- const std::vector<int> &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).
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,
const CurveCreator::Coordinates& theNewCoords );
+ //! Set coordinates of specified points from different sections
+ virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords);
+
//! For internal use only! Undo/Redo are not used here.
- virtual bool removePointsInternal( const std::vector<int> &theISections,
- const std::vector<int> &theIPnts );
+ virtual bool removePointsInternal( const SectionToPointList &thePoints );
/** Remove point with given id */
virtual bool removePoint( const int theISection, const int theIPnt = -1 );
+ //! Remove several points from different sections with given ids
+ virtual bool removeSeveralPoints( const SectionToPointList &theSectionToPntIDs);
+
//! Get coordinates of specified point
virtual CurveCreator::Coordinates getPoint( const int theISection,
const int theIPnt ) const;