0023546: Test report failure in Debug mode due to debug messages
[occt.git] / src / InterfaceGraphic / InterfaceGraphic_Visual3d.hxx
CommitLineData
b311480e 1// Copyright (c) 1991-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
7fd59977 19
20#ifndef InterfaceGraphic_Visual3dHeader
21#define InterfaceGraphic_Visual3dHeader
22
7fd59977 23 /* CAL 02/08/94
24 * #include <InterfaceGraphic_X11.hxx>
25 * Retrait de InterfaceGraphic_X11.hxx et declaration de Window
26 * a la mode X11 dans les structures CALL_DEF_VIEW et CALL_DEF_PICK.
27 * En effet, un #define Opposite 4 se trouve dans X11/X.h
28 * et rentre en conflit avec la methode Opposite de math_Matrix.
29 *
30 * PCT 05/08/97
31 * ajout support texture mapping
32 *
33 * EUG 21/09/99 G003
34 * degenerated mode support
35 Add fields IsDegenerates,IsDegeneratesPrev,Backfacing
36 in CALL_DEF_VIEW structure.
37 * VKH 25/01/00 G004
38 * Dump a view
39 Add CALL_DEF_BITMAP reference in CALL_DEF_VIEW
40 */
41
42#ifndef RIC120302
43#define RIC120302 /*GG Add NEW fields in CALL_DEF_VIEW structure
44// to manage graphic context and call back
45*/
46#endif
47
48#include <InterfaceGraphic_Aspect.hxx>
49#ifdef RIC120302
50#include <Aspect_RenderingContext.hxx>
51#include <Aspect_GraphicCallbackProc.hxx>
52#endif
53
7fd59977 54typedef float CALL_DEF_MATRIX4X4[4][4];
55
56/* SOMMET */
57
58typedef struct {
59
60 float x, y, z;
61
62} CALL_DEF_VERTEX;
63
64
65/* MODELE CLIPPING */
66
67typedef struct {
68
69 int WsId;
70
71 int ViewId;
72
73 int PlaneId;
74
75 int Active;
76
77 float CoefA;
78 float CoefB;
79 float CoefC;
80 float CoefD;
81
82} CALL_DEF_PLANE;
83
84
85/* SOURCE LUMINEUSE */
86
87typedef struct {
88
89 int WsId;
90
91 int ViewId;
92
93 int LightId;
94
95 int Active;
96
97 int LightType;
98
99 int Headlight;
100
101 CALL_DEF_COLOR Color;
102
103 CALL_DEF_VERTEX Position;
104
105 CALL_DEF_VERTEX Direction;
106
107 float Concentration;
108
109 float Attenuation[2];
110
111 float Angle;
112
113} CALL_DEF_LIGHT;
114
115
116/* ORIENTATION */
117
118typedef struct {
119
120 CALL_DEF_VERTEX ViewReferencePoint;
121 CALL_DEF_VERTEX ViewReferencePlane;
122 CALL_DEF_VERTEX ViewReferenceUp;
123 float ViewScaleX;
124 float ViewScaleY;
125 float ViewScaleZ;
126
127 int IsCustomMatrix;
128 float ModelViewMatrix[4][4];
129
130} CALL_DEF_VIEWORIENTATION;
131
132
133/* MAPPING */
134
135typedef struct {
136
137 int Projection;
138
139 CALL_DEF_VERTEX ProjectionReferencePoint;
140
141 float ViewPlaneDistance;
142 float BackPlaneDistance;
143 float FrontPlaneDistance;
144
145 struct {
146 float um, vm, uM, vM;
147 } WindowLimit;
148
149 int IsCustomMatrix;
150 float ProjectionMatrix[4][4];
151
152} CALL_DEF_VIEWMAPPING;
153
154
155/* CONTEXT */
156
157 typedef struct {
158
159 int Aliasing;
160
161 int BackZClipping;
162 int FrontZClipping;
163
164 int DepthCueing;
165
166 float ZClipFrontPlane;
167 float ZClipBackPlane;
168
169 float DepthFrontPlane;
170 float DepthBackPlane;
171
172 int ZBufferActivity;
173 int Model;
174 int Visualization;
175
176 int NbActiveLight;
177 CALL_DEF_LIGHT *ActiveLight;
178
179 int NbActivePlane;
180 CALL_DEF_PLANE *ActivePlane;
181
182 int TexEnvId;
183 int SurfaceDetail;
184
185} CALL_DEF_VIEWCONTEXT;
186
187
188/* VUE */
189
190typedef struct {
191
192 int WsId;
193 int ViewId;
194 void *ptrView;
195
196 int IsDeleted;
197 int IsOpen;
198
199 int Active;
200
201 CALL_DEF_VIEWORIENTATION Orientation;
202 CALL_DEF_VIEWMAPPING Mapping;
203
204 CALL_DEF_VIEWORIENTATION OrientationReset;
205 CALL_DEF_VIEWMAPPING MappingReset;
206
207 CALL_DEF_VIEWCONTEXT Context;
208
209 CALL_DEF_WINDOW DefWindow;
210
7fd59977 211 void *ptrUnderLayer;
212 void *ptrOverLayer;
213
214 int IsDegenerates;
215 int IsDegeneratesPrev;
216 int Backfacing;
217#ifdef RIC120302
218 Aspect_RenderingContext GContext;
219 Aspect_GraphicCallbackProc GDisplayCB;
220 void* GClientData;
221#endif
222
223 void *ptrFBO;
224
225} CALL_DEF_VIEW;
226
227
228/* REPERAGE */
229
230typedef struct {
231
232 int WsId;
233 int ViewId;
234
235 int x, y;
236
237 CALL_DEF_WINDOW DefWindow;
238
239 struct {
240 float aperture;
241 int order;
242 int depth;
243 } Context;
244
245 struct {
246 int depth;
247 int *listid;
248 int *listpickid;
249 int *listelem;
250 } Pick;
251
252} CALL_DEF_PICK;
253
7fd59977 254#endif /* InterfaceGraphic_Visual3dHeader */