1 -- File: IntStart_SOBTool.cdl
2 -- Created: Tue May 4 18:13:35 1993
3 -- Author: Jacques GOUSSARD
5 ---Copyright: Matra Datavision 1993
8 deferred generic class SOBTool from IntStart
18 -- Methods for an arc of restrictition
20 HasBeenSeen(myclass; A: TheArc)
22 ---Purpose: Returns True if all the intersection point and edges
23 -- are known on the Arc.
25 returns Boolean from Standard;
27 -- The following methods are used when HasBeenSeen returns Standard_True
29 NbPoints(myclass; A: TheArc)
31 ---Purpose: Returns the number of intersection points on the arc A.
33 returns Integer from Standard;
36 Value(myclass; A: TheArc; Index: Integer from Standard;
37 Pt: out Pnt from gp; Tol: out Real from Standard;
38 U: out Real from Standard);
40 ---Purpose: Returns the value (Pt), the tolerance (Tol), and
41 -- the parameter (U) on the arc A , of the intersection
42 -- point of range Index.
45 IsVertex(myclass; A: TheArc; Index: Integer from Standard)
47 ---Purpose: Returns True if the intersection point of range Index
48 -- corresponds with a vertex on the arc A.
50 returns Boolean from Standard;
53 Vertex(myclass; A: TheArc; Index: Integer from Standard;
56 ---Purpose: When IsVertex returns True, this method returns the
57 -- vertex on the arc A.
60 NbSegments(myclass; A: TheArc)
62 ---Purpose: returns the number of part of A solution of the
63 -- of intersection problem.
65 returns Integer from Standard;
68 HasFirstPoint(myclass; A: TheArc; Index: Integer from Standard;
69 IndFirst: out Integer from Standard)
71 ---Purpose: Returns True when the segment of range Index is not
72 -- open at the left side. In that case, IndFirst is the
73 -- range in the list intersection points (see NbPoints)
74 -- of the one which defines the left bound of the segment.
75 -- Otherwise, the method has to return False, and IndFirst
78 returns Boolean from Standard;
81 HasLastPoint(myclass; A: TheArc; Index: Integer from Standard;
82 IndLast: out Integer from Standard)
84 ---Purpose: Returns True when the segment of range Index is not
85 -- open at the right side. In that case, IndLast is the
86 -- range in the list intersection points (see NbPoints)
87 -- of the one which defines the right bound of the segment.
88 -- Otherwise, the method has to return False, and IndLast
91 returns Boolean from Standard;
94 IsAllSolution(myclass; A: TheArc)
96 ---Purpose: Returns True when the whole restriction is solution
97 -- of the intersection problem.
99 returns Boolean from Standard;
103 -- The following methods are used when HasBeenSeen returns Standard_False
105 NbSamplesOnArc(myclass; A: TheArc)
107 ---Purpose: returns the number of points which is used to make
108 -- a sample on the arc. this number is a function of
109 -- the Surface and the CurveOnSurface complexity.
111 returns Integer from Standard;
114 Bounds(myclass; A: TheArc; Ufirst,Ulast: out Real from Standard);
116 ---Purpose: Returns the parametric limits on the arc A.
117 -- These limits must be finite : they are either
118 -- the real limits of the arc, for a finite arc,
119 -- or a bounding box for an infinite arc.
122 Parameter(myclass; V: TheVertex; A: TheArc)
124 ---Purpose: Returns the parameter of the vertex V on the arc A.
126 returns Real from Standard;
129 Tolerance(myclass; V: TheVertex; A: TheArc)
131 ---Purpose: Returns the parametric tolerance on the arc used
132 -- to consider that the vertex and another point meet,
133 -- i-e if the difference between the parameter of the
134 -- Vertex and the parameter of the other point is less
135 -- than Tolerance, the point are "merged".
137 returns Real from Standard;