0024624: Lost word in license statement in source files
[occt.git] / src / BRepFeat / BRepFeat_MakePipe.cdl
1 -- Created on: 1996-09-03
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1996-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 class MakePipe from BRepFeat inherits Form from BRepFeat
18
19         ---Purpose: Constructs compound shapes with pipe
20         -- features. These can be depressions or protrusions.
21         -- The semantics of pipe feature creation is based on the construction of shapes:
22         -- -   along a length
23         -- -   up to a limiting face
24         -- -   from a limiting face to a height.
25         -- The shape defining construction of the pipe feature can be either the supporting edge or
26         -- the concerned area of a face.
27         -- In case of the supporting edge, this contour
28         -- can be attached to a face of the basis shape
29         -- by binding. When the contour is bound to this
30         -- face, the information that the contour will
31         -- slide on the face becomes available to the relevant class methods.
32         -- In case of the concerned area of a face, you
33         -- could, for example, cut it out and move it to a
34         -- different height which will define the limiting
35         -- face of a protrusion or depression.
36
37 uses Shape                     from TopoDS,
38      Face                      from TopoDS,
39      Wire                      from TopoDS,
40      Edge                      from TopoDS,
41      DataMapOfShapeListOfShape from TopTools,
42      DataMapOfShapeShape       from TopTools,
43      SequenceOfCurve           from TColGeom,
44      Curve                     from Geom,
45      StatusError               from BRepFeat
46
47 raises ConstructionError from Standard
48
49 is
50
51
52     Create
53         returns MakePipe from BRepFeat;
54         ---Purpose: initializes the pipe class.
55         ---C++: inline
56
57
58     Create(Sbase     : Shape   from TopoDS;
59            Pbase     : Shape   from TopoDS;
60            Skface    : Face    from TopoDS;
61            Spine     : Wire    from TopoDS;
62            Fuse      : Integer from Standard;
63            Modify    : Boolean from Standard)
64     
65         ---Purpose : A face Pbase is selected in the
66         -- shape Sbase to serve as the basis for the
67         -- pipe. It will be defined by the wire Spine.
68         -- Fuse offers a choice between:
69         -- -   removing matter with a Boolean cut using the setting 0
70         -- -   adding matter with Boolean fusion using the setting 1.
71         --   The sketch face Skface serves to determine
72         -- the type of operation. If it is inside the basis
73         -- shape, a local operation such as glueing can be performed.
74                 ---C++: inline
75                 returns MakePipe from BRepFeat;
76
77
78     Init(me: in out; Sbase     : Shape   from TopoDS;
79                      Pbase     : Shape   from TopoDS;
80                      Skface    : Face    from TopoDS;
81                      Spine     : Wire    from TopoDS;
82                      Fuse      : Integer from Standard;
83                      Modify    : Boolean from Standard)
84     
85         is static;
86         ---Purpose: Initializes this algorithm for adding pipes to shapes.
87         -- A face Pbase is selected in the shape Sbase to
88         -- serve as the basis for the pipe. It will be defined by the wire Spine.
89         -- Fuse offers a choice between:
90         -- -   removing matter with a Boolean cut using the setting 0
91         -- -   adding matter with Boolean fusion using the setting 1.
92         --  The sketch face Skface serves to determine
93         -- the type of operation. If it is inside the basis
94         -- shape, a local operation such as glueing can be performed.
95
96     Add(me: in out; E: Edge from TopoDS; OnFace: Face from TopoDS)
97
98         ---Purpose: Indicates that the edge <E> will slide on the face
99         --          <OnFace>. Raises ConstructionError  if the  face does not belong to the
100         -- basis shape, or the edge to the prismed shape.
101         raises ConstructionError from Standard
102         
103         is static;
104
105
106     Perform(me: in out)
107     
108         is static;
109
110
111     Perform(me: in out; Until: Shape from TopoDS)
112     
113         is static;
114
115
116     Perform(me: in out; From : Shape from TopoDS;
117                         Until: Shape from TopoDS)
118     
119         is static;
120
121         ---Purpose: Assigns one of the following semantics
122         -- -   to a face Until
123         -- -   from a face From to a height Until.
124         -- Reconstructs the feature topologically according to the semantic option chosen.
125
126     Curves(me: in out; S : in out SequenceOfCurve from TColGeom);
127     
128
129     BarycCurve(me: in out)    
130         returns Curve from Geom;
131
132
133 fields
134
135 --    mySbase  : Shape                     from TopoDS;
136     myPbase  : Shape                     from TopoDS;
137     mySkface : Face                      from TopoDS;
138     mySlface : DataMapOfShapeListOfShape from TopTools;
139     mySpine  : Wire                      from TopoDS;
140     myCurves : SequenceOfCurve           from TColGeom;
141     myBCurve : Curve                     from Geom;
142
143 end MakePipe;