#include "CurveCreator_Macro.hxx"
#include "CurveCreator.hxx"
#include "CurveCreator_Diff.hxx"
-#include "CurveCreator_AISCurve.hxx"
-
-#include <AIS_Point.hxx>
-#include <AIS_Line.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
*/
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);
*/
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,
/***********************************************/
/*** Presentation methods ***/
/***********************************************/
- virtual ListAISObjects constructWire() const;
+ /**
+ * Get the curve AIS object
+ */
+ virtual Handle_AIS_InteractiveObject getAISObject( const bool theNeedToBuild = false ) const;
+
+protected:
+ virtual void constructAISObject();
public:
- Handle(CurveCreator_AISCurve) myAISCurve;
bool myIsLocked;
CurveCreator::Sections mySections; //!< curve data
CurveCreator::Dimension myDimension; //!< curve dimension
ListDiff myListDiffs;
int myUndoDepth;
int myOpLevel;
+ AIS_Shape* myAISShape; //!< AIS shape
};
#endif