1 #ifndef _Sample2D_Markers_HeaderFile
2 #define _Sample2D_Markers_HeaderFile
4 #include <Standard_Macro.hxx>
5 #include <Standard_DefineHandle.hxx>
7 DEFINE_STANDARD_HANDLE(Sample2D_Markers,AIS2D_InteractiveObject)
8 class Sample2D_Markers : public AIS2D_InteractiveObject {
10 enum Sample2D_CurrentTypeOfMarker {
11 Sample2D_CTOM_Generic,
12 Sample2D_CTOM_Polyline,
22 Standard_EXPORT Sample2D_Markers (Standard_Integer anIndex ,
23 Quantity_Length aXPosition ,
24 Quantity_Length aYPosition ,
25 Quantity_Length aWidth ,
26 Quantity_Length anHeight ,
27 Quantity_PlaneAngle anAngle );
30 Standard_EXPORT Sample2D_Markers (Quantity_Length aXPosition ,
31 Quantity_Length aYPosition ,
32 const Graphic2d_Array1OfVertex& aListVertex);
34 Standard_EXPORT Sample2D_Markers (Quantity_Length aXPosition ,
35 Quantity_Length aYPosition ,
38 Quantity_Length Radius );
40 Standard_EXPORT Sample2D_Markers (Quantity_Length aXPosition ,
41 Quantity_Length aYPosition ,
44 Quantity_Length MajorRadius ,
45 Quantity_Length MinorRadius ,
46 Quantity_PlaneAngle anAngle );
48 DEFINE_STANDARD_RTTI(Sample2D_Markers)
65 Standard_EXPORT virtual void SetContext(const Handle(AIS2D_InteractiveContext)& theContext);
69 Sample2D_CurrentTypeOfMarker myCurrentTypeOfMarker;
71 Quantity_Length myXPosition ;
72 Quantity_Length myYPosition ;
73 // specific generic markers
74 Standard_Integer myIndex ;
75 Quantity_Length myWidth ;
76 Quantity_Length myHeight ;
77 // specific polyline marker
78 Graphic2d_Array1OfVertex myListVertex ;
79 // specific circle & ellips markers
82 // specific circle marker
83 Quantity_Length myRadius ;
84 // specific ellips marker
85 Quantity_Length myMajorRadius ;
86 Quantity_Length myMinorRadius ;
88 Quantity_PlaneAngle myAngle ;
95 // other inCurve functions and methods (like "C++: function call" methods)