551f95a19b2d0f6e3118ff8c665ffa8b534f43d6
[occt.git] / src / VrmlData / VrmlData_TextureTransform.hxx
1 // Created on: 2006-05-25
2 // Created by: Alexander GRIGORIEV
3 // Copyright (c) 2006-2012 OPEN CASCADE SAS
4 //
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
9 //
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 //
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
19
20
21
22 #ifndef VrmlData_TextureTransform_HeaderFile
23 #define VrmlData_TextureTransform_HeaderFile
24
25 #include <VrmlData_Node.hxx>
26 #include <gp_XY.hxx>
27
28 ///  Implementation of the TextureTransform node
29
30 class VrmlData_TextureTransform : public VrmlData_Node
31 {
32  public:
33   // ---------- PUBLIC METHODS ----------
34
35   /**
36    * Empty constructor
37    */
38   inline VrmlData_TextureTransform () {}
39
40   /**
41    * Constructor
42    */
43   inline VrmlData_TextureTransform (const VrmlData_Scene& theScene,
44                                     const char            * theName)
45     : VrmlData_Node (theScene, theName)
46   {}
47
48   /**
49    * Query the Center
50    */
51   inline const gp_XY&   Center          () const { return myCenter; }
52   
53   /**
54    * Query the Rotation
55    */
56   inline Standard_Real  Rotation        () const { return myRotation; }
57   
58   /**
59    * Query the Scale
60    */
61   inline const gp_XY&   Scale           () const { return myScale; }
62
63   /**
64    * Query the Translation
65    */
66   inline const gp_XY&   Translation     () const { return myTranslation; }
67
68   /**
69    * Set the Center
70    */
71   inline void           SetCenter       (const gp_XY& V) { myCenter = V; }
72
73   /**
74    * Set the Rotation
75    */
76   inline void           SetRotation     (const Standard_Real V)
77   { myRotation = V; }
78
79   /**
80    * Set the Scale
81    */
82   inline void           SetScale        (const gp_XY& V) { myScale = V; }
83
84   /**
85    * Set the Translation
86    */
87   inline void           SetTranslation  (const gp_XY& V) { myTranslation = V; }
88
89  protected:
90   // ---------- PROTECTED METHODS ----------
91
92
93
94  private:
95   // ---------- PRIVATE FIELDS ----------
96
97   gp_XY         myCenter;
98   Standard_Real myRotation;
99   gp_XY         myScale;
100   gp_XY         myTranslation;
101
102  public:
103 // Declaration of CASCADE RTTI
104 DEFINE_STANDARD_RTTI (VrmlData_TextureTransform)
105 };
106
107 // Definition of HANDLE object using Standard_DefineHandle.hxx
108 DEFINE_STANDARD_HANDLE (VrmlData_TextureTransform, VrmlData_Node)
109
110
111 #endif