0024624: Lost word in license statement in source files
[occt.git] / src / BRepFeat / BRepFeat_MakeCylindricalHole.cdl
1 -- Created on: 1995-06-13
2 -- Created by: Jacques GOUSSARD
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 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 MakeCylindricalHole from BRepFeat inherits Builder from BRepFeat
18
19         ---Purpose: Provides a tool to make cylindrical holes on a shape.
20
21 uses Shape                from TopoDS,
22      Face                 from TopoDS,
23      Ax1                  from gp,
24      Status               from BRepFeat
25
26
27 raises NotDone from StdFail,
28        ConstructionError from Standard
29
30 is
31
32     Create
33         ---Purpose: Empty constructor.
34             returns MakeCylindricalHole from BRepFeat;
35         ---C++: inline
36
37
38     Init(me: in out; Axis: Ax1 from gp)
39         ---Purpose: Sets the axis of the hole(s).
40         ---C++: inline
41             is static;
42
43
44     Init(me: in out; S: Shape from TopoDS; Axis: Ax1 from gp)
45         ---Purpose: Sets the shape and  axis on which hole(s)  will be
46         --          performed.  
47         ---C++: inline
48             is static;
49
50
51     Perform(me: in out; Radius: Real from Standard)
52         ---Purpose: Performs every  holes of   radius  <Radius>.  This
53         --          command  has the  same effect as   a cut operation
54         --          with an  infinite cylinder   defined by the  given
55         --          axis and <Radius>.
56
57             raises ConstructionError from Standard
58         -- The exception is raised when no shape or no axis is defined.
59             is static;
60
61
62     Perform(me: in out; Radius: Real from Standard; 
63                         PFrom,PTo: Real from Standard;
64                         WithControl: Boolean from Standard = Standard_True)
65         ---Purpose: Performs evry   hole  of  radius  <Radius> located
66         --          between PFrom  and  PTo  on the  given  axis.   If
67         --          <WithControl> is set  to Standard_False no control
68         --          are  done  on   the  resulting  shape   after  the
69         --          operation is performed.
70
71             raises ConstructionError from Standard
72         -- The exception is raised when no shape or no axis is defined.
73             is static;
74
75
76     PerformThruNext(me: in out; 
77                      Radius: Real from Standard;
78                      WithControl: Boolean from Standard = Standard_True)
79         ---Purpose: Performs the first hole of radius <Radius>, in the
80         --          direction of  the defined axis. First hole signify
81         --          first encountered after the origin of the axis. If
82         --          <WithControl> is set  to Standard_False no control
83         --          are  done  on   the  resulting  shape   after  the
84         --          operation is performed. 
85
86             raises ConstructionError from Standard
87         -- The exception is raised when no shape or no axis is defined.
88             is static;
89
90
91     PerformUntilEnd(me: in out; 
92                      Radius: Real from Standard;
93                      WithControl: Boolean from  Standard = Standard_True)
94         ---Purpose: Performs  evry  holes of  radius  <Radius> located
95         --          after  the   origin  of   the given    axis.    If
96         --          <WithControl> is  set to Standard_False no control
97         --          are done   on   the  resulting  shape   after  the
98         --          operation is performed.
99
100             raises ConstructionError from Standard
101         -- The exception is raised when no shape or no axis is defined.
102             is static;
103
104
105     PerformBlind(me: in out; 
106                   Radius: Real from Standard; 
107                   Length: Real from Standard;
108                   WithControl: Boolean from  Standard = Standard_True)
109         ---Purpose: Performs a  blind   hole of radius    <Radius> and
110         --          length <Length>.  The length is  measured from the
111         --          origin of the given  axis. If <WithControl> is set
112         --          to  Standard_False no  control  are done after the
113         --          operation is performed.
114
115             raises ConstructionError from Standard
116         -- The exception is raised when no shape or no axis is defined.
117             is static;
118
119
120     Status(me)
121         ---Purpose: Returns the status after a hole is performed.
122         ---C++: inline
123             returns Status from BRepFeat
124         is static;
125
126
127 --- Redefinition of BRepBuilderAPI_MakeShape methods
128 --  
129 --  
130
131     Build(me:out);
132         ---Purpose: Builds the    resulting shape  (redefined     from
133         --          MakeShape). Invalidates the  given parts  of tools
134         --          if  any,   and performs the  result   of the local
135         --          operation.
136
137
138 --- Private implementation method
139
140
141     Validate(me: in out)
142     
143             returns Status from BRepFeat
144         is static private;
145
146
147 fields
148
149     myAxis    : Ax1                  from gp;
150     myAxDef   : Boolean              from Standard;
151     myStatus  : Status               from BRepFeat;
152     myIsBlind : Boolean              from Standard;
153     myValidate: Boolean              from Standard;
154     myTopFace : Face                 from TopoDS;
155     myBotFace : Face                 from TopoDS;
156
157
158 end MakeCylindricalHole;