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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
-- File: BRep.cdl
-- Created: Thu Jun 27 15:41:11 1991
-- Author: Remi LEQUETTE
-- <rle@phobox>
---Copyright: Matra Datavision 1991, 1992
package BRep
---Purpose: This package describes a Boundary Representation
-- Data Structure inherited from the abstract
-- Topology defined in the TopoDS package. The
-- geometric data are provided by the Geom and Geom2d
-- packages.
--
-- The TVertex, TEdge, and TFace are redefined in
-- this package to add geometric information.
---Level : Public
-- All methods of all classes will be public.
uses
MMgt, -- Memory management
TCollection, -- Basic data structures
TColStd, -- HArray1OfInteger
gp, -- Elementary geometry
Bnd, -- Bounding boxes
TopLoc, -- Local coordinate systems
TopAbs, -- Enumerations : Orientation, ShapeType
TopoDS, -- Abstract topological data structure
GeomAbs, -- Enumerations : Shape
Geom, -- 3D geometry : curves and surfaces
Geom2d, -- 2D geometry : curves in parametric space
Poly -- Triangulations and Polygons
is
--
-- Face
--
class TFace;
---Purpose: The TFace class is inherited from the TFace from
-- TopoDS. It contains a surface, a tolerance and a
-- natural restriction flag.
--
-- Edge
--
-- An Edge is defined by a list of curve representations which
-- are either :
--
-- Geometric representations :
--
-- * A 3d curve (at most one)
--
-- * A curve on surface, curve in parametric space.
--
-- * A curve on closed surface, two curves in parametric space.
--
-- Polygonal representations :
--
-- * A 3d polygon (at most one).
--
-- * A Polygon on triangulation (array of node indices)
--
-- * A Polygon on closed triangulation (2 arrays of node indices)
--
-- * A polygon on surface (array of 2d points in parametric space)
--
-- Curve on 2 surfaces :
--
-- * This is used for storing shape continuity.
--
deferred class CurveRepresentation;
---Purpose: Root for curve representations. Contains a
-- location.
class ListOfCurveRepresentation instantiates
List from TCollection (CurveRepresentation from BRep);
deferred class GCurve;
---Purpose: Root class for geometric curves representations.
-- Contains a first an a last parameter.
class Curve3D;
---Purpose: Representation by a 3d curve.
class CurveOnSurface;
---Purpose: Representation by a curve in the parametric space
-- of a surface.
class CurveOnClosedSurface;
---Purpose: Representation by two curves in the parametric
-- space of a closed surface.
class Polygon3D;
---Purpose: Representation by a 3D polygon.
class PolygonOnTriangulation;
---Purpose: Representation by an array of indices on a
-- triangulation.
class PolygonOnClosedTriangulation;
---Purpose: Representation by two arrays of indices on a
-- triangulation.
class PolygonOnSurface;
---Purpose: Representation by 2d polygon in the parametric space
-- of a surface.
class PolygonOnClosedSurface;
---Purpose: Representation by two 2d polygons in the parametric
-- space of the surface.
class CurveOn2Surfaces;
---Purpose: Geometric continuity bewtween two surfaces.
class TEdge;
---Purpose: The TEdge class is inherited from the TEdge from
-- TopoDS. It contains a 3d curve and a list of
-- representations.
--
-- Vertex
--
deferred class PointRepresentation;
---Purpose: Root for point representations. Contains a
-- location.
class ListOfPointRepresentation instantiates
List from TCollection (PointRepresentation from BRep);
class PointOnCurve;
---Purpose: Representation by a parameter on a 3D curve.
deferred class PointsOnSurface;
---Purpose: Root for points on surface.
class PointOnCurveOnSurface;
---Purpose: Representation by a parameter on a curve on a
-- surface.
class PointOnSurface;
---Purpose: Representation by two parameters on a surface.
class TVertex;
---Purpose: The TVertex class is inherited from the TVertex
-- from TopoDS. It contains a 3d point and a
-- location.
class Builder;
---Purpose: The Builder from BRep is inherited from the
-- Builder3D from TopoDS. It is used to build
-- Shapes.
class Tool;
---Purpose: The Tool from BRep is used to access the geometric
-- data.
end BRep;
|