Integration of OCCT 6.5.0 from SVN
[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
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         ISession_Direction();
20     ISession_Direction(gp_Pnt& aPnt,gp_Dir&   aDir,Standard_Real aLength=1,Standard_Real anArrowLength=1);
21     ISession_Direction(gp_Pnt& aPnt,gp_Vec&   aVec,Standard_Real anArrowLength=1);
22
23     ISession_Direction(gp_Pnt2d& aPnt2d,gp_Dir2d&   aDir2d,Standard_Real aLength=1);
24     ISession_Direction(gp_Pnt2d& aPnt2d,gp_Vec2d&   aVec2d);
25
26         virtual ~ISession_Direction();
27     DEFINE_STANDARD_RTTI(ISession_Direction)
28
29 private:
30
31     void Compute         (const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,
32                           const Handle(Prs3d_Presentation)& aPresentation,
33                           const Standard_Integer aMode);
34     void Compute         (const Handle(Prs3d_Projector)& aProjector,
35                           const Handle(Prs3d_Presentation)& aPresentation) ;
36     virtual  void Compute(const Handle(PrsMgr_PresentationManager2d)& aPresentationManager,
37                           const Handle(Graphic2d_GraphicObject)& aGrObj,
38                           const Standard_Integer aMode = 0) ;
39     void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,const Standard_Integer aMode) ;
40
41     gp_Pnt myPnt;
42     gp_Dir myDir;
43     Standard_Real myLength;
44     Quantity_Length myArrowLength;
45 };
46
47 #endif // !defined(AFX_ISession_Direction_H__767C0DB3_A3B0_11D1_8DA3_0800369C8A03__INCLUDED_)