7fd59977 |
1 | -- File: ApproxInt_MultiLineTool.cdl |
2 | -- Created: Fri Mar 26 10:54:51 1993 |
3 | -- Author: Laurent BUCHARD |
4 | -- <lbr@topsn3> |
5 | ---Copyright: Matra Datavision 1993 |
6 | |
7 | generic class MultiLineTool from ApproxInt (TheMultiLine as any; |
8 | TheMultiMPoint as any) |
9 | |
10 | |
11 | uses |
12 | Status from Approx, |
13 | Array1OfPnt from TColgp, |
14 | Array1OfPnt2d from TColgp, |
15 | Array1OfVec from TColgp, |
16 | Array1OfVec2d from TColgp |
17 | |
18 | is |
19 | |
20 | |
21 | FirstPoint(myclass; ML: TheMultiLine) returns Integer; |
22 | ---C++:inline |
23 | ---Purpose: Returns the number of multipoints of the TheMultiLine. |
24 | |
25 | LastPoint(myclass; ML: TheMultiLine) returns Integer; |
26 | ---C++:inline |
27 | ---Purpose: Returns the number of multipoints of the TheMultiLine. |
28 | |
29 | NbP2d(myclass; ML: TheMultiLine) returns Integer; |
30 | ---C++:inline |
31 | ---Purpose: Returns the number of 2d points of a TheMultiLine. |
32 | |
33 | |
34 | NbP3d(myclass; ML: TheMultiLine) returns Integer; |
35 | ---C++:inline |
36 | ---Purpose: Returns the number of 3d points of a TheMultiLine. |
37 | |
38 | |
39 | Value(myclass; ML: TheMultiLine; MPointIndex: Integer; tabPt: out Array1OfPnt); |
40 | ---C++:inline |
41 | ---Purpose: returns the 3d points of the multipoint <MPointIndex> |
42 | -- when only 3d points exist. |
43 | |
44 | |
45 | Value(myclass; ML: TheMultiLine; MPointIndex: Integer; |
46 | tabPt2d: out Array1OfPnt2d from TColgp); |
47 | ---C++:inline |
48 | ---Purpose: returns the 2d points of the multipoint <MPointIndex> |
49 | -- when only 2d points exist. |
50 | |
51 | |
52 | Value(myclass; ML: TheMultiLine; MPointIndex: Integer; |
53 | tabPt: out Array1OfPnt from TColgp; tabPt2d: out Array1OfPnt2d); |
54 | ---C++:inline |
55 | ---Purpose: returns the 3d and 2d points of the multipoint |
56 | -- <MPointIndex>. |
57 | |
58 | Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer; tabV: out Array1OfVec from TColgp) |
59 | returns Boolean; |
60 | ---C++:inline |
61 | ---Purpose: returns the 3d points of the multipoint <MPointIndex> |
62 | -- when only 3d points exist. |
63 | |
64 | |
65 | Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer; |
66 | tabV2d: out Array1OfVec2d from TColgp) |
67 | returns Boolean; |
68 | ---C++:inline |
69 | ---Purpose: returns the 2d tangency points of the multipoint |
70 | -- <MPointIndex> only when 2d points exist. |
71 | |
72 | |
73 | Tangency(myclass; ML: TheMultiLine; MPointIndex: Integer; |
74 | tabV: out Array1OfVec from TColgp; tabV2d: out Array1OfVec2d from TColgp) |
75 | returns Boolean; |
76 | ---C++:inline |
77 | ---Purpose: returns the 3d and 2d points of the multipoint |
78 | -- <MPointIndex>. |
79 | |
80 | |
81 | --- methods not used but necessary |
82 | |
83 | |
84 | Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer; |
85 | tabV: out Array1OfVec from TColgp) |
86 | returns Boolean; |
87 | ---C++:inline |
88 | ---Purpose: returns the 3d curvature of the multipoint <MPointIndex> |
89 | -- when only 3d points exist. |
90 | |
91 | |
92 | Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer; |
93 | tabV2d: out Array1OfVec2d from TColgp) |
94 | returns Boolean; |
95 | ---C++:inline |
96 | ---Purpose: returns the 2d curvature points of the multipoint |
97 | -- <MPointIndex> only when 2d points exist. |
98 | |
99 | |
100 | Curvature(myclass; ML: TheMultiLine; MPointIndex: Integer; |
101 | tabV: out Array1OfVec from TColgp; |
102 | tabV2d: out Array1OfVec2d from TColgp) |
103 | returns Boolean; |
104 | ---C++:inline |
105 | ---Purpose: returns the 3d and 2d curvature of the multipoint |
106 | -- <MPointIndex>. |
107 | |
108 | |
109 | |
110 | MakeMLBetween(myclass; ML: TheMultiLine; I1, I2: Integer; |
111 | NbPMin: Integer) |
112 | returns TheMultiLine; |
113 | ---C++:inline |
114 | ---Purpose: Is called if WhatStatus returned "PointsAdded". |
115 | |
116 | WhatStatus(myclass; ML: TheMultiLine; I1, I2: Integer) |
117 | ---C++:inline |
118 | returns Status from Approx; |
119 | |
120 | end MultiLineTool; |
121 | |