Commit | Line | Data |
---|---|---|
b311480e | 1 | -- Created on: 2000-11-23 |
2 | -- Created by: Michael KLOKOV | |
973c2be1 | 3 | -- Copyright (c) 2000-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 FaceFace from IntTools | |
17 | ||
18 | ---Purpose: This class provides the intersection of | |
19 | --- face's underlying surfaces. | |
20 | ||
4f189102 | 21 | uses |
7fd59977 | 22 | |
788cbaf4 | 23 | TopolTool from Adaptor3d, |
24 | HSurface from GeomAdaptor, | |
25 | ListOfPntOn2S from IntSurf , | |
26 | Intersection from IntPatch, | |
27 | Face from TopoDS, | |
28 | SequenceOfCurves from IntTools, | |
29 | LineConstructor from IntTools, | |
4f189102 | 30 | SequenceOfPntOn2Faces from IntTools, |
4e57c75e | 31 | Context from BOPInt |
4f189102 P |
32 | |
33 | ||
7fd59977 | 34 | |
35 | raises NotDone from StdFail | |
36 | is | |
37 | ||
38 | Create | |
4f189102 | 39 | returns FaceFace from IntTools; |
7fd59977 | 40 | ---Purpose: |
41 | --- Empty constructor. | |
42 | --- | |
43 | ||
44 | ||
45 | SetParameters(me: in out; | |
46 | ApproxCurves : Boolean from Standard; | |
47 | ComputeCurveOnS1: Boolean from Standard; | |
48 | ComputeCurveOnS2: Boolean from Standard; | |
49 | ApproximationTolerance: Real from Standard); | |
50 | ---Purpose: | |
51 | --- Modifier | |
52 | --- | |
53 | ||
54 | Perform(me: in out; | |
55 | F1: Face from TopoDS; | |
56 | F2: Face from TopoDS); | |
57 | ---Purpose: | |
58 | --- Intersects underliing surfaces of F1 and F2 | |
59 | --- Use sum of tolerance of F1 and F2 as intersection | |
60 | --- criteria | |
61 | --- | |
62 | ||
63 | IsDone(me) | |
64 | returns Boolean from Standard; | |
65 | ---Purpose: | |
66 | --- Returns True if the intersection was successful | |
67 | --- | |
68 | ||
69 | Lines(me) | |
70 | returns SequenceOfCurves from IntTools; | |
71 | ---C++: return const& | |
72 | ---Purpose: | |
73 | --- Returns sequence of 3d curves as result of intersection | |
74 | --- | |
75 | ||
76 | Points(me) | |
77 | returns SequenceOfPntOn2Faces from IntTools; | |
78 | ---C++: return const& | |
79 | ---Purpose: | |
80 | --- Returns sequence of 3d curves as result of intersection | |
81 | --- | |
82 | ||
83 | TolReached3d(me) | |
84 | returns Real from Standard; | |
85 | ---Purpose: | |
86 | --- Returns tolerance reached during approximation. | |
87 | --- If approximation was not done, returns zero. | |
88 | --- | |
89 | ||
90 | TolReached2d(me) | |
91 | returns Real from Standard; | |
92 | ---Purpose: | |
93 | --- Returns tolerance reached during approximation. | |
94 | --- If approximation was not done, returns zero. | |
95 | --- | |
96 | ||
97 | Face1 (me) | |
98 | returns Face from TopoDS; | |
99 | ---C++: return const& | |
100 | ---Purpose: | |
101 | --- Returns first of processed faces | |
102 | --- | |
103 | ||
104 | Face2 (me) | |
105 | returns Face from TopoDS; | |
106 | ---C++: return const& | |
107 | ---Purpose: | |
108 | --- Returns second of processed faces | |
109 | --- | |
110 | ||
111 | TangentFaces (me) | |
112 | returns Boolean from Standard; | |
113 | ---Purpose: | |
114 | --- Returns True if faces are tangent | |
a9f7b6b5 | 115 | --- |
a9f7b6b5 P |
116 | PrepareLines3D (me:out; |
117 | bToSplit: Boolean from Standard=Standard_True); | |
7fd59977 | 118 | ---Purpose: |
a9f7b6b5 P |
119 | --- Provides post-processing the result lines. |
120 | --- <bToSplit> - the flag. | |
121 | -- In case of <bToSplit> is true the closed 3D-curves will be splitted | |
122 | -- on parts. | |
123 | -- In case of <bToSplit> is false the closed 3D-curves remain untouched. | |
124 | ||
4f189102 P |
125 | SetList (me: in out; |
126 | ListOfPnts: in out ListOfPntOn2S from IntSurf); | |
7fd59977 | 127 | |
128 | ---------------------------------------------------------- | |
129 | -- private block | |
130 | ---------------------------------------------------------- | |
131 | MakeCurve(me: in out; Index : Integer from Standard; | |
132 | D1 : TopolTool from Adaptor3d; | |
133 | D2 : TopolTool from Adaptor3d) | |
134 | is protected; | |
135 | ||
7fd59977 | 136 | ComputeTolReached3d(me:out) |
137 | is protected; | |
4f189102 P |
138 | |
139 | SetContext(me:out; | |
4e57c75e | 140 | aContext : Context from BOPInt); |
4f189102 P |
141 | ---Purpose: |
142 | --- Sets the intersecton context | |
143 | ||
144 | Context(me) | |
4e57c75e | 145 | returns Context from BOPInt; |
4f189102 P |
146 | ---C++: return const & |
147 | ---Purpose: | |
148 | --- Gets the intersecton context | |
149 | --- | |
7fd59977 | 150 | fields |
151 | ||
152 | myIsDone : Boolean from Standard; | |
153 | myIntersector : Intersection from IntPatch; | |
154 | myLConstruct : LineConstructor from IntTools; | |
155 | myHS1 : HSurface from GeomAdaptor; | |
156 | myHS2 : HSurface from GeomAdaptor; | |
157 | myNbrestr : Integer from Standard; | |
158 | ||
159 | myTolReached2d : Real from Standard; | |
160 | myTolReached3d : Real from Standard; | |
161 | ||
162 | myApprox : Boolean from Standard; | |
163 | myApprox1 : Boolean from Standard; | |
164 | myApprox2 : Boolean from Standard; | |
165 | myTolApprox : Real from Standard; | |
166 | ||
167 | mySeqOfCurve : SequenceOfCurves from IntTools; | |
168 | ||
169 | myTangentFaces: Boolean from Standard; | |
170 | myFace1 : Face from TopoDS; | |
171 | myFace2 : Face from TopoDS; | |
172 | myPnts : SequenceOfPntOn2Faces from IntTools; | |
173 | ||
4f189102 P |
174 | myListOfPnts : ListOfPntOn2S from IntSurf; |
175 | ||
4e57c75e | 176 | myContext : Context from BOPInt; |
7fd59977 | 177 | |
178 | end FaceFace from IntTools; | |
179 |