0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepFeat / BRepFeat_MakeCylindricalHole.cdl
CommitLineData
b311480e 1-- Created on: 1995-06-13
2-- Created by: Jacques GOUSSARD
3-- Copyright (c) 1995-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class MakeCylindricalHole from BRepFeat inherits Builder from BRepFeat
18
4e57c75e 19 ---Purpose: Provides a tool to make cylindrical holes on a shape.
7fd59977 20
21uses Shape from TopoDS,
22 Face from TopoDS,
23 Ax1 from gp,
24 Status from BRepFeat
25
26
27raises NotDone from StdFail,
28 ConstructionError from Standard
29
30is
31
32 Create
4e57c75e 33 ---Purpose: Empty constructor.
34 returns MakeCylindricalHole from BRepFeat;
35 ---C++: inline
7fd59977 36
37
38 Init(me: in out; Axis: Ax1 from gp)
4e57c75e 39 ---Purpose: Sets the axis of the hole(s).
40 ---C++: inline
41 is static;
7fd59977 42
43
44 Init(me: in out; S: Shape from TopoDS; Axis: Ax1 from gp)
4e57c75e 45 ---Purpose: Sets the shape and axis on which hole(s) will be
46 -- performed.
7fd59977 47 ---C++: inline
4e57c75e 48 is static;
7fd59977 49
50
51 Perform(me: in out; Radius: Real from Standard)
4e57c75e 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>.
7fd59977 56
4e57c75e 57 raises ConstructionError from Standard
58 -- The exception is raised when no shape or no axis is defined.
59 is static;
7fd59977 60
61
62 Perform(me: in out; Radius: Real from Standard;
63 PFrom,PTo: Real from Standard;
64 WithControl: Boolean from Standard = Standard_True)
4e57c75e 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.
7fd59977 70
4e57c75e 71 raises ConstructionError from Standard
72 -- The exception is raised when no shape or no axis is defined.
73 is static;
7fd59977 74
75
76 PerformThruNext(me: in out;
77 Radius: Real from Standard;
78 WithControl: Boolean from Standard = Standard_True)
4e57c75e 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.
7fd59977 85
4e57c75e 86 raises ConstructionError from Standard
87 -- The exception is raised when no shape or no axis is defined.
88 is static;
7fd59977 89
90
91 PerformUntilEnd(me: in out;
92 Radius: Real from Standard;
93 WithControl: Boolean from Standard = Standard_True)
4e57c75e 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.
7fd59977 99
4e57c75e 100 raises ConstructionError from Standard
101 -- The exception is raised when no shape or no axis is defined.
102 is static;
7fd59977 103
104
105 PerformBlind(me: in out;
106 Radius: Real from Standard;
107 Length: Real from Standard;
4e57c75e 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.
7fd59977 114
4e57c75e 115 raises ConstructionError from Standard
116 -- The exception is raised when no shape or no axis is defined.
117 is static;
7fd59977 118
119
120 Status(me)
4e57c75e 121 ---Purpose: Returns the status after a hole is performed.
122 ---C++: inline
123 returns Status from BRepFeat
124 is static;
7fd59977 125
126
127--- Redefinition of BRepBuilderAPI_MakeShape methods
128--
129--
130
4e57c75e 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.
7fd59977 136
137
138--- Private implementation method
139
140
141 Validate(me: in out)
142
4e57c75e 143 returns Status from BRepFeat
144 is static private;
7fd59977 145
146
147fields
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
158end MakeCylindricalHole;