0023776: Redesign of MFC samples after V2d viewer removing
[occt.git] / samples / mfc / standard / Common / Primitive / Sample2D_Image.h
1 #ifndef _Sample2D_Image_HeaderFile
2 #define _Sample2D_Image_HeaderFile
3 #include <Standard_Macro.hxx>
4 #include <Standard_DefineHandle.hxx>
5
6 #include <OSD_File.hxx>
7 #include <Quantity_Length.hxx>
8 #include <Aspect_CardinalPoints.hxx>
9 #include <Quantity_Factor.hxx>
10 #include <Standard_Boolean.hxx>
11 #include <Standard_CString.hxx>
12 #include <Standard_Integer.hxx>
13 #include <SelectMgr_Selection.hxx>
14 #include <Standard_OStream.hxx>
15 #include <Standard_IStream.hxx>
16
17 DEFINE_STANDARD_HANDLE(Sample2D_Image,AIS_TexturedShape)
18 class Sample2D_Image : public AIS_TexturedShape {
19
20 public:
21
22 Standard_EXPORT Sample2D_Image(TCollection_AsciiString& aFileName,
23                                const Quantity_Length X = 0.0,
24                                const Quantity_Length Y = 0.0,
25                                const Quantity_Factor aScale = 1.0);
26 Standard_EXPORT inline virtual  void GetCoord(Quantity_Length& X,Quantity_Length& Y) const;
27 Standard_EXPORT inline virtual  void SetCoord(const Quantity_Length X,const Quantity_Length Y) ;
28 Standard_EXPORT inline   Quantity_Factor GetScale() const;
29 Standard_EXPORT inline   void SetScale(const Quantity_Factor aNewScale) ;
30 Standard_EXPORT virtual void SetContext(const Handle(AIS_InteractiveContext)& theContext) ;
31
32 DEFINE_STANDARD_RTTI(Sample2D_Image)
33 private:
34   void MakeShape();
35 protected:
36 TopoDS_Face myFace;
37 TCollection_AsciiString myFilename;
38 Quantity_Length       myX;
39 Quantity_Length       myY;
40 Quantity_Factor       myScale;
41
42 };
43
44 // other inline functions and methods (like "C++: function call" methods)
45 //
46
47 inline  void Sample2D_Image::GetCoord(Quantity_Length& X, Quantity_Length& Y) const
48 {
49   X = myX;
50   Y = myY;
51 }
52
53 inline  void Sample2D_Image::SetCoord(const Quantity_Length X, const Quantity_Length Y) 
54 {
55   myX = X;
56   myY = Y;
57 }
58
59 inline  Quantity_Factor Sample2D_Image::GetScale() const
60 {
61   return myScale;
62 }
63
64 inline  void Sample2D_Image::SetScale(const Quantity_Factor aNewScale) 
65 {
66   myScale = aNewScale;
67 }
68
69
70
71 #endif