0024742: Remove rarely used collection classes: Set
[occt.git] / src / Visual3d / Visual3d.cdl
CommitLineData
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*
27-- 14-01-00; GG : IMP140100 Add ViewManager pointer
7fd59977 28-- Purpose: Specifications definitives
7fd59977 29
30package Visual3d
31
32 ---Version:
33
34 ---Purpose: This package contains the group of classes necessary
35 -- for the implementation of commands for the 3D visualiser.
36 -- Use of this package is reserved to the visualiser.
37 --
38 -- The visualiser manages the structures, the views, the
39 -- light sources, and object picking.
40
4269bd1b 41 ---Keywords: View, Light, Pick
7fd59977 42 ---Warning:
43 ---References:
44
45uses
46
47 gp,
48 TCollection,
49 TColStd,
50 Quantity,
51 Aspect,
52 Graphic3d,
53 Image,
54 MMgt,
7fd59977 55 WNT,
eeaaaefb 56 OSD,
57 Font
7fd59977 58
59is
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,
129 TOM_INTERP_COLOR,
130 TOM_FACET,
131 TOM_VERTEX
132 end TypeOfModel;
133 ---Purpose: Definition of the rendering (colour shading) model
134 -- TOM_NONE No interpolation, constant shading
135 -- (FLAT Shading)
136 -- TOM_INTERP_COLOR Linear interpolation of color
137 -- (Gouraud Shading)
138 -- TOM_FACET Interpolation of color based on
139 -- dot products
140 -- (Quick Phong Shading)
141 -- TOM_VERTEX Interpolation of color based on
142 -- normals
143 -- (Phong Shading)
144 ---Category: The enumerations
145
146 enumeration TypeOfOrder is TOO_TOPFIRST,
147 TOO_BOTTOMFIRST
148 end TypeOfOrder;
149 ---Purpose: Definition of the order of selection
150 -- TOO_TOPFIRST the root structure first
151 -- TOO_BOTTOMFIRST the leaf structure first
7fd59977 152 ---Category: The enumerations
153
154 enumeration TypeOfProjection is TOP_PERSPECTIVE,
155 TOP_PARALLEL
156 end TypeOfProjection;
157 ---Purpose: Definition of the type of 3D projection
158 --
159 -- TOP_PERSPECTIVE perspective projection (centre of
160 -- projection at a distance finite from
161 -- plane of projection)
162 -- TOP_PARALLEL parallel projection (point of
163 -- projection at infinity)
164 ---Category: The enumerations
165
166 enumeration TypeOfVisualization is TOV_WIREFRAME,
167 TOV_SHADING
168 end TypeOfVisualization;
169 ---Purpose: Modes of visualisation of objects in a view
170 --
171 -- TOV_WIREFRAME wireframe visualisation
172 -- TOV_SHADING shaded visualisation
173 ---Category: The enumerations
174
175 enumeration TypeOfSurfaceDetail is TOD_NONE,
176 TOD_ENVIRONMENT,
177 TOD_ALL
178 end TypeOfSurfaceDetail;
179 ---Purpose: Modes of visualisation of objects in a view
180 --
181 -- TOD_NONE no texture mapping
182 -- TOD_ENVIRONMENT only environnement mapping
183 -- TOD_ALL environnement + texture mapping
184 ---Category: The enumerations
185
186 enumeration TypeOfBackfacingModel is
187 TOBM_AUTOMATIC, TOBM_FORCE, TOBM_DISABLE
188 end TypeOfBackfacingModel;
189 ---Purpose : Modes of display of back faces in the view
190 --
191 -- TOBM_AUTOMATIC graphic's structure setting is in use
192 -- TOBM_FORCE force display of back faces
193 -- TOBM_DISABLE disable display of back faces
194 ---Category : Enumerations
195
196 ------------------------
197 -- Category: The classes
198 ------------------------
199
7fd59977 200 class ContextPick;
201 ---Purpose: This class allows the creation and update of a
202 -- pick context for one view of the viewer.
203 -- A context allows the control of different parameters
204 -- before the activation of a pick :
205 --
206 -- * pick aperture.
207 -- * the depth of pick, the number of sub-structures selected.
208 -- * the order of picking, the possibility to traverse
209 -- the pick structures starting from the roots or the leaves.
210 ---Category: The classes
211
212 class ContextView;
213 ---Purpose: This class manages the creation and update of a
214 -- visualisation context for one view in the viewer.
215 --
216 -- A context is defined by :
217 -- * Antialiasing.
218 -- * ZClipping.
219 -- * Depth-cueing.
220 -- * The type of visualisation.
221 -- * The light sources.
222 ---Category: The classes
223
224 class Light;
225 ---Purpose: This class defines and updates light sources.
226 -- There is no limit to the number of light sources defined.
227 -- Only the number of active sources is limited.
228 ---Category: The classes
229
7fd59977 230 class View;
231 ---Purpose: Creation and editing of a view in a 3D visualiser.
232 --
233 -- A 3D view is composed of an 'orientation' part defined
234 -- by the position of the observer, the viewing direction,
235 -- and a 'mapping' part defined by the type of projection
236 -- (parallel or perspective), and by the window-viewport
237 -- couple which allows passage from the projected coordinate
238 -- space into the screen space.
239 ---Category: The classes
240
241 class ViewManager;
242 ---Purpose: 3D Visualiser
243 ---Category: The classes
244
7fd59977 245 class Layer;
246 ---Purpose: 2D Layer
247 ---Category: The classes
248
249 class LayerItem;
250 ---Purpose: 2D Layer presentation unit
251 ---Category: The classes
252
253 ---------------------
254 -- Category: Pointers
255 ---------------------
256
257 pointer ViewPtr to View from Visual3d;
258 ---Category: Pointers
259
260 pointer ViewManagerPtr to ViewManager from Visual3d;
261 ---Category: Pointers
262
263 ---------------------------------
264 -- Category: Instantiated classes
265 ---------------------------------
266
c5751993 267 primitive MapOfZLayerSettings;
268
7fd59977 269 imported NListOfLayerItem;
270
54f7544d 271 class SequenceOfLight instantiates
272 Sequence from TCollection (Light from Visual3d);
7fd59977 273 ---Category: Instantiated classes
274
54f7544d 275 class HSequenceOfLight instantiates
276 HSequence from TCollection (Light from Visual3d, SequenceOfLight);
7fd59977 277 ---Category: Instantiated classes
278
54f7544d 279 class SequenceOfView instantiates
280 Sequence from TCollection (View from Visual3d);
7fd59977 281 ---Category: Instantiated classes
282
54f7544d 283 class HSequenceOfView instantiates
284 HSequence from TCollection (View from Visual3d, SequenceOfView);
7fd59977 285 ---Category: Instantiated classes
286
287end Visual3d;