0022149: Strings with Japanese characters can not be displayed in 3D viewer
[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
212 CALL_DEF_BITMAP DefBitmap;
213
214 void *ptrUnderLayer;
215 void *ptrOverLayer;
216
217 int IsDegenerates;
218 int IsDegeneratesPrev;
219 int Backfacing;
220#ifdef RIC120302
221 Aspect_RenderingContext GContext;
222 Aspect_GraphicCallbackProc GDisplayCB;
223 void* GClientData;
224#endif
225
226 void *ptrFBO;
227
228} CALL_DEF_VIEW;
229
230
231/* REPERAGE */
232
233typedef struct {
234
235 int WsId;
236 int ViewId;
237
238 int x, y;
239
240 CALL_DEF_WINDOW DefWindow;
241
242 struct {
243 float aperture;
244 int order;
245 int depth;
246 } Context;
247
248 struct {
249 int depth;
250 int *listid;
251 int *listpickid;
252 int *listelem;
253 } Pick;
254
255} CALL_DEF_PICK;
256
7fd59977 257#endif /* InterfaceGraphic_Visual3dHeader */