f31bc9d7907ecbf82085fed1bd4f46f9cd7f3282
[occt.git] / samples / mfc / standard / 01_Geometry / src / ISession2D / ISession_Direction.h
1 // ISession_Direction.h: interface for the ISession_Direction class.
2 //
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_ISession_Direction_H__767C0DB3_A3B0_11D1_8DA3_0800369C8A03__INCLUDED_)
6 #define AFX_ISession_Direction_H__767C0DB3_A3B0_11D1_8DA3_0800369C8A03__INCLUDED_
7
8 #if _MSC_VER >= 1000
9 #pragma once
10 #endif // _MSC_VER >= 1000
11 #include "gp_Dir2d.hxx"
12 class ISession_Direction;
13 DEFINE_STANDARD_HANDLE(ISession_Direction,AIS_InteractiveObject)
14 class ISession_Direction : public AIS_InteractiveObject  
15 {
16 public:
17   TCollection_ExtendedString myText;
18   void SetText (TCollection_ExtendedString& aText);
19   void SetText (Standard_CString aText);
20   void SetLineAspect (const Handle(Prs3d_LineAspect)& theAspect);
21   ISession_Direction();
22   ISession_Direction (const gp_Pnt& aPnt,const gp_Dir& aDir,Standard_Real aLength=1,Standard_Real anArrowLength=1);
23   ISession_Direction (const gp_Pnt& aPnt,const gp_Vec& aVec,Standard_Real anArrowLength=1);
24
25   ISession_Direction (const gp_Pnt2d& aPnt2d,const gp_Dir2d& aDir2d,Standard_Real aLength=1);
26   ISession_Direction (const gp_Pnt2d& aPnt2d,const gp_Vec2d& aVec2d);
27
28   virtual ~ISession_Direction();
29   DEFINE_STANDARD_RTTIEXT(ISession_Direction,AIS_InteractiveObject)
30
31 private:
32
33     void Compute         (const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,
34                           const Handle(Prs3d_Presentation)& aPresentation,
35                           const Standard_Integer aMode);
36     void Compute         (const Handle(Prs3d_Projector)& aProjector,
37                           const Handle(Prs3d_Presentation)& aPresentation) ;
38     void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Integer aMode) ;
39
40     gp_Pnt myPnt;
41     gp_Dir myDir;
42     Standard_Real myLength;
43     Quantity_Length myArrowLength;
44 };
45
46 #endif // !defined(AFX_ISession_Direction_H__767C0DB3_A3B0_11D1_8DA3_0800369C8A03__INCLUDED_)