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