protected: // TODO: remove public
void redisplayCurve();
- void convert( const SectionToPointList &thePoints,
- std::map<int, std::list<int> > &theConvPoints );
-
public:
/************ Implementation of INTERFACE methods ************/
const CurveCreator::Coordinates& theNewCoords );
//! Set coordinates of specified points from different sections
- virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords);
+ virtual bool setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords,
+ const bool theIsToSaveDiff = true );
//! For internal use only! Undo/Redo are not used here.
virtual bool removePointsInternal( const SectionToPointList &thePoints );
*/
virtual int getNbPoints( const int theISection ) const;
+ /**
+ * Set skip sorting flag. If the flag is true - points sorting will be skipped.
+ */
+ virtual void setSkipSorting( const bool theIsToSkip );
+
+ /**
+ * Indicates whether the points can be sorted.
+ */
+ virtual bool canPointsBeSorted();
+
+ /**
+ * Saves points coordinates difference.
+ * \param theOldCoords the old points coordinates
+ */
+ virtual void saveCoordDiff( const SectionToPointCoordsList &theOldCoords );
/***********************************************/
/*** Presentation methods ***/
*/
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<int>& 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<int, std::list<int> > &theConvPoints );
+
protected:
virtual void constructAISObject();
+protected:
+ bool mySkipSorting;
+
public:
bool myIsLocked;
CurveCreator::Sections mySections; //!< curve data