0024002: Overall code and build procedure refactoring - samples
[occt.git] / samples / mfc / standard / Common / Primitive / Sample2D_Markers.h
CommitLineData
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 8class Sample2D_Markers;
5c1f974e 9DEFINE_STANDARD_HANDLE(Sample2D_Markers,AIS_InteractiveObject)
10class Sample2D_Markers : public AIS_InteractiveObject {
7fd59977 11
12enum Sample2D_CurrentTypeOfMarker {
13Sample2D_CTOM_Generic,
14Sample2D_CTOM_Polyline,
15Sample2D_CTOM_Circle,
16Sample2D_CTOM_Ellips
17} ;
18
19public:
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 37DEFINE_STANDARD_RTTI(Sample2D_Markers,AIS_InteractiveObject)
7fd59977 38
5c1f974e 39private:
7fd59977 40
5c573e69 41virtual void Compute (const Handle(PrsMgr_PresentationManager3d)& /*aPresentationManager*/,
42 const Handle(Prs3d_Presentation)& /*aPresentation*/,
43 const Standard_Integer /*aMode*/);
7fd59977 44
5c573e69 45virtual void ComputeSelection (const Handle(SelectMgr_Selection)& /*aSelection*/,
46 const Standard_Integer /*aMode*/) {}
7fd59977 47
7fd59977 48
5c573e69 49Standard_EXPORT virtual void SetContext(const Handle(AIS_InteractiveContext)& /*theContext*/) {}
7fd59977 50
7fd59977 51
7fd59977 52
7fd59977 53Sample2D_CurrentTypeOfMarker myCurrentTypeOfMarker;
7fd59977 54Quantity_Length myXPosition ;
55Quantity_Length myYPosition ;
5c1f974e 56Aspect_TypeOfMarker myMarkerType;
57Quantity_Color myColor;
7fd59977 58Quantity_Length myWidth ;
59Quantity_Length myHeight ;
5c1f974e 60Standard_Real myIndex ;//myScaleOrId
7fd59977 61// specific polyline marker
a577aaab 62Handle(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