7fd59977 |
1 | #ifndef _Sample2D_Markers_HeaderFile |
2 | #define _Sample2D_Markers_HeaderFile |
3 | |
4 | #include <Standard_Macro.hxx> |
5 | #include <Standard_DefineHandle.hxx> |
5c1f974e |
6 | #include <Graphic3d_Array1OfVertex.hxx> |
a577aaab |
7 | #include <Graphic3d_ArrayOfPoints.hxx> |
9e3ca93a |
8 | class Sample2D_Markers; |
5c1f974e |
9 | DEFINE_STANDARD_HANDLE(Sample2D_Markers,AIS_InteractiveObject) |
10 | class Sample2D_Markers : public AIS_InteractiveObject { |
7fd59977 |
11 | |
12 | enum Sample2D_CurrentTypeOfMarker { |
13 | Sample2D_CTOM_Generic, |
14 | Sample2D_CTOM_Polyline, |
15 | Sample2D_CTOM_Circle, |
16 | Sample2D_CTOM_Ellips |
17 | } ; |
18 | |
19 | public: |
20 | |
5c1f974e |
21 | // Generic marker |
22 | Standard_EXPORT Sample2D_Markers (const Quantity_Length theXPosition , |
23 | const Quantity_Length theYPosition , |
24 | const Aspect_TypeOfMarker theMarkerType, |
25 | const Quantity_Color theColor, |
26 | const Standard_Real theScaleOrId=5.0); |
7fd59977 |
27 | |
28 | // Polyline marker |
5c1f974e |
29 | Standard_EXPORT Sample2D_Markers (const Quantity_Length theXPosition , |
30 | const Quantity_Length theYPosition , |
a577aaab |
31 | const Handle(Graphic3d_ArrayOfPoints)& theArrayOfPoints, |
5c1f974e |
32 | const Aspect_TypeOfMarker theMarkerType, |
33 | const Quantity_Color theColor, |
34 | const Standard_Real theScaleOrId=2.0); |
7fd59977 |
35 | |
7fd59977 |
36 | |
9e3ca93a |
37 | DEFINE_STANDARD_RTTI(Sample2D_Markers,AIS_InteractiveObject) |
7fd59977 |
38 | |
5c1f974e |
39 | private: |
7fd59977 |
40 | |
5c573e69 |
41 | virtual void Compute (const Handle(PrsMgr_PresentationManager3d)& /*aPresentationManager*/, |
42 | const Handle(Prs3d_Presentation)& /*aPresentation*/, |
43 | const Standard_Integer /*aMode*/); |
7fd59977 |
44 | |
5c573e69 |
45 | virtual void ComputeSelection (const Handle(SelectMgr_Selection)& /*aSelection*/, |
46 | const Standard_Integer /*aMode*/) {} |
7fd59977 |
47 | |
7fd59977 |
48 | |
5c573e69 |
49 | Standard_EXPORT virtual void SetContext(const Handle(AIS_InteractiveContext)& /*theContext*/) {} |
7fd59977 |
50 | |
7fd59977 |
51 | |
7fd59977 |
52 | |
7fd59977 |
53 | Sample2D_CurrentTypeOfMarker myCurrentTypeOfMarker; |
7fd59977 |
54 | Quantity_Length myXPosition ; |
55 | Quantity_Length myYPosition ; |
5c1f974e |
56 | Aspect_TypeOfMarker myMarkerType; |
57 | Quantity_Color myColor; |
7fd59977 |
58 | Quantity_Length myWidth ; |
59 | Quantity_Length myHeight ; |
5c1f974e |
60 | Standard_Real myIndex ;//myScaleOrId |
7fd59977 |
61 | // specific polyline marker |
a577aaab |
62 | Handle(Graphic3d_ArrayOfPoints) myArrayOfPoints; |
7fd59977 |
63 | }; |
64 | |
65 | |
66 | |
67 | // other inCurve functions and methods (like "C++: function call" methods) |
68 | // |
69 | |
70 | |
71 | |
72 | #endif |