0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_MakeDraft.cdl
1 -- Created on: 1999-01-13
2 -- Created by: Philippe MANGIN
3 -- Copyright (c) 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 MakeDraft from BRepOffsetAPI inherits MakeShape from BRepBuilderAPI
18
19         ---Purpose: Build a draft surface along a wire
20
21          -- The wire can be defined by
22          -- - a wire
23          -- - a face  (the forward wire)
24          -- - a shell (the free bounds)
25          -- The Draft geometry is defined by
26          -- A wire, a direction and angle between the line section 
27          -- and the dircection
28          -- The Draft can be limited by 
29          -- a length of the segment to sweep
30          -- a surface
31          -- a shape
32
33 uses 
34   Shape  from  TopoDS, 
35   Shell  from  TopoDS,
36   Dir    from  gp,  
37   ListOfShape from TopTools,  
38   TransitionMode  from  BRepBuilderAPI, 
39   Draft           from  BRepFill,
40   Surface  from  Geom
41
42 raises 
43   NotDone, 
44   NoSuchObject
45
46 is  
47
48   Create(Shape  :  Shape  from  TopoDS; 
49          Dir    :  Dir  from  gp; 
50          Angle  :  Real)  
51         ---Purpose: Constructs the draft surface object defined by the shape
52         -- Shape, the direction Dir, and the angle Angle.
53         -- Shape must be a TopoDS_Wire, Topo_DS_Face or
54         -- TopoDS_Shell with free boundaries.
55         -- Exceptions
56         -- Standard_NotDone if Shape is not a TopoDS_Wire,
57         -- Topo_DS_Face or TopoDS_Shell with free boundaries.
58   returns MakeDraft from BRepOffsetAPI;  
59    
60   SetOptions(me : in out; 
61              Style  :   TransitionMode  from  BRepBuilderAPI =  BRepBuilderAPI_RightCorner; 
62              AngleMin :  Real  =  0.01; 
63              AngleMax :  Real  =  3.0)  
64         ---Purpose: Sets the options of this draft tool.
65         -- If a transition has to be performed, it can be defined by
66         -- the mode Style as RightCorner or RoundCorner,
67         -- RightCorner being a corner defined by a sharp angle,
68         -- and RoundCorner being a rounded corner.
69         -- AngleMin is an angular tolerance used to detect
70         -- whether a transition has to be performed or not.
71         -- AngleMax sets the maximum value within which a
72         -- RightCorner transition can be performed.
73         -- AngleMin and AngleMax are expressed in radians.
74   is  static;  
75                
76   SetDraft(me:  in  out;  IsInternal  :  Boolean  =  Standard_False)   
77         ---Purpose: Sets the direction of the draft for this object.
78         -- If IsInternal is true, the draft is internal to the argument
79         -- Shape used in the constructor.
80   is  static;
81
82   Perform(me  :  in  out; 
83           LengthMax  :  Real)
84         ---Purpose: Performs the draft using the length LengthMax as the
85         -- maximum length for the corner edge between two draft faces.
86   is  static; 
87              
88
89   Perform(me  :  in  out; 
90           Surface  : Surface  from  Geom;    
91           KeepInsideSurface  :  Boolean  =  Standard_True) 
92         ---Purpose: Performs the draft up to the surface Surface.
93         -- If KeepInsideSurface is true, the part of Surface inside
94         -- the draft is kept in the result.
95         
96   is  static; 
97    
98   Perform(me  :  in  out; 
99           StopShape  : Shape  from  TopoDS; 
100           KeepOutSide  :  Boolean  =  Standard_True) 
101         ---Purpose: Performs the draft up to the shape StopShape.
102         -- If KeepOutSide is true, the part of StopShape which is
103         -- outside the Draft is kept in the result.
104   is  static;   
105
106   Shell(me)   
107         ---Purpose: Returns the shell resulting from performance of the
108         -- draft along the wire.         
109   returns  Shell  from  TopoDS    
110   raises  NotDone; 
111         
112 --  Error(me) returns MakeDraftError from BRepBuilderAPI
113 --     ---Level: Public
114 --  is static;
115    
116   Generated (me: in out; S : Shape from TopoDS)
117         ---Purpose: Returns the  list   of shapes generated   from the
118         --          shape <S>. 
119         ---C++: return const & 
120         ---Level: Public
121   returns ListOfShape from TopTools
122   is redefined;     
123    
124 fields   
125   myDraft  :  Draft   from  BRepFill;
126   
127
128 end MakeDraft;