0023418: Crash on the object displaying when running DRAW on remote station. OpenGL...
[occt.git] / src / OpenGl / OpenGl_telem_view.hxx
1 // Copyright (c) 1995-1999 Matra Datavision
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
3 //
4 // The content of this file is subject to the Open CASCADE Technology Public
5 // License Version 6.5 (the "License"). You may not use the content of this file
6 // except in compliance with the License. Please obtain a copy of the License
7 // at http://www.opencascade.org and read it completely before using this file.
8 //
9 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 //
12 // The Original Code and all software distributed under the License is
13 // distributed on an "AS IS" basis, without warranty of any kind, and the
14 // Initial Developer hereby disclaims all such warranties, including without
15 // limitation, any warranties of merchantability, fitness for a particular
16 // purpose or non-infringement. Please see the License for the specific terms
17 // and conditions governing the rights and limitations under the License.
18
19 /***********************************************************************
20
21 FONCTION :
22 ----------
23 File OpenGl_telem_view.h :
24
25
26 REMARQUES:
27 ---------- 
28
29
30 HISTORIQUE DES MODIFICATIONS   :
31 --------------------------------
32 xx-xx-xx : xxx ; Creation.
33 02-07-96 : FMN ; Suppression WSWSHeight et WSWSWidth
34 Suppression de TelSetWSWindow
35 03-07-96 : FMN ; A une workstation correspond une vue.
36 Suppression de TelGetViewportAtLocation()
37 Suppression de TelPrintAllViews()
38 03-03-98 : FMN ; Suppression variable externe TglWhetherPerspective 
39
40 ************************************************************************/
41
42 #ifndef  OPENGL_TELEM_VIEW_H
43 #define  OPENGL_TELEM_VIEW_H
44
45 #include <InterfaceGraphic_tgl_all.hxx>
46
47 typedef  struct
48 {
49   Tfloat    xmin;
50   Tfloat    xmax;
51   Tfloat    ymin;
52   Tfloat    ymax;
53 } Tlimit;
54
55 typedef  struct
56 {
57   Tfloat    xmin;
58   Tfloat    xmax;
59   Tfloat    ymin;
60   Tfloat    ymax;
61   Tfloat    zmin;
62   Tfloat    zmax;
63 } Tlimit3;
64
65 typedef  enum
66 {
67   TelParallel, TelPerspective
68 } TelProjType;
69
70 typedef  struct
71 {
72   Tlimit      window;
73   Tlimit3     viewport;
74   TelProjType proj;
75   Tfloat      prp[3];
76   Tfloat      vpd;
77   Tfloat      fpd;
78   Tfloat      bpd;
79 } TEL_VIEW_MAPPING, *tel_view_mapping;
80
81 extern  void              /* vrp,     vpn,     vup,     error_ind, mat */
82 TelEvalViewOrientationMatrix(Tfloat*, Tfloat*, Tfloat*, Tfloat*, Tint*, Tmatrix3);
83
84 extern  void            /*         mapping, error_ind,  mat */
85 TelEvalViewMappingMatrix( tel_view_mapping, Tint*, Tmatrix3 );
86
87 #endif