1 -- Created on: 1992-05-07
2 -- Created by: Jacques GOUSSARD
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class ImpImpIntersection from IntPatch
19 ---Purpose: Implementation of the intersection between two
20 -- quadric patches : Plane, Cone, Cylinder or Sphere.
23 uses HSurface from Adaptor3d,
24 TopolTool from Adaptor3d,
26 SequenceOfPoint from IntPatch,
27 TheSOnBounds from IntPatch,
28 SequenceOfLine from IntPatch,
32 raises NotDone from StdFail,
33 OutOfRange from Standard,
34 DomainError from Standard,
35 ConstructionError from Standard
42 returns ImpImpIntersection from IntPatch;
45 Create (S1: HSurface from Adaptor3d; D1: TopolTool from Adaptor3d;
46 S2: HSurface from Adaptor3d; D2: TopolTool from Adaptor3d;
47 TolArc,TolTang: Real from Standard)
49 returns ImpImpIntersection from IntPatch
51 raises ConstructionError from Standard;
55 S1: HSurface from Adaptor3d; D1: TopolTool from Adaptor3d;
56 S2: HSurface from Adaptor3d; D2: TopolTool from Adaptor3d;
57 TolArc,TolTang: Real from Standard;
58 isTheTrimmed: Boolean from Standard = Standard_False)
60 raises ConstructionError from Standard
67 ---Purpose: Returns True if the calculus was succesfull.
69 returns Boolean from Standard
77 ---Purpose: Returns true if the is no intersection.
79 returns Boolean from Standard
82 raises NotDone from StdFail
89 ---Purpose: Returns True if the two patches are considered as
90 -- entierly tangent, i-e every restriction arc of one
91 -- patch is inside the geometric base of the otehr patch.
93 returns Boolean from Standard
96 raises NotDone from StdFail
103 ---Purpose: Returns True when the TangentFaces returns True and the
104 -- normal vectors evaluated at a point on the first and the
105 -- second surface are opposite.
106 -- The exception DomainError is raised if TangentFaces
109 returns Boolean from Standard
112 raises NotDone from StdFail,
113 DomainError from Standard
120 ---Purpose: Returns the number of "single" points.
122 returns Integer from Standard
125 raises NotDone from StdFail
130 Point(me; Index: Integer from Standard)
132 ---Purpose: Returns the point of range Index.
133 -- An exception is raised if Index<=0 or Index>NbPnt.
135 returns Point from IntPatch
136 ---C++: return const&
139 raises NotDone from StdFail,
140 OutOfRange from Standard
147 ---Purpose: Returns the number of intersection lines.
149 returns Integer from Standard
152 raises NotDone from StdFail
157 Line(me; Index: Integer from Standard)
159 ---Purpose: Returns the line of range Index.
160 -- An exception is raised if Index<=0 or Index>NbLine.
162 returns Line from IntPatch
164 ---C++: return const&
166 raises NotDone from StdFail,
167 OutOfRange from Standard
174 done : Boolean from Standard;
175 empt : Boolean from Standard;
176 tgte : Boolean from Standard;
177 oppo : Boolean from Standard;
178 spnt : SequenceOfPoint from IntPatch;
179 slin : SequenceOfLine from IntPatch;
180 solrst : TheSOnBounds from IntPatch;
182 end ImpImpIntersection;