b311480e |
1 | -- Created on: 2004-07-14 |
2 | -- Created by: Sergey KUUL |
973c2be1 |
3 | -- Copyright (c) 2004-2014 OPEN CASCADE SAS |
b311480e |
4 | -- |
973c2be1 |
5 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
6 | -- |
d5f74e42 |
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 |
973c2be1 |
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. |
b311480e |
12 | -- |
973c2be1 |
13 | -- Alternatively, this file may be used under the terms of Open CASCADE |
14 | -- commercial license or contractual agreement. |
7fd59977 |
15 | |
16 | class SplitTool from ShapeFix |
17 | |
18 | ---Purpose: Tool for splitting and cutting edges; includes methods |
19 | -- used in OverlappingTool and IntersectionTool |
20 | |
21 | uses |
22 | |
23 | Face from TopoDS, |
24 | Edge from TopoDS, |
25 | Vertex from TopoDS, |
26 | ReShape from ShapeBuild, |
27 | SequenceOfShape from TopTools |
28 | |
29 | is |
30 | Create returns SplitTool from ShapeFix; |
31 | ---Purpose: Empty constructor |
32 | |
33 | SplitEdge(me; edge: Edge from TopoDS; |
34 | param: Real from Standard; |
35 | vert: Vertex from TopoDS; |
36 | face: Face from TopoDS; |
37 | newE1: in out Edge from TopoDS; |
38 | newE2: in out Edge from TopoDS; |
39 | tol3d, tol2d : Real from Standard) |
40 | returns Boolean from Standard; |
41 | ---Purpose: Split edge on two new edges using new vertex "vert" |
42 | -- and "param" - parameter for splitting |
43 | -- The "face" is necessary for pcurves and using TransferParameterProj |
44 | |
45 | SplitEdge (me; edge: Edge from TopoDS; |
46 | param1: Real from Standard; |
47 | param2: Real from Standard; |
48 | vert: Vertex from TopoDS; |
49 | face: Face from TopoDS; |
50 | newE1: in out Edge from TopoDS; |
51 | newE2: in out Edge from TopoDS; |
52 | tol3d, tol2d : Real from Standard) |
53 | returns Boolean from Standard; |
54 | ---Purpose: Split edge on two new edges using new vertex "vert" |
55 | -- and "param1" and "param2" - parameter for splitting and cutting |
56 | -- The "face" is necessary for pcurves and using TransferParameterProj |
57 | |
58 | CutEdge(me; edge: Edge from TopoDS; pend: Real from Standard; |
59 | cut: Real from Standard; face: Face from TopoDS; |
60 | iscutline: in out Boolean from Standard) |
61 | returns Boolean from Standard; |
62 | ---Purpose: Cut edge by parameters pend and cut |
63 | |
64 | SplitEdge(me; edge: Edge from TopoDS; fp: Real from Standard; |
65 | V1: Vertex from TopoDS; lp: Real from Standard; |
66 | V2: Vertex from TopoDS; face: Face from TopoDS; |
67 | SeqE: in out SequenceOfShape from TopTools; |
68 | aNum: in out Integer from Standard; |
69 | context: ReShape from ShapeBuild; |
70 | tol3d, tol2d : Real from Standard) |
71 | returns Boolean from Standard; |
72 | ---Purpose: Split edge on two new edges using two new vertex V1 and V2 |
73 | -- and two parameters for splitting - fp and lp correspondingly |
74 | -- The "face" is necessary for pcurves and using TransferParameterProj |
75 | -- aNum - number of edge in SeqE which corresponding to [fp,lp] |
76 | |
77 | |
78 | |
79 | end SplitTool; |