b311480e |
1 | -- Created on: 1995-02-07 |
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 | |
17 | class LineConstructor from IntTools |
18 | |
19 | ---Purpose: Splits given Line. |
20 | |
21 | uses Line from IntPatch, |
22 | TopolTool from Adaptor3d, |
23 | HSurface from GeomAdaptor, |
24 | SequenceOfReal from TColStd |
25 | |
26 | |
27 | raises NotDone from StdFail, |
28 | OutOfRange from Standard |
29 | |
30 | is |
31 | |
32 | Create |
33 | returns LineConstructor from IntTools; |
34 | ---C++: inline |
35 | ---Purpose: |
36 | --- Empty constructor |
37 | --- |
38 | |
39 | Load(me: in out; D1,D2: TopolTool from Adaptor3d; |
40 | S1,S2: HSurface from GeomAdaptor) |
41 | is static; |
42 | ---C++: inline |
43 | ---Purpose: |
44 | --- Initializes me by two surfaces and corresponding |
45 | --- tools which represent boundaries of surfaces |
46 | --- |
47 | |
48 | Perform(me: in out; L: Line from IntPatch) |
49 | is static; |
50 | ---Purpose: |
51 | --- Splits line |
52 | --- |
53 | |
54 | IsDone(me) |
55 | returns Boolean from Standard |
56 | is static; |
57 | ---C++: inline |
58 | ---Purpose: |
59 | --- Returns True if splitting was successful |
60 | --- |
61 | |
62 | NbParts(me) |
63 | returns Integer from Standard |
64 | raises NotDone from StdFail |
65 | is static; |
66 | ---C++: inline |
67 | ---Purpose: |
68 | --- Returns number of splits |
69 | --- |
70 | |
71 | Part(me; I: Integer from Standard; WFirst,WLast: out Real from Standard) |
72 | raises NotDone from StdFail, |
73 | OutOfRange from Standard |
74 | is static; |
75 | ---C++: inline |
76 | ---Purpose: |
77 | --- Return first and last parameters |
78 | --- for given index of split |
79 | --- |
80 | |
fa0291ff |
81 | ---PeriodicLine(me; L: Line from IntPatch) |
82 | --- is protected; |
83 | |
84 | TreatCircle(me:out; |
85 | aLine : Line from IntPatch; |
86 | aTol: Real from Standard) |
87 | is protected; |
88 | |
7fd59977 |
89 | fields |
90 | |
91 | done : Boolean from Standard; |
92 | seqp : SequenceOfReal from TColStd; |
93 | myDom1: TopolTool from Adaptor3d; |
94 | myDom2: TopolTool from Adaptor3d; |
fa0291ff |
95 | myHS1 : HSurface from GeomAdaptor; |
96 | myHS2 : HSurface from GeomAdaptor; |
7fd59977 |
97 | |
98 | end LineConstructor; |