summaryrefslogtreecommitdiff
path: root/inc/OpenGl_LightBox.hxx
blob: 387d7f9f065054c56e3030905e86c2c6780e90a7 (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
/***********************************************************************

FONCTION :
----------
Gestion des light sous OpenGL


REMARQUES:
---------- 


HISTORIQUE DES MODIFICATIONS   :
--------------------------------
20-06-97 : PCT ; creation
30-06-97 : FMN ; Integration
18-07-97 : FMN ; Ajout IsLightOn()
02-10-97 : FMN ; Ajout gl.h pour WNT

************************************************************************/

/*----------------------------------------------------------------------*/

#ifndef __OPENGL_LIGHTBOX_H_
#define __OPENGL_LIGHTBOX_H_

/*----------------------------------------------------------------------*/
/*
* Includes
*/

#include <GL/gl.h>

#include <OpenGl_tgl_all.hxx>
#include <OpenGl_telem.hxx>
#include <OpenGl_tsm.hxx>


/*----------------------------------------------------------------------*/
/*
* Constantes
*/

#define  OpenGLMaxLights    8

/*----------------------------------------------------------------------*/
/*
* Types definis
*/

typedef  struct
{
  TLightType  type;
  int   HeadLight;
  TEL_COLOUR  col;
  Tfloat      pos[3];
  Tfloat      dir[3];
  Tfloat      shine;
  Tfloat      atten[2];
  Tfloat      angle;
} TEL_LIGHT, *tel_light;


/*----------------------------------------------------------------------*/
/*
* Prototypes
*/

/*
* Ajout d'une lumiere dans la Wks
*/
extern TStatus AddLight(Tint WksID, Tint LightID, tel_light light);

/*
* Maj des lumieres de la Wks
*/
extern TStatus UpdateLight(Tint WksID);

/*
* Remove une lumiere de la Wks
*/
extern TStatus RemoveLight(Tint WksID, Tint LightID);

/*
* Remove des lumieres de la Wks
*/
extern TStatus RemoveWksLight(Tint WksID);

/*
* Reset de toutes les lights d'une Wks 
*/
extern TStatus ResetWksLight(Tint WksID);

/*
* Enable des lights
*/
extern void LightOn(void);

/*
* Disable des lights
*/
extern void LightOff(void);

/*
* IsEnable des lights
*/
extern GLboolean IsLightOn(void);

/*----------------------------------------------------------------------*/

#endif /* __OPENGL_LIGHTBOX_H_ */

/*----------------------------------------------------------------------*/