2acce336c9e3e8b24d335bfb3df045119831bfc0
[occt.git] / src / OpenGl / OpenGl_telem_view.hxx
1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and / or modify it
7 // under the terms of the GNU Lesser General Public version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 /***********************************************************************
16
17 FONCTION :
18 ----------
19 File OpenGl_telem_view.h :
20
21
22 REMARQUES:
23 ---------- 
24
25
26 HISTORIQUE DES MODIFICATIONS   :
27 --------------------------------
28 xx-xx-xx : xxx ; Creation.
29 02-07-96 : FMN ; Suppression WSWSHeight et WSWSWidth
30 Suppression de TelSetWSWindow
31 03-07-96 : FMN ; A une workstation correspond une vue.
32 Suppression de TelGetViewportAtLocation()
33 Suppression de TelPrintAllViews()
34 03-03-98 : FMN ; Suppression variable externe TglWhetherPerspective 
35
36 ************************************************************************/
37
38 #ifndef  OPENGL_TELEM_VIEW_H
39 #define  OPENGL_TELEM_VIEW_H
40
41 #include <InterfaceGraphic_tgl_all.hxx>
42 #include <Handle_OpenGl_Display.hxx>
43
44 typedef  struct
45 {
46   Tfloat    xmin;
47   Tfloat    xmax;
48   Tfloat    ymin;
49   Tfloat    ymax;
50 } Tlimit;
51
52 typedef  struct
53 {
54   Tfloat    xmin;
55   Tfloat    xmax;
56   Tfloat    ymin;
57   Tfloat    ymax;
58   Tfloat    zmin;
59   Tfloat    zmax;
60 } Tlimit3;
61
62 typedef  enum
63 {
64   TelParallel, TelPerspective
65 } TelProjType;
66
67 typedef  struct
68 {
69   Tlimit      window;
70   Tlimit3     viewport;
71   TelProjType proj;
72   Tfloat      prp[3];
73   Tfloat      vpd;
74   Tfloat      fpd;
75   Tfloat      bpd;
76 } TEL_VIEW_MAPPING, *tel_view_mapping;
77
78 extern  void              /* vrp,     vpn,     vup,     error_ind, mat */
79 TelEvalViewOrientationMatrix(Tfloat*, Tfloat*, Tfloat*, Tfloat*, Tint*, Tmatrix3);
80
81 extern  void            /*         mapping, error_ind,  mat */
82 TelEvalViewMappingMatrix (const Handle(OpenGl_Display)& theGlDisplay, tel_view_mapping theMapping, Tint* theError, Tmatrix3 theMat);
83
84 #endif