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