0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepIntCurveSurface / BRepIntCurveSurface_Inter.cdl
CommitLineData
b311480e 1-- Created on: 1994-02-07
2-- Created by: Modelistation
3-- Copyright (c) 1994-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class Inter from BRepIntCurveSurface
18
004e8466 19 ---Purpose: Computes the intersection between a face and a
20 -- curve. To intersect one curve with shape method
21 -- Init(Shape, curve, tTol) should be used. To
22 -- intersect a few curves with specified shape it is
23 -- necessary to load shape one time using method
24 -- Load(shape, tol) and find intersection points for
25 -- each curve using method Init(curve). For
26 -- iteration by intersection points method More() and
27 -- Next() should be used.
7fd59977 28 --
004e8466 29 --- Example:
30 --- Inter.Load(shape, tol);
31 --- for( i =1; i <= nbCurves;i++)
32 --- {
33 --- Inter.Init(curve);
34 --- for( ;Inter.More(); Inter.Next())
35 --- {
36 --- .......
37 --- }
38 --- }
7fd59977 39
40uses
41--modified by NIZNHY-PKV Sun Dec 15 16:52:33 2002 f
42 TopolTool from BRepTopAdaptor,
43 HSurface from BRepAdaptor,
44--modified by NIZNHY-PKV Sun Dec 15 16:52:34 2002 t
45 Shape from TopoDS,
46 FaceClassifier from BRepClass,
47 State from TopAbs,
48 Explorer from TopExp,
49 IntersectionPoint from IntCurveSurface,
50 HInter from IntCurveSurface,
51 Curve from GeomAdaptor,
52 Lin from gp,
53 Pnt from gp,
54 TransitionOnCurve from IntCurveSurface,
004e8466 55 Face from TopoDS,
56 Box from Bnd,
57 SequenceOfShape from TopTools,
58 HArray1OfBox from Bnd,
59 HCurve from GeomAdaptor
7fd59977 60
61
62raises
63 NotDone from StdFail
64
65
66is
67
68 Create returns Inter from BRepIntCurveSurface;
69 --- Purpose: Empty constructor;
70
71 Init(me : in out;
004e8466 72 theShape : Shape from TopoDS;
73 theCurve : Curve from GeomAdaptor;
74 theTol: Real from Standard);
7fd59977 75
76 --- Purpose: Load the Shape, the curve and initialize the
77 -- tolerance used for the classification.
004e8466 78
7fd59977 79
80 Init(me : in out;
004e8466 81 theShape : Shape from TopoDS;
82 theLine : Lin from gp;
83 theTol: Real from Standard);
7fd59977 84
85 --- Purpose: Load the Shape, the curve and initialize the
86 -- tolerance used for the classification.
004e8466 87
7fd59977 88
004e8466 89 Load(me : in out; theShape : Shape from TopoDS; theTol: Real from Standard);
90 --- Purpose: Load the Shape, and initialize the
91 -- tolerance used for the classification.
92
93 Init(me : in out; theCurve : Curve from GeomAdaptor);
94 --- Purpose: Method to find intersections of specified curve with loaded shape.
95
7fd59977 96
004e8466 97 More(me) returns Boolean from Standard;
98 --- Purpose: returns True if there is a current face.
99
7fd59977 100
004e8466 101 Next(me: in out);
102 --- Purpose: Sets the next intersection point to check.
103
7fd59977 104
004e8466 105 Find(me: in out) is protected;
7fd59977 106 ---Purpose: Internal function
7fd59977 107
7fd59977 108
004e8466 109 Point(me) returns IntersectionPoint from IntCurveSurface
110 ---Purpose: returns the current Intersection point.
111 raises NotDone from StdFail;
112
113
114 Pnt(me) returns Pnt from gp
7fd59977 115 ---Purpose: returns the current geometric Point
116 ---C++: return const &
004e8466 117 raises NotDone from StdFail;
118
7fd59977 119
120
004e8466 121 U(me) returns Real from Standard
7fd59977 122 ---Purpose: returns the U parameter of the current point
123 -- on the current face.
004e8466 124 raises NotDone from StdFail;
125
7fd59977 126
004e8466 127 V(me) returns Real from Standard
7fd59977 128 ---Purpose: returns the V parameter of the current point
129 -- on the current face.
004e8466 130 raises NotDone from StdFail;
131
7fd59977 132
004e8466 133 W(me) returns Real from Standard
7fd59977 134 ---Purpose: returns the parameter of the current point
135 -- on the curve.
004e8466 136 raises NotDone from StdFail;
7fd59977 137
7fd59977 138
004e8466 139 State(me) returns State from TopAbs
140 ---Purpose: returns the current state (IN or ON)
141 raises NotDone from StdFail;
7fd59977 142
004e8466 143
144 Transition(me) returns TransitionOnCurve from IntCurveSurface
7fd59977 145 ---Purpose: returns the transition of the line on the surface (IN or OUT or UNKNOWN)
004e8466 146 raises NotDone from StdFail;
7fd59977 147
004e8466 148
149 Face(me) returns Face from TopoDS;
7fd59977 150 ---Purpose: returns the current face.
004e8466 151 ---C++: return const &
152
153 FindPoint(me : in out) returns Boolean from Standard is protected;
154 ---Purpose: Method chec found intersection point
7fd59977 155
004e8466 156 Clear(me : in out) is protected;
157 ---Purpose: Method to clear fields of class
7fd59977 158
159fields
160
004e8466 161 myTolerance : Real from Standard;
162 myCurve : HCurve from GeomAdaptor;
163
164 myIntcs : HInter from IntCurveSurface;
7fd59977 165
004e8466 166 myCurrentindex : Integer from Standard;
167 myCurrentnbpoints: Integer from Standard;
168 myFastClass : TopolTool from BRepTopAdaptor;
7fd59977 169
004e8466 170 myCurrentstate : State from TopAbs;
171 myCurrentU : Real from Standard;
172 myCurrentV : Real from Standard;
173 myCurveBox : Box from Bnd;
174 myIndFace : Integer from Standard;
175 myFaces : SequenceOfShape from TopTools;
176 myFaceBoxes : HArray1OfBox from Bnd;
177
7fd59977 178end Inter from BRepIntCurveSurface;