1 -- Created on: 2000-11-23
2 -- Created by: Michael KLOKOV
3 -- Copyright (c) 2000-2012 OPEN CASCADE SAS
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
21 class FaceFace from IntTools
23 ---Purpose: This class provides the intersection of
24 --- face's underlying surfaces.
28 TopolTool from Adaptor3d,
29 HSurface from GeomAdaptor,
30 ListOfPntOn2S from IntSurf ,
31 Intersection from IntPatch,
33 SequenceOfCurves from IntTools,
34 LineConstructor from IntTools,
35 SequenceOfPntOn2Faces from IntTools,
40 raises NotDone from StdFail
44 returns FaceFace from IntTools;
46 --- Empty constructor.
50 SetParameters(me: in out;
51 ApproxCurves : Boolean from Standard;
52 ComputeCurveOnS1: Boolean from Standard;
53 ComputeCurveOnS2: Boolean from Standard;
54 ApproximationTolerance: Real from Standard);
61 F2: Face from TopoDS);
63 --- Intersects underliing surfaces of F1 and F2
64 --- Use sum of tolerance of F1 and F2 as intersection
69 returns Boolean from Standard;
71 --- Returns True if the intersection was successful
75 returns SequenceOfCurves from IntTools;
78 --- Returns sequence of 3d curves as result of intersection
82 returns SequenceOfPntOn2Faces from IntTools;
85 --- Returns sequence of 3d curves as result of intersection
89 returns Real from Standard;
91 --- Returns tolerance reached during approximation.
92 --- If approximation was not done, returns zero.
96 returns Real from Standard;
98 --- Returns tolerance reached during approximation.
99 --- If approximation was not done, returns zero.
103 returns Face from TopoDS;
104 ---C++: return const&
106 --- Returns first of processed faces
110 returns Face from TopoDS;
111 ---C++: return const&
113 --- Returns second of processed faces
117 returns Boolean from Standard;
119 --- Returns True if faces are tangent
121 PrepareLines3D (me:out;
122 bToSplit: Boolean from Standard=Standard_True);
124 --- Provides post-processing the result lines.
125 --- <bToSplit> - the flag.
126 -- In case of <bToSplit> is true the closed 3D-curves will be splitted
128 -- In case of <bToSplit> is false the closed 3D-curves remain untouched.
131 ListOfPnts: in out ListOfPntOn2S from IntSurf);
133 ----------------------------------------------------------
135 ----------------------------------------------------------
136 MakeCurve(me: in out; Index : Integer from Standard;
137 D1 : TopolTool from Adaptor3d;
138 D2 : TopolTool from Adaptor3d)
141 ComputeTolReached3d(me:out)
145 aContext : Context from BOPInt);
147 --- Sets the intersecton context
150 returns Context from BOPInt;
151 ---C++: return const &
153 --- Gets the intersecton context
157 myIsDone : Boolean from Standard;
158 myIntersector : Intersection from IntPatch;
159 myLConstruct : LineConstructor from IntTools;
160 myHS1 : HSurface from GeomAdaptor;
161 myHS2 : HSurface from GeomAdaptor;
162 myNbrestr : Integer from Standard;
164 myTolReached2d : Real from Standard;
165 myTolReached3d : Real from Standard;
167 myApprox : Boolean from Standard;
168 myApprox1 : Boolean from Standard;
169 myApprox2 : Boolean from Standard;
170 myTolApprox : Real from Standard;
172 mySeqOfCurve : SequenceOfCurves from IntTools;
174 myTangentFaces: Boolean from Standard;
175 myFace1 : Face from TopoDS;
176 myFace2 : Face from TopoDS;
177 myPnts : SequenceOfPntOn2Faces from IntTools;
179 myListOfPnts : ListOfPntOn2S from IntSurf;
181 myContext : Context from BOPInt;
183 end FaceFace from IntTools;