1 #ifndef _ISession2D_Curve_HeaderFile
2 #define _ISession2D_Curve_HeaderFile
4 #include <Standard_Macro.hxx>
5 #include <Standard_DefineHandle.hxx>
8 #include <Quantity_Length.hxx>
9 #include <Aspect_TypeOfline.hxx>
10 #include <Aspect_WidthOfline.hxx>
11 #include <Standard_Integer.hxx>
12 #include <SelectMgr_SelectableObject.hxx>
13 #include <SelectMgr_Selection.hxx>
14 #include <Standard_OStream.hxx>
15 #include <Standard_IStream.hxx>
16 #include <Standard_CString.hxx>
18 class TColGeom2d_HSequenceOfCurve;
19 class PrsMgr_PresentationManager2d;
20 class Graphic2d_GraphicObject;
21 class SelectMgr_Selection;
23 #include "Geom2d_Curve.hxx"
25 #include "AIS_InteractiveObject.hxx"
27 DEFINE_STANDARD_HANDLE(ISession2D_Curve,AIS_InteractiveObject)
28 class ISession2D_Curve : public AIS_InteractiveObject {
36 (const Handle_Geom2d_Curve aGeom2dCurve,
37 const Aspect_TypeOfLine aTypeOfline = Aspect_TOL_SOLID,
38 const Aspect_WidthOfLine aWidthOfLine = Aspect_WOL_MEDIUM,
39 const Standard_Integer aColorIndex = 4);
41 inline Standard_Integer NbPossibleSelection() const;
43 inline Aspect_TypeOfLine GetTypeOfLine() const;
44 inline void SetTypeOfLine(const Aspect_TypeOfLine aNewTypeOfLine);
46 inline Aspect_WidthOfLine GetWidthOfLine() const;
47 inline void SetWidthOfLine(const Aspect_WidthOfLine aNewWidthOfLine);
49 inline Standard_Integer GetColorIndex() const;
50 inline void SetColorIndex(const Standard_Integer aNewColorIndex) ;
52 inline Standard_Boolean GetDisplayPole() const;
53 inline void SetDisplayPole(const Standard_Boolean aNewDisplayPole) ;
55 inline Standard_Boolean ISession2D_Curve::GetDisplayCurbure() const;
56 inline void ISession2D_Curve::SetDisplayCurbure
57 (const Standard_Boolean aNewDisplayCurbure);
59 inline Standard_Real GetDiscretisation() const;
60 inline void SetDiscretisation(const Standard_Real aNewDiscretisation) ;
62 DEFINE_STANDARD_RTTI(ISession2D_Curve)
68 virtual void Compute(const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,const Handle(Prs3d_Presentation)& aPresentation,const Standard_Integer aMode = 0) ;
69 void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Integer aMode) ;
73 Handle_Geom2d_Curve myGeom2dCurve;
74 Aspect_TypeOfLine myTypeOfLine;
75 Aspect_WidthOfLine myWidthOfLine;
76 Standard_Integer myColorIndex;
77 Standard_Boolean myDisplayPole;
78 Standard_Boolean myDisplayCurbure;
79 Standard_Real myDiscretisation;
80 Standard_Real myradiusmax ;
81 Standard_Real myradiusratio ;
86 // other inCurve functions and methods (like "C++: function call" methods)
89 inline Standard_Integer ISession2D_Curve::NbPossibleSelection() const
94 inline Aspect_TypeOfLine ISession2D_Curve::GetTypeOfLine() const
99 inline void ISession2D_Curve::SetTypeOfLine(const Aspect_TypeOfLine aNewTypeOfLine)
101 myTypeOfLine = aNewTypeOfLine;
104 inline Aspect_WidthOfLine ISession2D_Curve::GetWidthOfLine() const
106 return myWidthOfLine ;
109 inline void ISession2D_Curve::SetWidthOfLine(const Aspect_WidthOfLine aNewWidthOfLine)
111 myWidthOfLine = aNewWidthOfLine;
114 inline Standard_Integer ISession2D_Curve::GetColorIndex() const
116 return myColorIndex ;
119 inline void ISession2D_Curve::SetColorIndex(const Standard_Integer aNewColorIndex)
121 myColorIndex = aNewColorIndex;
124 inline Standard_Boolean ISession2D_Curve::GetDisplayPole
127 return myDisplayPole;
129 inline void ISession2D_Curve::SetDisplayPole
130 (const Standard_Boolean aNewDisplayPole)
132 myDisplayPole = aNewDisplayPole;
135 inline Standard_Boolean ISession2D_Curve::GetDisplayCurbure
138 return myDisplayCurbure;
140 inline void ISession2D_Curve::SetDisplayCurbure
141 (const Standard_Boolean aNewDisplayCurbure)
143 myDisplayCurbure = aNewDisplayCurbure;
147 inline Standard_Real ISession2D_Curve::GetDiscretisation
150 return myDiscretisation;
152 inline void ISession2D_Curve::SetDiscretisation
153 (const Standard_Real aNewDiscretisation)
155 myDiscretisation = aNewDiscretisation;