0024129: Eliminate remaining compiler warnings in MSVC++ 2008 32 bit with warning...
[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#ifndef InterfaceGraphic_Visual3dHeader
20#define InterfaceGraphic_Visual3dHeader
21
7fd59977 22#include <InterfaceGraphic_Aspect.hxx>
bf75be98 23#include <InterfaceGraphic_Graphic3d.hxx>
7fd59977 24#include <Aspect_RenderingContext.hxx>
25#include <Aspect_GraphicCallbackProc.hxx>
bf75be98 26#include <Standard_Transient.hxx>
7fd59977 27
7fd59977 28typedef float CALL_DEF_MATRIX4X4[4][4];
29
30/* SOMMET */
31
32typedef struct {
33
34 float x, y, z;
35
36} CALL_DEF_VERTEX;
37
38
39/* MODELE CLIPPING */
40
41typedef struct {
42
43 int WsId;
44
45 int ViewId;
46
47 int PlaneId;
48
49 int Active;
50
51 float CoefA;
52 float CoefB;
53 float CoefC;
54 float CoefD;
55
56} CALL_DEF_PLANE;
57
58
59/* SOURCE LUMINEUSE */
60
61typedef struct {
62
63 int WsId;
64
65 int ViewId;
66
67 int LightId;
68
69 int Active;
70
71 int LightType;
72
73 int Headlight;
74
75 CALL_DEF_COLOR Color;
76
77 CALL_DEF_VERTEX Position;
78
79 CALL_DEF_VERTEX Direction;
80
81 float Concentration;
82
83 float Attenuation[2];
84
85 float Angle;
86
87} CALL_DEF_LIGHT;
88
89
90/* ORIENTATION */
91
92typedef struct {
93
94 CALL_DEF_VERTEX ViewReferencePoint;
95 CALL_DEF_VERTEX ViewReferencePlane;
96 CALL_DEF_VERTEX ViewReferenceUp;
97 float ViewScaleX;
98 float ViewScaleY;
99 float ViewScaleZ;
100
7fd59977 101 float ModelViewMatrix[4][4];
102
498ce76b 103 unsigned IsCustomMatrix;
104
7fd59977 105} CALL_DEF_VIEWORIENTATION;
106
107
108/* MAPPING */
109
110typedef struct {
111
112 int Projection;
113
114 CALL_DEF_VERTEX ProjectionReferencePoint;
115
116 float ViewPlaneDistance;
117 float BackPlaneDistance;
118 float FrontPlaneDistance;
119
120 struct {
121 float um, vm, uM, vM;
122 } WindowLimit;
123
7fd59977 124 float ProjectionMatrix[4][4];
125
498ce76b 126 unsigned IsCustomMatrix;
127
7fd59977 128} CALL_DEF_VIEWMAPPING;
129
7fd59977 130/* REPERAGE */
131
132typedef struct {
133
134 int WsId;
135 int ViewId;
136
137 int x, y;
138
139 CALL_DEF_WINDOW DefWindow;
140
141 struct {
142 float aperture;
143 int order;
144 int depth;
145 } Context;
146
147 struct {
148 int depth;
149 int *listid;
150 int *listpickid;
151 int *listelem;
152 } Pick;
153
154} CALL_DEF_PICK;
155
7fd59977 156#endif /* InterfaceGraphic_Visual3dHeader */