5a9d548ee477c5760bf7129235a73ca99844d1fc
[occt.git] / src / Graphic3d / Graphic3d_CView.hxx
1 // Copyright (c) 1999-2012 OPEN CASCADE SAS
2 //
3 // The content of this file is subject to the Open CASCADE Technology Public
4 // License Version 6.5 (the "License"). You may not use the content of this file
5 // except in compliance with the License. Please obtain a copy of the License
6 // at http://www.opencascade.org and read it completely before using this file.
7 //
8 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
9 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
10 //
11 // The Original Code and all software distributed under the License is
12 // distributed on an "AS IS" basis, without warranty of any kind, and the
13 // Initial Developer hereby disclaims all such warranties, including without
14 // limitation, any warranties of merchantability, fitness for a particular
15 // purpose or non-infringement. Please see the License for the specific terms
16 // and conditions governing the rights and limitations under the License.
17
18 #ifndef _Graphic3d_CView_HeaderFile
19 #define _Graphic3d_CView_HeaderFile
20
21 #include <InterfaceGraphic_Graphic3d.hxx>
22 #include <InterfaceGraphic_Visual3d.hxx>
23 #include <Handle_Graphic3d_TextureEnv.hxx>
24 #include <Standard_Type.hxx>
25
26 class CALL_DEF_VIEWCONTEXT
27 {
28
29 public:
30
31   CALL_DEF_VIEWCONTEXT()
32   : Aliasing (0),
33     BackZClipping  (0),
34     FrontZClipping (0),
35     DepthCueing (0),
36     ZClipFrontPlane (0.0f),
37     ZClipBackPlane  (0.0f),
38     DepthFrontPlane (0.0f),
39     DepthBackPlane  (0.0f),
40     ZBufferActivity (0),
41     Model (0),
42     Visualization (0),
43     NbActiveLight (0),
44     ActiveLight (NULL),
45     NbActivePlane (0),
46     ActivePlane (NULL),
47     SurfaceDetail (0)
48   {
49     //
50   }
51
52 public:
53
54   int   Aliasing;
55
56   int   BackZClipping;
57   int   FrontZClipping;
58
59   int   DepthCueing;
60
61   float ZClipFrontPlane;
62   float ZClipBackPlane;
63
64   float DepthFrontPlane;
65   float DepthBackPlane;
66
67   int   ZBufferActivity;
68   int   Model;
69   int   Visualization;
70
71   int   NbActiveLight;
72   CALL_DEF_LIGHT* ActiveLight;
73
74   int   NbActivePlane;
75   CALL_DEF_PLANE* ActivePlane;
76
77   Handle(Graphic3d_TextureEnv) TextureEnv;
78   int   SurfaceDetail;
79
80 };
81
82 class Graphic3d_CView
83 {
84
85 public:
86
87   Graphic3d_CView()
88   : WsId (-1),
89     ViewId (0),
90     ptrView (NULL),
91     IsDeleted (0),
92     IsOpen (0),
93     Active (0),
94     ptrUnderLayer (NULL),
95     ptrOverLayer  (NULL),
96     IsDegenerates     (0),
97     IsDegeneratesPrev (0),
98     Backfacing  (0),
99     GDisplayCB  (NULL),
100     GClientData (NULL),
101     ptrFBO (NULL)
102   {
103     //
104   }
105
106 public:
107
108   int   WsId;
109   int   ViewId;
110   void* ptrView;
111
112   int   IsDeleted;
113   int   IsOpen;
114
115   int   Active;
116
117   CALL_DEF_VIEWORIENTATION Orientation;
118   CALL_DEF_VIEWMAPPING     Mapping;
119
120   CALL_DEF_VIEWORIENTATION OrientationReset;
121   CALL_DEF_VIEWMAPPING     MappingReset;
122
123   CALL_DEF_VIEWCONTEXT     Context;
124
125   CALL_DEF_WINDOW          DefWindow;
126
127   void* ptrUnderLayer;
128   void* ptrOverLayer;
129
130   int   IsDegenerates;
131   int   IsDegeneratesPrev;
132   int   Backfacing;
133
134   Aspect_RenderingContext    GContext;
135   Aspect_GraphicCallbackProc GDisplayCB;
136   void* GClientData;
137
138   void* ptrFBO;
139
140 };
141
142 const Handle(Standard_Type)& TYPE(Graphic3d_CView);
143
144 #endif // Graphic3d_CView_HeaderFile