0024428: Implementation of LGPL license
[occt.git] / src / BRepOffset / BRepOffset.cdl
1 -- Created on: 1995-10-12
2 -- Created by: Bruno DUMORTIER
3 -- Copyright (c) 1995-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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 package BRepOffset 
18
19         ---Purpose: 
20
21 uses
22     MMgt,
23     Geom,
24     TopoDS,
25     TopAbs,     
26     TCollection,
27     TopTools,
28     GeomAbs,
29     BRepAlgo, 
30     BOPAlgo, 
31     BOPDS, 
32     BOPTools
33
34 is
35     enumeration Type is 
36         Concave, 
37         Convex, 
38         Tangent,
39         FreeBoundary,
40         Other
41     end Type;
42     
43     enumeration Mode is 
44         Skin,
45         Pipe,
46         RectoVerso 
47     end Mode;
48 ---Purpose:
49 -- Lists the offset modes. These are the following:
50 -- - BRepOffset_Skin which describes the offset along
51 --   the surface of a solid, used to obtain a manifold topological space,
52 -- - BRepOffset_Pipe which describes the offset of a
53 --   curve, used to obtain a pre-surface,
54 -- - BRepOffset_RectoVerso which describes the offset
55 --   of a given surface shell along both sides of the surface.
56         
57     enumeration Status is 
58         ---Purpose: status of an offset face
59         --          Good : 
60         --          Reversed : e.g. Offset > Radius of a cylinder
61         --          Degenerated : e.g. Offset = Radius of a cylinder
62         --          Unknown : e.g. for a Beziersurf
63         Good,
64         Reversed,
65         Degenerated,
66         Unknown
67     end Status;
68             
69     enumeration Error is
70         NoError,                        
71         OffsetSurfaceFailed,
72         UnCorrectClosingFace,
73         ExtentFaceFailed,
74         RadiusEqualOffset,
75         UnknownError
76     end Error;
77     
78     class MakeOffset;
79         
80     --class Loop;
81     
82     class Inter3d;
83     
84     class Inter2d;
85     
86     class Offset;
87         ---Purpose: This class compute elemenary offset surface.
88         --          Evaluate the offset generated :
89         --               1 - from a face.
90         --               2 - from an edge.
91         --               3 - from a vertex.
92         --               
93
94     class Analyse;
95
96     class MakeLoops;
97     
98     class Tool;
99
100     --class Image;
101     
102     --class AsDes;
103
104
105     class Interval;
106    
107     class ListOfInterval instantiates 
108         List from TCollection  (Interval from BRepOffset);
109     
110     class DataMapOfShapeListOfInterval  instantiates
111         DataMap from TCollection(Shape           from TopoDS,
112                                  ListOfInterval  from BRepOffset,
113                                  ShapeMapHasher  from TopTools );   
114     
115     class DataMapOfShapeOffset instantiates
116         DataMap from TCollection(Shape           from TopoDS,
117                                  Offset          from BRepOffset,
118                                  ShapeMapHasher  from TopTools );   
119                                  
120     class DataMapOfShapeMapOfShape instantiates
121         DataMap from TCollection(Shape           from TopoDS,
122                                  MapOfShape      from TopTools,
123                                  ShapeMapHasher  from TopTools);     
124
125   
126     Surface( Surface : in  Surface from Geom;
127              Offset  : in  Real    from Standard;
128              Status  : out Status  from BRepOffset)
129         ---Purpose: returns   the  Offset  surface  computed from  the
130         --          surface <Surface> at an OffsetDistance <Offset>.
131         --          
132         --          If possible, this method returns  the real type of
133         --          the surface ( e.g. An Offset of a plane is a plane).
134         --          
135         --          If  no particular  case  is detected, the returned
136         --          surface will have the Type Geom_OffsetSurface.
137     returns Surface from Geom;
138
139 end BRepOffset;