1 #ifndef HYDROGUI_AIS_CURVE_H
3 #define HYDROGUI_AIS_CURVE_H
13 #include <AIS_InteractiveContext.hxx>
15 #include <AIS_Point.hxx>
17 #include <AIS_Line.hxx>
19 #include <CurveCreator_Listener.hxx>
23 class CurveCreator_Curve;
25 class AIS_InteractiveObject;
33 class HYDROGUI_AISCurveSection
39 HYDROGUI_AISCurveSection( Handle_AIS_InteractiveContext theContext,
41 CurveCreator_Curve* theCurve, int theSection );
43 virtual ~HYDROGUI_AISCurveSection();
53 void highlight( bool isHL );
57 virtual void buildSection();
59 void getPoint( int theIndx, double& theX, double& theY, double& theZ );
61 Handle_AIS_Point getAISPoint( int theIndx );
63 Handle_AIS_Line getAISLine( int theIndx1, int theIndx2 );
65 Quantity_Color getActiveColor();
71 CurveCreator_Curve* myCurve;
75 std::vector< Handle_AIS_InteractiveObject > myObjects;
77 Handle_AIS_InteractiveContext myContext;
87 class HYDROGUI_AISCurve : public CurveCreator_Listener
93 HYDROGUI_AISCurve(CurveCreator_Curve* theCurve, Handle_AIS_InteractiveContext theContext );
95 ~HYDROGUI_AISCurve(void);
99 void setCurve( CurveCreator_Curve* theCurve );
107 virtual void pointInserted( int theSection, int theIndx );
111 void highlightSection( int theSection, bool isHL );
113 void clearSelection();
119 virtual void buildCurve();
121 Quantity_Color getActiveColor();
127 CurveCreator_Curve* myCurve;
129 Handle_AIS_InteractiveContext myContext;
131 std::vector< HYDROGUI_AISCurveSection* > myCurveRepresentation;