0024972: Problem of the influence of the includes order during compilation
[occt.git] / src / IntTools / IntTools_FaceFace.cdl
CommitLineData
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
16class FaceFace from IntTools
17
1e143abb 18 ---Purpose: This class provides the intersection of
19 --- face's underlying surfaces.
7fd59977 20
4f189102 21uses
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
35raises NotDone from StdFail
36is
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 147fields
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
175end FaceFace from IntTools;
176