0024624: Lost word in license statement in source files
[occt.git] / src / BRep / BRep.cdl
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
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 package BRep 
18
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
23         --          packages.
24         --          
25         --          The TVertex,  TEdge,  and TFace  are  redefined in
26         --          this package to add geometric information.
27
28         ---Level : Public  
29         --  All methods of all  classes will be public.
30
31 uses
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
44
45 is
46
47     --
48     --  Face
49     --  
50
51     class TFace;
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.
55         
56     --
57     --  Edge
58     --
59     --  An Edge is  defined by a list  of curve representations  which
60     --  are either :
61     --  
62     --  Geometric representations :
63     --  
64     --  * A 3d curve (at most one)
65     --  
66     --  * A curve on surface, curve in parametric space.
67     --  
68     --  * A curve on closed surface, two curves in parametric space.
69     --  
70     --  Polygonal representations :
71     --  
72     --  * A 3d polygon (at most one).
73     --  
74     --  * A Polygon on triangulation (array of node indices)
75     --  
76     --  * A Polygon on closed triangulation (2 arrays of node indices)
77     --  
78     --  * A polygon on surface (array of 2d points in parametric space)
79     --  
80     --  Curve on 2 surfaces :
81     --  
82     --  * This is used for storing shape continuity.
83     --  
84
85     deferred class CurveRepresentation;
86         ---Purpose: Root      for curve representations.    Contains a
87         --          location.
88
89     class ListOfCurveRepresentation instantiates
90     List from TCollection (CurveRepresentation from BRep);
91     
92     deferred class GCurve;
93         ---Purpose: Root class  for geometric curves  representations.
94         --          Contains a first an a last parameter.
95
96     class Curve3D;
97         ---Purpose: Representation by a 3d curve.
98
99     class CurveOnSurface;
100         ---Purpose: Representation by a curve in the  parametric space
101         --          of a surface.
102
103     class CurveOnClosedSurface;
104         ---Purpose: Representation  by two   curves in the  parametric
105         --          space of a closed surface.
106
107     class Polygon3D;
108         ---Purpose: Representation by a 3D polygon.
109
110     class PolygonOnTriangulation;
111         ---Purpose: Representation by    an array  of  indices  on   a
112         --          triangulation.
113         
114     class PolygonOnClosedTriangulation;
115         ---Purpose: Representation   by two  arrays  of indices   on a
116         --          triangulation.
117         
118     class PolygonOnSurface;
119         ---Purpose: Representation by 2d polygon in the parametric space
120         --          of a surface.
121
122     class PolygonOnClosedSurface;
123         ---Purpose: Representation by two 2d polygons in the parametric
124         --          space of the  surface.
125         
126     class CurveOn2Surfaces;
127         ---Purpose: Geometric continuity bewtween two surfaces.
128
129     class TEdge;
130         ---Purpose: The TEdge class is  inherited  from the TEdge from
131         --          TopoDS.   It contains a  3d   curve and  a list of
132         --          representations.
133
134         
135     --
136     --  Vertex
137     --
138
139     deferred class PointRepresentation;
140         ---Purpose: Root  for   point   representations.  Contains   a
141         --          location. 
142         
143     class ListOfPointRepresentation instantiates
144     List from TCollection (PointRepresentation from BRep);
145     
146     class PointOnCurve;
147         ---Purpose: Representation by a parameter on a 3D curve.
148         
149     deferred class PointsOnSurface;
150         ---Purpose: Root for points on surface.
151     
152     class PointOnCurveOnSurface;
153         ---Purpose: Representation by   a parameter on  a curve   on a
154         --          surface. 
155
156     class PointOnSurface;
157         ---Purpose: Representation by two parameters on a surface.
158
159     class TVertex;
160         ---Purpose: The TVertex class  is  inherited from the  TVertex
161         --          from    TopoDS.  It contains  a  3d  point   and a
162         --          location.
163
164     class Builder;
165         ---Purpose: The  Builder  from BRep is   inherited    from the
166         --          Builder3D   from  TopoDS.    It  is  used to build
167         --          Shapes.
168
169     class Tool;
170         ---Purpose: The Tool from BRep is used to access the geometric
171         --          data.
172
173
174 end BRep;