#include "CurveCreator.hxx"
#include "CurveCreator_Diff.hxx"
-#include <AIS_InteractiveObject.hxx>
-
#include <list>
#include <map>
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
protected: // TODO: remove public
void redisplayCurve();
- void convert( const SectionToPointList &thePoints,
- std::map<int, std::list<int> > &theConvPoints );
-
public:
/************ Implementation of INTERFACE methods ************/
/***********************************************/
/*** 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<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();
public:
bool myIsLocked;
ListDiff myListDiffs;
int myUndoDepth;
int myOpLevel;
+ AIS_Shape* myAISShape; //!< AIS shape
};
#endif