7fd59977 |
1 | -- File: IntConicCurveGen.cdl |
2 | -- Created: Thu May 21 14:14:00 1992 |
3 | -- Author: Jacques GOUSSARD |
4 | -- <jag@sdsun1> |
5 | ---Copyright: Matra Datavision 1992 |
6 | |
7 | |
8 | generic class IntConicCurveGen from IntCurve ( |
9 | TheImpTool as any; -- as ImpTool from IntImpParGen |
10 | ThePCurve as any; |
11 | ThePCurveTool as any; -- as ParTool from IntImpParGen(ThePCurve) |
12 | TheProjPCur as any) -- as ProjPCurGen(TheCurve,TheCurveTool) |
13 | |
14 | inherits Intersection from IntRes2d |
15 | |
16 | |
17 | ---Purpose: Generic algorithm to intersect a conic from gp and |
18 | -- a parametric curve. This class uses the class |
19 | -- IConicTool from IntCurve, and Domain from |
20 | -- IntCurve. The template class for the PCurveTool |
21 | -- is given in the package IntImpParGen (ParTool). |
22 | -- The methods used to know the result of the |
23 | -- intersection are inherited from the class |
24 | -- Intersection from IntRes2d. |
25 | -- |
26 | -- This algorithm is called from the IntCurveCurveGen |
27 | -- class. |
28 | |
29 | ---Level: Internal |
30 | |
31 | uses IConicTool from IntCurve, |
32 | Lin2d from gp, |
33 | Circ2d from gp, |
34 | Elips2d from gp, |
35 | Parab2d from gp, |
36 | Hypr2d from gp, |
37 | Domain from IntRes2d |
38 | |
39 | |
40 | |
41 | class TheIntersector instantiates Intersector from IntImpParGen( |
42 | TheImpTool, |
43 | ThePCurve, |
44 | ThePCurveTool, |
45 | TheProjPCur); |
46 | |
47 | is |
48 | |
49 | Create |
50 | |
51 | ---Purpose: Empty constructor. |
52 | |
53 | returns IntConicCurveGen from IntCurve; |
54 | ---C++:inline |
55 | |
56 | |
57 | Create (L: Lin2d from gp; D1: Domain from IntRes2d; |
58 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
59 | TolConf,Tol: Real from Standard) |
60 | |
61 | ---Purpose: Intersection between a line and a parametric curve. |
62 | |
63 | returns IntConicCurveGen from IntCurve; |
64 | ---C++:inline |
65 | |
66 | |
67 | Create (C: Circ2d from gp; D1: Domain from IntRes2d; |
68 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
69 | TolConf,Tol: Real from Standard) |
70 | |
71 | ---Purpose: Intersection between a line and a parametric curve. |
72 | |
73 | returns IntConicCurveGen from IntCurve; |
74 | |
75 | |
76 | |
77 | Create (E: Elips2d from gp; D1: Domain from IntRes2d; |
78 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
79 | TolConf,Tol: Real from Standard) |
80 | |
81 | ---Purpose: Intersection between an ellipse and a parametric curve. |
82 | |
83 | returns IntConicCurveGen from IntCurve; |
84 | |
85 | |
86 | |
87 | Create (Prb: Parab2d from gp; D1: Domain from IntRes2d; |
88 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
89 | TolConf,Tol: Real from Standard) |
90 | |
91 | ---Purpose: Intersection between a parabola and a parametric curve. |
92 | |
93 | returns IntConicCurveGen from IntCurve; |
94 | |
95 | |
96 | |
97 | Create (H: Hypr2d from gp; D1: Domain from IntRes2d; |
98 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
99 | TolConf,Tol: Real from Standard) |
100 | |
101 | ---Purpose: Intersection between the main branch of an hyperbola |
102 | -- and a parametric curve. |
103 | |
104 | returns IntConicCurveGen from IntCurve; |
105 | |
106 | |
107 | |
108 | Perform (me: in out; |
109 | L: Lin2d from gp; D1: Domain from IntRes2d; |
110 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
111 | TolConf,Tol: Real from Standard) |
112 | |
113 | ---Purpose: Intersection between a line and a parametric curve. |
114 | ---C++:inline |
115 | |
116 | is static; |
117 | |
118 | |
119 | Perform (me: in out; |
120 | C: Circ2d from gp; D1: Domain from IntRes2d; |
121 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
122 | TolConf,Tol: Real from Standard) |
123 | |
124 | ---Purpose: Intersection between a line and a parametric curve. |
125 | ---C++:inline |
126 | |
127 | is static; |
128 | |
129 | |
130 | Perform (me: in out; |
131 | E: Elips2d from gp; D1: Domain from IntRes2d; |
132 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
133 | TolConf,Tol: Real from Standard) |
134 | ---C++: inline |
135 | ---Purpose: Intersection between an ellipse and a parametric curve. |
136 | |
137 | is static; |
138 | |
139 | |
140 | Perform (me: in out; |
141 | Prb: Parab2d from gp; D1: Domain from IntRes2d; |
142 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
143 | TolConf,Tol: Real from Standard) |
144 | ---C++: inline |
145 | ---Purpose: Intersection between a parabola and a parametric curve. |
146 | |
147 | is static; |
148 | |
149 | |
150 | Perform (me: in out; |
151 | H: Hypr2d from gp; D1: Domain from IntRes2d; |
152 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
153 | TolConf,Tol: Real from Standard) |
154 | |
155 | ---Purpose: Intersection between the main branch of an hyperbola |
156 | -- and a parametric curve. |
157 | ---C++: inline |
158 | |
159 | is static; |
160 | |
161 | |
162 | Perform (me: in out; |
163 | ICurve: IConicTool from IntCurve; D1: Domain from IntRes2d; |
164 | PCurve: ThePCurve; D2: Domain from IntRes2d; |
165 | TolConf,Tol: Real from Standard) |
166 | ---C++:inline |
167 | ---Purpose: Intersection between a conic fom gp |
168 | -- and a parametric curve. |
169 | |
170 | is static private; |
171 | |
172 | |
173 | end IntConicCurveGen; |
174 | |