387d7f9f065054c56e3030905e86c2c6780e90a7
[occt.git] / src / OpenGl / OpenGl_LightBox.hxx
1 /***********************************************************************
2
3 FONCTION :
4 ----------
5 Gestion des light sous OpenGL
6
7
8 REMARQUES:
9 ---------- 
10
11
12 HISTORIQUE DES MODIFICATIONS   :
13 --------------------------------
14 20-06-97 : PCT ; creation
15 30-06-97 : FMN ; Integration
16 18-07-97 : FMN ; Ajout IsLightOn()
17 02-10-97 : FMN ; Ajout gl.h pour WNT
18
19 ************************************************************************/
20
21 /*----------------------------------------------------------------------*/
22
23 #ifndef __OPENGL_LIGHTBOX_H_
24 #define __OPENGL_LIGHTBOX_H_
25
26 /*----------------------------------------------------------------------*/
27 /*
28 * Includes
29 */
30
31 #include <GL/gl.h>
32
33 #include <OpenGl_tgl_all.hxx>
34 #include <OpenGl_telem.hxx>
35 #include <OpenGl_tsm.hxx>
36
37
38 /*----------------------------------------------------------------------*/
39 /*
40 * Constantes
41 */
42
43 #define  OpenGLMaxLights    8
44
45 /*----------------------------------------------------------------------*/
46 /*
47 * Types definis
48 */
49
50 typedef  struct
51 {
52   TLightType  type;
53   int   HeadLight;
54   TEL_COLOUR  col;
55   Tfloat      pos[3];
56   Tfloat      dir[3];
57   Tfloat      shine;
58   Tfloat      atten[2];
59   Tfloat      angle;
60 } TEL_LIGHT, *tel_light;
61
62
63 /*----------------------------------------------------------------------*/
64 /*
65 * Prototypes
66 */
67
68 /*
69 * Ajout d'une lumiere dans la Wks
70 */
71 extern TStatus AddLight(Tint WksID, Tint LightID, tel_light light);
72
73 /*
74 * Maj des lumieres de la Wks
75 */
76 extern TStatus UpdateLight(Tint WksID);
77
78 /*
79 * Remove une lumiere de la Wks
80 */
81 extern TStatus RemoveLight(Tint WksID, Tint LightID);
82
83 /*
84 * Remove des lumieres de la Wks
85 */
86 extern TStatus RemoveWksLight(Tint WksID);
87
88 /*
89 * Reset de toutes les lights d'une Wks 
90 */
91 extern TStatus ResetWksLight(Tint WksID);
92
93 /*
94 * Enable des lights
95 */
96 extern void LightOn(void);
97
98 /*
99 * Disable des lights
100 */
101 extern void LightOff(void);
102
103 /*
104 * IsEnable des lights
105 */
106 extern GLboolean IsLightOn(void);
107
108 /*----------------------------------------------------------------------*/
109
110 #endif /* __OPENGL_LIGHTBOX_H_ */
111
112 /*----------------------------------------------------------------------*/