0025765: Coding rules - clean up code from obsolete macro checks
[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*
7fd59977 27-- Purpose: Specifications definitives
7fd59977 28
29package 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
44uses
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
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,
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
249end Visual3d;