0024023: Revamp the OCCT Handle -- general
[occt.git] / src / ShapeUpgrade / ShapeUpgrade_EdgeDivide.cdl
1 -- Created on: 2000-05-24
2 -- Created by: data exchange team
3 -- Copyright (c) 2000-2014 OPEN CASCADE SAS
4 --
5 -- This file is part of Open CASCADE Technology software library.
6 --
7 -- This library is free software; you can redistribute it and/or modify it under
8 -- the terms of the GNU Lesser General Public License version 2.1 as published
9 -- by the Free Software Foundation, with special exception defined in the file
10 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 -- distribution for complete text of the license and disclaimer of any warranty.
12 --
13 -- Alternatively, this file may be used under the terms of Open CASCADE
14 -- commercial license or contractual agreement.
15
16 class EdgeDivide from ShapeUpgrade inherits Tool from ShapeUpgrade
17
18         ---Purpose: 
19
20 uses
21
22     Edge from TopoDS,
23     Face from TopoDS,
24     HSequenceOfReal from TColStd,
25     SplitCurve3d from ShapeUpgrade,
26     SplitCurve2d from ShapeUpgrade
27
28 is
29
30     Create returns EdgeDivide from ShapeUpgrade;
31         ---Purpose: Empty constructor
32     
33     Clear (me: mutable);
34     
35     SetFace(me: mutable; F: Face from TopoDS);
36         ---C++: inline
37         ---Purpose: Sets supporting surface by face
38     
39     Compute(me: mutable; E: Edge from TopoDS) 
40     returns Boolean is virtual;
41     
42     HasCurve2d(me) returns Boolean;
43         ---C++: inline
44     
45     HasCurve3d(me) returns Boolean;
46         ---C++: inline
47     
48     Knots2d(me) returns HSequenceOfReal from TColStd;
49         ---C++: inline
50     
51     Knots3d(me) returns HSequenceOfReal from TColStd;
52         ---C++: inline
53     
54     SetSplitCurve2dTool(me: mutable; splitCurve2dTool: SplitCurve2d from ShapeUpgrade);
55         ---Purpose: Sets the tool for splitting pcurves.
56     
57     SetSplitCurve3dTool(me: mutable; splitCurve3dTool: SplitCurve3d from ShapeUpgrade);
58         ---Purpose: Sets the tool for splitting 3D curves.
59     
60     GetSplitCurve2dTool(me) returns SplitCurve2d from ShapeUpgrade
61     is virtual;
62         ---Purpose: Returns the tool for splitting pcurves.
63     
64     GetSplitCurve3dTool(me) returns SplitCurve3d from ShapeUpgrade
65     is virtual;
66         ---Purpose: Returns the tool for splitting 3D curves.
67         ---Remark: here TopoDS_Edge can be used to transfer some specific information (tolerance, etc)
68     
69 fields
70
71     myFace      : Face from TopoDS is protected;
72     myHasCurve2d: Boolean is protected;
73     myHasCurve3d: Boolean is protected;
74     myKnots2d   : HSequenceOfReal from TColStd is protected;
75     myKnots3d   : HSequenceOfReal from TColStd is protected;
76     
77     mySplitCurve3dTool: SplitCurve3d from ShapeUpgrade;
78     mySplitCurve2dTool: SplitCurve2d from ShapeUpgrade;
79
80 end EdgeDivide;