1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
|
-- File: VrmlConverter.cdl
-- Created: Tue Feb 18 13:46:07 1997
-- Author: Alexander BRIVIN
-- <brivin@meteox.nizhny.matra-dtv.fr>
---Copyright: Matra Datavision 1997
package VrmlConverter
---Purpose:
-- Computes different kinds of presentation and converts CasCade objects
-- ( points, curves, surfaces, shapes ... ) into nodes of VRML format
-- ( package Vrml ), into specific geometry shapes ( AsciiText, Cone,
-- IndexedFaceSet, IndexedLineSet, .... ) for requested (or default) properties
-- of the geometry and its appearance ( Material, Normal, Texture2, ... )
-- and requested (or default) properties of cameras and lights ( OrthograpicCamera,
-- PerspectiveCamera, DirectionalLight, SpotLight ).
-- All requested properties of a current representation are specified
-- in aDrawer of Drawer class, which qualifies how the presentation
-- algorithms compute the presentation of a specific kind of object.
-- This includes for example color, maximal chordial deviation, etc... with default values.
-- In the result the classes of this package Add a corresponding VRML
-- description to anOStream.
uses
Vrml,
Aspect,
Poly,
TColgp,
MMgt,
Adaptor3d,
BRepAdaptor,
TopoDS,
HLRAlgo,
Quantity,
TopTools
is
---Category: Aspect classes.
-- The aspect classes qualifies how to represent
-- a given kind of object.
class Drawer;
---Purpose: qualifies the aspect properties for
-- the VRML conversation of a specific kind of object.
-- This includes for example color, maximal chordial deviation, etc...
class ShadingAspect;
---Purpose: qualifies the aspect properties for
-- the VRML conversation of a ShadedShape.
class LineAspect;
---Purpose: qualifies the aspect properties for
-- the VRML conversation of a Curve and a DeflectionCurve .
class IsoAspect;
---Purpose: qualifies the aspect properties for
-- the VRML conversation of iso curves .
class PointAspect;
---Purpose: qualifies the aspect properties for
-- the VRML conversation of a Point Set .
---Category: Presentation classes.
---Purpose: To compute different kinds of presentation, to convert
-- CasCade objects into VRML objects for requested aspect
-- properties and to add the results to the stream.
class ShadedShape;
---Purpose: computes the shading presentation of shapes
-- by triangulation algorithms.
class Curve;
---Purpose: computes the presentation of objects to be
-- seen as curves. The computation will be made
-- whith a constant number of points.
class DeflectionCurve;
---Purpose: computes the presentation of objects to be seen as
-- curves. The computation will be made according to
-- a maximal chordial deviation.
class WFRestrictedFace;
---Purpose: computes the wireframe presentation of faces with
-- restrictions by displaying a given number of U and/or
-- V isoparametric curves. The isoparametric curves are
-- drawn with a fixed number of points.
class WFDeflectionRestrictedFace;
---Purpose: computes the wireframe presentation of faces with
-- restrictions by displaying a given number of U and/or
-- V isoparametric curves. The isoparametric curves are
-- drawn with respect to a maximal chordial deviation.
class WFShape;
---Purpose: computes the wireframe presentation of compound set
-- of faces, edges and vertices by displaying a given
-- number of U and/or V isoparametric curves.
class WFDeflectionShape;
---Purpose: computes the wireframe presentation of compound
-- set of faces, edges and vertices by displaying
-- a given number of U and/or V isoparametric curves.
class HLRShape;
---Purpose: computes the presentation of objects with
-- removal of their hidden lines for a specific
-- projector.
class Projector;
---Purpose: defines the projection parameters for the hidden
-- lines removal algorithm and calculates properties of cameras
-- and lights from Vrml ( OrthograpicCamera, PerspectiveCamera,
-- DirectionalLight, PointLight, SpotLight )
-- to display all shapes of scene with arbitrary locations
-- for requested the Projection Vector .
-- Enumeration for cameras and lights from Vrml
enumeration TypeOfCamera
is
NoCamera,
PerspectiveCamera,
OrthographicCamera
end TypeOfCamera;
enumeration TypeOfLight
is
NoLight,
DirectionLight,
PointLight,
SpotLight
end TypeOfLight;
end VrmlConverter;
|