0023821: Improve qmake project files for Qt samples
[occt.git] / samples / mfc / standard / 01_Geometry / src / ISession2D / ISession_Text.h
CommitLineData
7fd59977 1// ISession_Text.h: interface for the ISession_Text class.
2//
3//////////////////////////////////////////////////////////////////////
4
5#if !defined(AFX_ISESSION_TEXT_H__A9B277C4_A69E_11D1_8DA4_0800369C8A03__INCLUDED_)
6#define AFX_ISESSION_TEXT_H__A9B277C4_A69E_11D1_8DA4_0800369C8A03__INCLUDED_
7
8#if _MSC_VER >= 1000
9#pragma once
10#endif // _MSC_VER >= 1000
11
12#include <Standard_Macro.hxx>
13#include <Standard_DefineHandle.hxx>
14
15#include <TCollection_AsciiString.hxx>
16#include <Aspect_TypeOfText.hxx>
17#include <Standard_Real.hxx>
18#include <Standard_Integer.hxx>
19#include <Quantity_Factor.hxx>
20#include <Quantity_PlaneAngle.hxx>
21#include <Handle_PrsMgr_PresentationManager2d.hxx>
22#include <Handle_Graphic2d_GraphicObject.hxx>
23#include <Handle_SelectMgr_Selection.hxx>
24#include <Standard_OStream.hxx>
25#include <Standard_IStream.hxx>
26#include <Standard_CString.hxx>
27#include <SelectMgr_SelectableObject.hxx>
28
29class TCollection_AsciiString;
30class PrsMgr_PresentationManager2d;
31class Graphic2d_GraphicObject;
32class SelectMgr_Selection;
33
34DEFINE_STANDARD_HANDLE(ISession_Text,AIS_InteractiveObject)
35class ISession_Text : public AIS_InteractiveObject
36{
37public:
38 ISession_Text();
39
40 ISession_Text (const TCollection_AsciiString& aText,
41 const Standard_Real anX = 0 ,
42 const Standard_Real anY = 0 ,
43 const Standard_Real aZ = 0 ,
44 const Aspect_TypeOfText aType = Aspect_TOT_SOLID,
45 const Quantity_PlaneAngle anAngle = 0.0 ,
46 const Standard_Real aSlant = 0.0 ,
47 const Standard_Integer aColorIndex = 1 ,
48 const Standard_Integer aFontIndex = 1 ,
49 const Quantity_Factor aScale = 0.1 );
50 ISession_Text
51 (const TCollection_AsciiString& aText,
52 gp_Pnt& aPoint,
53 const Aspect_TypeOfText aType = Aspect_TOT_SOLID,
54 const Quantity_PlaneAngle anAngle = 0.0 ,
55 const Standard_Real aSlant = 0.0 ,
56 const Standard_Integer aColorIndex = 1 ,
57 const Standard_Integer aFontIndex = 1 ,
58 const Quantity_Factor aScale = 0.1 );
59
60 virtual ~ISession_Text();
61
62inline Standard_Integer NbPossibleSelection() const;
63inline TCollection_AsciiString GetText() const;
64inline void SetText(const TCollection_AsciiString& atext) ;
65inline void GetCoord(Standard_Real& X, Standard_Real& Y, Standard_Real& Z) const ;
66inline void SetCoord(const Standard_Real X, const Standard_Real Y, const Standard_Real Z=0);
67inline Aspect_TypeOfText GetTypeOfText() const;
68inline void SetTypeOfText(const Aspect_TypeOfText aNewTypeOfText) ;
69inline Standard_Real GetAngle() const;
70inline void SetAngle(const Standard_Real aNewAngle) ;
71inline Standard_Real GetSlant() const;
72inline void SetSlant(const Standard_Real aNewSlant) ;
73inline Standard_Integer GetColorIndex() const;
74inline void SetColorIndex(const Standard_Integer aNewColorIndex) ;
75inline Standard_Integer GetFontIndex() const;
76inline void SetFontIndex(const Standard_Integer aNewFontIndex) ;
77inline Quantity_Factor GetScale() const;
78inline void SetScale (const Quantity_Factor aNewScale) ;
79
80
81DEFINE_STANDARD_RTTI(ISession_Text)
82
83
84protected:
85
86 // Methods PROTECTED
87 //
88
89
90 // Fields PROTECTED
91 //
92
93
94private:
95
96 // Methods PRIVATE
97 //
98
99void Compute (const Handle(PrsMgr_PresentationManager3d)& aPresentationManager,
100 const Handle(Prs3d_Presentation)& aPresentation,
101 const Standard_Integer aMode);
102void Compute (const Handle(Prs3d_Projector)& aProjector,
103 const Handle(Prs3d_Presentation)& aPresentation);
104void Compute (const Handle(PrsMgr_PresentationManager2d)& aPresentationManager,
105 const Handle(Graphic2d_GraphicObject)& aGrObj,
106 const Standard_Integer unMode = 0) ;
107void ComputeSelection (const Handle(SelectMgr_Selection)& aSelection,
108 const Standard_Integer unMode) ;
109
110
111 // Fields PRIVATE
112 //
113TCollection_AsciiString MyText ;
114Standard_Real MyX ;
115Standard_Real MyY ;
116Standard_Real MyZ ;
117Aspect_TypeOfText MyTypeOfText ;
118Standard_Real MyAngle ;
119Standard_Real MySlant ;
120Standard_Integer MyColorIndex ;
121Standard_Integer MyFontIndex ;
122Quantity_Factor MyScale ;
123Standard_Real MyWidth ;
124Standard_Real MyHeight ;
125
126
127};
128
129 inline Standard_Integer ISession_Text::NbPossibleSelection() const
130{ return 1; }
131
132inline TCollection_AsciiString ISession_Text::GetText() const
133{ return MyText ; }
134
135inline void ISession_Text::SetText(const TCollection_AsciiString& atext)
136{ MyText = atext; }
137
138inline void ISession_Text::GetCoord(Standard_Real& X, Standard_Real& Y, Standard_Real& Z) const
139{ X = MyX; Y = MyY; Z = MyZ;}
140
141inline void ISession_Text::SetCoord(const Standard_Real X, const Standard_Real Y, const Standard_Real Z)
142{ MyX = X ; MyY = Y ; MyZ = Z ;}
143
144inline Aspect_TypeOfText ISession_Text::GetTypeOfText() const
145{ return MyTypeOfText; }
146
147inline void ISession_Text::SetTypeOfText(const Aspect_TypeOfText aNewTypeOfText)
148{ MyTypeOfText = aNewTypeOfText; }
149
150inline Standard_Real ISession_Text::GetAngle() const
151{ return MyAngle; }
152
153inline void ISession_Text::SetAngle(const Standard_Real aNewAngle)
154{ MyAngle = aNewAngle; }
155
156inline Standard_Real ISession_Text::GetSlant() const
157{ return MySlant; }
158
159inline void ISession_Text::SetSlant(const Standard_Real aNewSlant)
160{ MySlant = aNewSlant; }
161
162inline Standard_Integer ISession_Text::GetColorIndex() const
163{ return MyColorIndex; }
164
165inline void ISession_Text::SetColorIndex(const Standard_Integer aNewColorIndex)
166{ MyColorIndex = aNewColorIndex; }
167
168inline Standard_Integer ISession_Text::GetFontIndex() const
169{ return MyFontIndex; }
170
171inline void ISession_Text::SetFontIndex(const Standard_Integer aNewFontIndex)
172{ MyFontIndex = aNewFontIndex; }
173
174inline Quantity_Factor ISession_Text::GetScale() const
175{ return MyScale; }
176
177inline void ISession_Text::SetScale(const Quantity_Factor aNewScale)
178{ MyScale = aNewScale; }
179
180#endif // !defined(AFX_ISESSION_TEXT_H__A9B277C4_A69E_11D1_8DA4_0800369C8A03__INCLUDED_)