0022796: Possibility to display multi-line text in 3D
[occt.git] / src / OpenGl / OpenGl_tgl_funcs.hxx
CommitLineData
5f8b738e 1// File: OpenGl_tgl_funcs.hxx
2// Created: ??-??-??
3// Author: PCT
4// Copyright: OPEN CASCADE 2012
7fd59977 5
5f8b738e 6#ifndef OPENGL_TGL_FUNCS_H
7#define OPENGL_TGL_FUNCS_H
7fd59977 8
9typedef float matrix3[4][4];
10
11typedef enum {
12 TYPE_PARAL,
13 TYPE_PERSPECT
14} projtype;
15
16typedef enum {
17 IND_NO_CLIP,
18 IND_CLIP
19} clip_ind;
20
21typedef struct {
22 float x; /* x coordinate */
23 float y; /* y coordinate */
24 float z; /* z coordinate */
25} point3;
26
27typedef struct {
28 float delta_x; /* x magnitude */
29 float delta_y; /* y magnitude */
30 float delta_z; /* z magnitude */
31} vec3;
32
33typedef 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
42typedef 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
49typedef 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
2166f0fa
SK
59extern 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]);
7fd59977 64
2166f0fa 65extern void call_func_eval_map_matrix3(view_map3 *Map, int *err_ind, matrix3 mat);
5f8b738e 66
67#endif // OPENGL_TGL_FUNCS_H