0023634: Eliminate Polyline and Polygon usage in drawers
[occt.git] / src / Prs3d / Prs3d.cdl
CommitLineData
b311480e 1-- Created on: 1992-08-26
2-- Created by: Jean Louis FRENKEL
3-- Copyright (c) 1992-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22package Prs3d
23
24 ---Purpose: The Prs3d package provides the following services
25 -- - a presentation object (the context for all
26 -- modifications to the display, its presentation will be
27 -- displayed in every view of an active viewer)
28 -- - an attribute manager governing how objects such
29 -- as color, width, and type of line are displayed;
30 -- these are generic objects, whereas those in
31 -- StdPrs are specific geometries and topologies.
32 -- - generic algorithms providing default settings for
33 -- objects such as points, curves, surfaces and shapes
34 -- - a root object which provides the abstract
35 -- framework for the DsgPrs definitions at work in
36 -- display of dimensions, relations and trihedra.
37
38uses
39 Graphic3d,
40 Aspect,
41 Quantity,
42 MMgt,
43 Standard,
44 Adaptor3d,
45 BRepAdaptor,
46 Geom,
47 CPnts,
48 GCPnts,
49 TopAbs,
50 TopLoc,
51 TopoDS,
52 TopTools,
53 TopExp,
54 HLRAlgo,
55 TCollection,
56 TColgp,
57 Bnd,
58 gp,
59 Poly,
60 TColStd
61is
62 exception InvalidAngle inherits RangeError from Standard;
63
64 enumeration TypeOfLinePicking is TOLP_Point,
65 TOLP_Segment
66 end TypeOfLinePicking;
67
68 class Presentation;
69 ---Purpose: defines the presentation object. This object can be
70 -- displayed, highlighted, erased, etc... The output
71 -- of the presentation algorithms are sent in a
72 -- presentation object. A presentation object is attached
73 -- to a given Viewer.
74
75 ---Category: Aspect classes.
76 ---Purpose: The aspect classes qualifies how to represent
77 -- a given kind of object.
78 --
79
80
81 deferred class BasicAspect;
82 class PointAspect;
83 class LineAspect;
84 class ShadingAspect;
85 class TextAspect;
86 deferred class CompositeAspect;
87 class IsoAspect;
88 class PlaneAspect;
89 class ArrowAspect;
90 class LengthAspect;
91 class AngleAspect;
92 class RadiusAspect;
93 class DatumAspect;
94
95 class Drawer;
96 ---Purpose: qualifies how the presentation algorithms compute
97 -- the presentation of a specific kind of object.
98 -- This includes for example color, width and type
99 -- of lines, maximal chordial deviation, etc...
100 -- A drawer includes an instance of the Aspect classes
101 -- with particular default values.
102
103 class Projector;
104 ---Purpose: defines the projection parameters for the hidden
105 -- lines removal algorithm.
106
107 class PlaneSet;
108 ---Purpose: defines a set of planes used for a presentation
109 -- by sections.
110 --
111
112 deferred class Root;
113 ---Purpose: defines the root of the presentation algorithms.
114
115 generic class Point;
116 ---Purpose: computes the presentation of objects to be
117 -- seen as points.
118
119 generic class Line;
120 ---Purpose: computes the presentation of objects to be
121 -- seen as broken lines.
122
123 --generic class WFSectionShape;
124 ---Purpose: computes the wireframe presentation of surfaces
125 -- by displaying planar sections.
126
127 generic class WFDeflectionRestrictedFace;
128 ---Purpose: computes the wireframe presentation of faces with
129 -- restrictions by displaying a given number of U and/or
130 -- V isoparametric curves. The isoparametric curves are
131 -- drawn with respect to a maximal chordial deviation.
132 -- The presentation includes the restriction curves.
133
134
135 generic class WFRestrictedFace;
136 ---Purpose: computes the wireframe presentation of faces with
137 -- restrictions by displaying a given number of U and/or
138 -- V isoparametric curves. The isoparametric curves are
139 -- drawn with a fixed number of points.
140 -- The presentation includes the restriction curves.
141
142
143 generic class WFShape;
144 ---Purpose: computes the wireframe presentation of compound set
145 -- of faces, edges and vertices by displaying a given
146 -- number of U and/or V isoparametric curves.
147
148
149
150
151 ---Category: Hidden lines removal algorithms.
152
153 generic class HLRShape;
154 ---Purpose: computes the presentation of objects with
155 -- removal of their hidden lines for a specific
156 -- projector.
157 --
158
159 ---Category: Shading algorithms.
160
161 generic class SectionShapeTool;
162
7fd59977 163 ---Category: Basis construction elements.
164 generic class Vector;
165 generic class Datum;
166
167 class LengthPresentation;
168
169 class AnglePresentation;
170
171 class Text;
172
173
174 ---Category: Class signatures.
175 --
176 generic class PointTool;
177 ---Purpose: describes the behaviour requested for a point presentation
178
179 generic class LineTool;
180 ---Purpose: describes the behaviour requested for a line presentation
181
182
183 generic class CurvePresentation;
184
185 generic class RestrictionTool;
186 ---Purpose: describes the behaviour requested for a restricted
187 -- face presentation.
188
189 class ShapeTool;
190 ---Purpose: describes the behaviour requested for a wireframe
191 -- shape presentation.
192
193 generic class HLRShapeTool;
194 ---Purpose: describes the behaviour requested for a shape
195 -- presentation with hidden lines removal.
196
197 deferred generic class VectorTool;
198 ---Purpose: describes the behaviour requested for a vector
199 -- presentation.
200
201 deferred generic class DatumTool;
202 ---Purpose: describes the behaviour requested for a datum
203 -- presentation.
204
205 class Arrow;
206 ---Purpose: draws an arrow at a given location, with respect
207 -- to a given direction.
208
209 imported NListOfSequenceOfPnt;
210 imported NListIteratorListOfSequenceOfPnt;
211
212 MatchSegment(X,Y,Z: Length from Quantity;
213 aDistance: Length from Quantity;
214 p1,p2: Pnt from gp;
215 dist: out Length from Quantity)
216 returns Boolean from Standard;
217end Prs3d;
218
219