1 #ifndef HYDROGUI_AIS_CURVE_H
2 #define HYDROGUI_AIS_CURVE_H
7 #include <AIS_InteractiveContext.hxx>
8 #include <AIS_Point.hxx>
9 #include <AIS_Line.hxx>
11 #include <CurveCreator_Listener.hxx>
13 class CurveCreator_Curve;
15 class AIS_InteractiveObject;
19 class HYDROGUI_AISCurveSection
22 HYDROGUI_AISCurveSection( Handle_AIS_InteractiveContext theContext,
23 CurveCreator_Curve* theCurve, int theSection );
24 virtual ~HYDROGUI_AISCurveSection();
29 void highlight( bool isHL );
32 virtual void buildSection();
34 void getPoint( int theIndx, double& theX, double& theY, double& theZ );
36 Handle_AIS_Point getAISPoint( int theIndx );
37 Handle_AIS_Line getAISLine( int theIndx1, int theIndx2 );
39 Quantity_Color getActiveColor();
42 CurveCreator_Curve* myCurve;
44 std::vector< Handle_AIS_InteractiveObject > myObjects;
45 Handle_AIS_InteractiveContext myContext;
50 class HYDROGUI_AISCurve : public CurveCreator_Listener
53 HYDROGUI_AISCurve(CurveCreator_Curve* theCurve, Handle_AIS_InteractiveContext theContext );
54 ~HYDROGUI_AISCurve(void);
56 void setCurve( CurveCreator_Curve* theCurve );
61 virtual void pointInserted( int theSection, int theIndx );
63 void highlightSection( int theSection, bool isHL );
65 void clearSelection();
68 virtual void buildCurve();
69 Quantity_Color getActiveColor();
72 CurveCreator_Curve* myCurve;
73 Handle_AIS_InteractiveContext myContext;
74 std::vector< HYDROGUI_AISCurveSection* > myCurveRepresentation;