0023022: This is desirable to access OpenGl extensions and core API (1.2+) in one...
[occt.git] / src / OpenGl / OpenGl_tgl_funcs.hxx
1 // File:      OpenGl_tgl_funcs.hxx
2 // Created:   ??-??-??
3 // Author:    PCT
4 // Copyright: OPEN CASCADE 2012
5
6 #ifndef OPENGL_TGL_FUNCS_H
7 #define OPENGL_TGL_FUNCS_H
8
9 typedef float matrix3[4][4];
10
11 typedef enum {
12   TYPE_PARAL,
13   TYPE_PERSPECT
14 } projtype;
15
16 typedef enum {
17   IND_NO_CLIP,
18   IND_CLIP
19 } clip_ind;
20
21 typedef struct {
22   float   x;  /* x coordinate */
23   float   y;  /* y coordinate */
24   float   z;  /* z coordinate */
25 } point3;
26
27 typedef struct {
28   float   delta_x;    /* x magnitude */
29   float   delta_y;    /* y magnitude */
30   float   delta_z;    /* z magnitude */
31 } vec3;
32
33 typedef struct {
34   float   x_min;  /* x min */
35   float   x_max;  /* x max */
36   float   y_min;  /* y min */
37   float   y_max;  /* y max */
38   float   z_min;  /* z min */
39   float   z_max;  /* z max */
40 } limit3;
41
42 typedef struct {
43   float   x_min;  /* x min */
44   float   x_max;  /* x max */
45   float   y_min;  /* y min */
46   float   y_max;  /* y max */
47 } limit;
48
49 typedef struct {
50   limit   win;    /* window limits */
51   limit3  proj_vp;    /* viewport limits */
52   projtype    proj_type;  /* projection type */
53   point3  proj_ref_point; /* projection reference point */
54   float   view_plane; /* view plane distance */
55   float   back_plane; /* back plane distance */
56   float   front_plane;    /* front plane distance */
57 } view_map3;
58
59 extern void call_func_eval_ori_matrix3 (const point3* vrp,
60                                         const vec3*   vpn,
61                                         const vec3*   vup,
62                                         int* err_ind,
63                                         float mout[4][4]);
64
65 extern void call_func_eval_map_matrix3(view_map3 *Map, int *err_ind, matrix3 mat);
66                                                                                         
67 #endif // OPENGL_TGL_FUNCS_H