summaryrefslogtreecommitdiff
path: root/inc/Graphic3d_Texture2Dplane.hxx
blob: 1c949de63500fba51a04f631ff08c51c9045138f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Graphic3d_Texture2Dplane_HeaderFile
#define _Graphic3d_Texture2Dplane_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Graphic3d_Texture2Dplane_HeaderFile
#include <Handle_Graphic3d_Texture2Dplane.hxx>
#endif

#ifndef _Graphic3d_NameOfTexturePlane_HeaderFile
#include <Graphic3d_NameOfTexturePlane.hxx>
#endif
#ifndef _Graphic3d_Texture2D_HeaderFile
#include <Graphic3d_Texture2D.hxx>
#endif
#ifndef _Handle_Graphic3d_StructureManager_HeaderFile
#include <Handle_Graphic3d_StructureManager.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Graphic3d_NameOfTexture2D_HeaderFile
#include <Graphic3d_NameOfTexture2D.hxx>
#endif
#ifndef _Standard_ShortReal_HeaderFile
#include <Standard_ShortReal.hxx>
#endif
class Graphic3d_StructureManager;


//! This class allows the management of a 2D texture defined from a plane equation <br>
//! Use the SetXXX() methods for positioning the texture as you want. <br>
class Graphic3d_Texture2Dplane : public Graphic3d_Texture2D {

public:

  //!  Creates a texture from a file <br>
  Standard_EXPORT   Graphic3d_Texture2Dplane(const Handle(Graphic3d_StructureManager)& SM,const Standard_CString FileName);
  //!  Creates a texture from a predefined texture name set. <br>
  Standard_EXPORT   Graphic3d_Texture2Dplane(const Handle(Graphic3d_StructureManager)& SM,const Graphic3d_NameOfTexture2D NOT);
  //!  Defines the texture projection plane for texture coordinate S <br>
//! default is <1.0, 0.0, 0.0, 0.0> <br>
  Standard_EXPORT     void SetPlaneS(const Standard_ShortReal A,const Standard_ShortReal B,const Standard_ShortReal C,const Standard_ShortReal D) ;
  //! Defines the texture projection plane for texture coordinate T <br>
//! default is <0.0, 1.0, 0.0, 0.0> <br>
  Standard_EXPORT     void SetPlaneT(const Standard_ShortReal A,const Standard_ShortReal B,const Standard_ShortReal C,const Standard_ShortReal D) ;
  //!  Defines the texture projection plane for both S and T texture coordinate <br>
//! default is NOTP_XY meaning: <br>
//!      <1.0, 0.0, 0.0, 0.0> for S <br>
//! and  <0.0, 1.0, 0.0, 0.0> for T <br>
  Standard_EXPORT     void SetPlane(const Graphic3d_NameOfTexturePlane APlane) ;
  //! Defines the texture scale for the S texture coordinate <br>
//! much easier than recomputing the S plane equation <br>
//! but the result is the same <br>
//! default to 1.0 <br>
  Standard_EXPORT     void SetScaleS(const Standard_ShortReal val) ;
  //! Defines the texture scale for the T texture coordinate <br>
//! much easier than recompution the T plane equation <br>
//! but the result is the same <br>
//! default to 1.0 <br>
  Standard_EXPORT     void SetScaleT(const Standard_ShortReal val) ;
  //! Defines the texture translation for the S texture coordinate <br>
//! you can obtain the same effect by modifying the S plane <br>
//! equation but its not easier. <br>
//! default to 0.0 <br>
  Standard_EXPORT     void SetTranslateS(const Standard_ShortReal val) ;
  //!  Defines the texture translation for the T texture coordinate <br>
//! you can obtain the same effect by modifying the T plane <br>
//! equation but its not easier. <br>
//! default to 0.0 <br>
  Standard_EXPORT     void SetTranslateT(const Standard_ShortReal val) ;
  //! Sets the rotation angle of the whole texture. <br>
//! the same result might be achieved by recomputing the <br>
//! S and T plane equation but it's not the easiest way... <br>
//! the angle is expressed in degres <br>
//! default is 0.0 <br>
  Standard_EXPORT     void SetRotation(const Standard_ShortReal val) ;
  //! Returns the current texture plane name or NOTP_UNKNOWN <br>
//! when the plane is user defined. <br>
  Standard_EXPORT     Graphic3d_NameOfTexturePlane Plane() const;
  //! Returns the current texture plane S equation <br>
  Standard_EXPORT     void PlaneS(Standard_ShortReal& A,Standard_ShortReal& B,Standard_ShortReal& C,Standard_ShortReal& D) const;
  //! Returns   the current texture plane T equation <br>
  Standard_EXPORT     void PlaneT(Standard_ShortReal& A,Standard_ShortReal& B,Standard_ShortReal& C,Standard_ShortReal& D) const;
  //! Returns  the current texture S translation value <br>
  Standard_EXPORT     void TranslateS(Standard_ShortReal& val) const;
  //! Returns the current texture T translation value <br>
  Standard_EXPORT     void TranslateT(Standard_ShortReal& val) const;
  //! Returns the current texture S scale value <br>
  Standard_EXPORT     void ScaleS(Standard_ShortReal& val) const;
  //! Returns the current texture T scale value <br>
  Standard_EXPORT     void ScaleT(Standard_ShortReal& val) const;
  //! Returns the current texture rotation angle <br>
  Standard_EXPORT     void Rotation(Standard_ShortReal& val) const;




  DEFINE_STANDARD_RTTI(Graphic3d_Texture2Dplane)

protected:




private: 


Graphic3d_NameOfTexturePlane myPlaneName;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif