1 -- Created on: 1991-06-27
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
19 ---Purpose: This package describes a Boundary Representation
20 -- Data Structure inherited from the abstract
21 -- Topology defined in the TopoDS package. The
22 -- geometric data are provided by the Geom and Geom2d
25 -- The TVertex, TEdge, and TFace are redefined in
26 -- this package to add geometric information.
29 -- All methods of all classes will be public.
32 MMgt, -- Memory management
33 TCollection, -- Basic data structures
34 TColStd, -- HArray1OfInteger
35 gp, -- Elementary geometry
36 Bnd, -- Bounding boxes
37 TopLoc, -- Local coordinate systems
38 TopAbs, -- Enumerations : Orientation, ShapeType
39 TopoDS, -- Abstract topological data structure
40 GeomAbs, -- Enumerations : Shape
41 Geom, -- 3D geometry : curves and surfaces
42 Geom2d, -- 2D geometry : curves in parametric space
43 Poly -- Triangulations and Polygons
52 ---Purpose: The TFace class is inherited from the TFace from
53 -- TopoDS. It contains a surface, a tolerance and a
54 -- natural restriction flag.
59 -- An Edge is defined by a list of curve representations which
62 -- Geometric representations :
64 -- * A 3d curve (at most one)
66 -- * A curve on surface, curve in parametric space.
68 -- * A curve on closed surface, two curves in parametric space.
70 -- Polygonal representations :
72 -- * A 3d polygon (at most one).
74 -- * A Polygon on triangulation (array of node indices)
76 -- * A Polygon on closed triangulation (2 arrays of node indices)
78 -- * A polygon on surface (array of 2d points in parametric space)
80 -- Curve on 2 surfaces :
82 -- * This is used for storing shape continuity.
85 deferred class CurveRepresentation;
86 ---Purpose: Root for curve representations. Contains a
89 class ListOfCurveRepresentation instantiates
90 List from TCollection (CurveRepresentation from BRep);
92 deferred class GCurve;
93 ---Purpose: Root class for geometric curves representations.
94 -- Contains a first an a last parameter.
97 ---Purpose: Representation by a 3d curve.
100 ---Purpose: Representation by a curve in the parametric space
103 class CurveOnClosedSurface;
104 ---Purpose: Representation by two curves in the parametric
105 -- space of a closed surface.
108 ---Purpose: Representation by a 3D polygon.
110 class PolygonOnTriangulation;
111 ---Purpose: Representation by an array of indices on a
114 class PolygonOnClosedTriangulation;
115 ---Purpose: Representation by two arrays of indices on a
118 class PolygonOnSurface;
119 ---Purpose: Representation by 2d polygon in the parametric space
122 class PolygonOnClosedSurface;
123 ---Purpose: Representation by two 2d polygons in the parametric
124 -- space of the surface.
126 class CurveOn2Surfaces;
127 ---Purpose: Geometric continuity bewtween two surfaces.
130 ---Purpose: The TEdge class is inherited from the TEdge from
131 -- TopoDS. It contains a 3d curve and a list of
139 deferred class PointRepresentation;
140 ---Purpose: Root for point representations. Contains a
143 class ListOfPointRepresentation instantiates
144 List from TCollection (PointRepresentation from BRep);
147 ---Purpose: Representation by a parameter on a 3D curve.
149 deferred class PointsOnSurface;
150 ---Purpose: Root for points on surface.
152 class PointOnCurveOnSurface;
153 ---Purpose: Representation by a parameter on a curve on a
156 class PointOnSurface;
157 ---Purpose: Representation by two parameters on a surface.
160 ---Purpose: The TVertex class is inherited from the TVertex
161 -- from TopoDS. It contains a 3d point and a
165 ---Purpose: The Builder from BRep is inherited from the
166 -- Builder3D from TopoDS. It is used to build
170 ---Purpose: The Tool from BRep is used to access the geometric