b311480e |
1 | -- Created on: 1991-10-07 |
2 | -- Created by: NW,JPB,CAL |
3 | -- Copyright (c) 1991-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
8 | -- This library is free software; you can redistribute it and/or modify it under |
9 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
10 | -- by the Free Software Foundation, with special exception defined in the file |
11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
12 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
b311480e |
16 | |
7fd59977 |
17 | -- Package: Visual3d.cdl |
7fd59977 |
18 | -- Updated: Vendredi 2 Octobre 1992 |
19 | -- Mercredi 31 mars 1993 |
20 | -- 1/08/97 ; PCT : ajout texture mapping |
21 | -- 11-97: CAL; retrait de la dependance avec math. |
22 | -- 15/01/98 ; FMN : Suppression Hidden Line |
23 | -- 16-09-98 ; BGN : Ajout TypeOfTriedronEcho, |
24 | -- TypeOfTriedronPosition. |
25 | -- 22-09-98; BGN: S3989 (anciennement S3819): report |
26 | -- dans Aspect des TypeOfTriedron* |
7fd59977 |
27 | -- Purpose: Specifications definitives |
7fd59977 |
28 | |
29 | package Visual3d |
30 | |
31 | ---Version: |
32 | |
33 | ---Purpose: This package contains the group of classes necessary |
34 | -- for the implementation of commands for the 3D visualiser. |
35 | -- Use of this package is reserved to the visualiser. |
36 | -- |
37 | -- The visualiser manages the structures, the views, the |
38 | -- light sources, and object picking. |
39 | |
4269bd1b |
40 | ---Keywords: View, Light, Pick |
7fd59977 |
41 | ---Warning: |
42 | ---References: |
43 | |
44 | uses |
45 | |
46 | gp, |
47 | TCollection, |
48 | TColStd, |
49 | Quantity, |
50 | Aspect, |
51 | Graphic3d, |
52 | Image, |
53 | MMgt, |
7fd59977 |
54 | WNT, |
eeaaaefb |
55 | OSD, |
ed063270 |
56 | Font, |
57 | Bnd |
7fd59977 |
58 | |
59 | is |
60 | |
61 | --------------------------- |
62 | -- Category: The exceptions |
63 | --------------------------- |
64 | |
65 | exception ClipDefinitionError inherits OutOfRange; |
66 | ---Category: The exceptions |
67 | |
68 | exception ContextPickDefinitionError inherits OutOfRange; |
69 | ---Category: The exceptions |
70 | |
71 | exception DepthCueingDefinitionError inherits OutOfRange; |
72 | ---Category: The exceptions |
73 | |
74 | exception LightDefinitionError inherits OutOfRange; |
75 | ---Category: The exceptions |
76 | |
77 | exception PickError inherits OutOfRange; |
78 | ---Category: The exceptions |
79 | |
80 | exception TransformError inherits OutOfRange; |
81 | ---Category: The exceptions |
82 | |
83 | exception ViewDefinitionError inherits OutOfRange; |
84 | ---Category: The exceptions |
85 | |
86 | exception ViewManagerDefinitionError inherits OutOfRange; |
87 | ---Category: The exceptions |
88 | |
89 | exception ViewMappingDefinitionError inherits OutOfRange; |
90 | ---Category: The exceptions |
91 | |
92 | exception ViewOrientationDefinitionError inherits OutOfRange; |
93 | ---Category: The exceptions |
94 | |
95 | exception ZClippingDefinitionError inherits OutOfRange; |
96 | ---Category: The exceptions |
97 | |
7fd59977 |
98 | exception LayerDefinitionError inherits OutOfRange; |
99 | ---Category: The exceptions |
100 | |
101 | ----------------------------- |
102 | -- Category: The enumerations |
103 | ----------------------------- |
104 | |
105 | enumeration TypeOfAnswer is TOA_YES, |
106 | TOA_NO, |
107 | TOA_COMPUTE |
108 | end TypeOfAnswer; |
109 | ---Purpose: The answer of the method AcceptDisplay |
110 | -- AcceptDisplay means is it possible to display the |
111 | -- specified structure in the specified view ? |
112 | -- TOA_YES yes |
113 | -- TOA_NO no |
114 | -- TOA_COMPUTE yes but we have to compute the representation |
115 | |
116 | enumeration TypeOfLightSource is TOLS_AMBIENT, |
117 | TOLS_DIRECTIONAL, |
118 | TOLS_POSITIONAL, |
119 | TOLS_SPOT |
120 | end TypeOfLightSource; |
121 | ---Purpose: Definition of all the type of light sources |
122 | -- |
123 | -- TOLS_AMBIENT ambient light |
124 | -- TOLS_DIRECTIONAL directional light |
125 | -- TOLS_POSITIONAL positional light |
126 | -- TOLS_SPOT spot light |
127 | |
128 | enumeration TypeOfModel is TOM_NONE, |
7fd59977 |
129 | TOM_FACET, |
8625ef7e |
130 | TOM_VERTEX, |
131 | TOM_FRAGMENT |
7fd59977 |
132 | end TypeOfModel; |
133 | ---Purpose: Definition of the rendering (colour shading) model |
8625ef7e |
134 | -- Visual3d_TOM_NONE No lighting, only white ambient light |
135 | -- Visual3d_TOM_FACET No interpolation, constant shading (Flat Shading) |
136 | -- Visual3d_TOM_VERTEX Interpolation of color based on normals (Gouraud Shading) |
137 | -- Visual3d_TOM_FRAGMENT Interpolation of color based on normals (Phong Shading) |
7fd59977 |
138 | ---Category: The enumerations |
139 | |
140 | enumeration TypeOfOrder is TOO_TOPFIRST, |
141 | TOO_BOTTOMFIRST |
142 | end TypeOfOrder; |
143 | ---Purpose: Definition of the order of selection |
144 | -- TOO_TOPFIRST the root structure first |
145 | -- TOO_BOTTOMFIRST the leaf structure first |
7fd59977 |
146 | ---Category: The enumerations |
147 | |
148 | enumeration TypeOfProjection is TOP_PERSPECTIVE, |
149 | TOP_PARALLEL |
150 | end TypeOfProjection; |
151 | ---Purpose: Definition of the type of 3D projection |
152 | -- |
153 | -- TOP_PERSPECTIVE perspective projection (centre of |
154 | -- projection at a distance finite from |
155 | -- plane of projection) |
156 | -- TOP_PARALLEL parallel projection (point of |
157 | -- projection at infinity) |
158 | ---Category: The enumerations |
159 | |
160 | enumeration TypeOfVisualization is TOV_WIREFRAME, |
161 | TOV_SHADING |
162 | end TypeOfVisualization; |
163 | ---Purpose: Modes of visualisation of objects in a view |
164 | -- |
165 | -- TOV_WIREFRAME wireframe visualisation |
166 | -- TOV_SHADING shaded visualisation |
167 | ---Category: The enumerations |
168 | |
169 | enumeration TypeOfSurfaceDetail is TOD_NONE, |
170 | TOD_ENVIRONMENT, |
171 | TOD_ALL |
172 | end TypeOfSurfaceDetail; |
173 | ---Purpose: Modes of visualisation of objects in a view |
174 | -- |
175 | -- TOD_NONE no texture mapping |
176 | -- TOD_ENVIRONMENT only environnement mapping |
177 | -- TOD_ALL environnement + texture mapping |
178 | ---Category: The enumerations |
179 | |
180 | enumeration TypeOfBackfacingModel is |
181 | TOBM_AUTOMATIC, TOBM_FORCE, TOBM_DISABLE |
182 | end TypeOfBackfacingModel; |
183 | ---Purpose : Modes of display of back faces in the view |
184 | -- |
185 | -- TOBM_AUTOMATIC graphic's structure setting is in use |
186 | -- TOBM_FORCE force display of back faces |
187 | -- TOBM_DISABLE disable display of back faces |
188 | ---Category : Enumerations |
189 | |
190 | ------------------------ |
191 | -- Category: The classes |
192 | ------------------------ |
193 | |
7fd59977 |
194 | class ContextPick; |
7fd59977 |
195 | ---Category: The classes |
196 | |
197 | class ContextView; |
7fd59977 |
198 | ---Category: The classes |
199 | |
200 | class Light; |
7fd59977 |
201 | ---Category: The classes |
202 | |
7fd59977 |
203 | class View; |
7fd59977 |
204 | ---Category: The classes |
205 | |
206 | class ViewManager; |
7fd59977 |
207 | ---Category: The classes |
208 | |
7fd59977 |
209 | class Layer; |
7fd59977 |
210 | ---Category: The classes |
211 | |
212 | class LayerItem; |
7fd59977 |
213 | ---Category: The classes |
214 | |
215 | --------------------- |
216 | -- Category: Pointers |
217 | --------------------- |
218 | |
219 | pointer ViewPtr to View from Visual3d; |
220 | ---Category: Pointers |
221 | |
222 | pointer ViewManagerPtr to ViewManager from Visual3d; |
223 | ---Category: Pointers |
224 | |
225 | --------------------------------- |
226 | -- Category: Instantiated classes |
227 | --------------------------------- |
228 | |
c5751993 |
229 | primitive MapOfZLayerSettings; |
230 | |
7fd59977 |
231 | imported NListOfLayerItem; |
232 | |
54f7544d |
233 | class SequenceOfLight instantiates |
234 | Sequence from TCollection (Light from Visual3d); |
7fd59977 |
235 | ---Category: Instantiated classes |
236 | |
54f7544d |
237 | class HSequenceOfLight instantiates |
238 | HSequence from TCollection (Light from Visual3d, SequenceOfLight); |
7fd59977 |
239 | ---Category: Instantiated classes |
240 | |
54f7544d |
241 | class SequenceOfView instantiates |
242 | Sequence from TCollection (View from Visual3d); |
7fd59977 |
243 | ---Category: Instantiated classes |
244 | |
54f7544d |
245 | class HSequenceOfView instantiates |
246 | HSequence from TCollection (View from Visual3d, SequenceOfView); |
7fd59977 |
247 | ---Category: Instantiated classes |
248 | |
249 | end Visual3d; |