7fd59977 |
1 | -- File: MAT_Tool.cdl |
2 | -- Created: Wed Sep 23 16:38:49 1992 |
3 | -- Author: Gilles DEBARBOUILLE |
4 | -- <gde@bravox> |
5 | ---Copyright: Matra Datavision 1992 |
6 | |
7 | generic class Tool from MAT (Item as any) |
8 | |
9 | |
10 | --- Purpose : Set of the methods useful for the MAT's computation. |
11 | -- Warning : To use the algorithm MAT, it's necessary to use four |
12 | -- indexed sets (Array,Sequence ...) |
13 | -- One set contains the geometric definitions of |
14 | -- the simple composants of the Figure. |
15 | -- An other set contains the geometric definitions of |
16 | -- the bisectors. |
17 | -- An other set contains the geometric definitions of |
18 | -- the points created during the MAT's computation. |
19 | -- An other set contains the geometric definitions of |
20 | -- the Tangent Vectors to the edge's extremitis. |
21 | -- |
22 | uses |
23 | Bisector from MAT |
24 | |
25 | is |
26 | |
27 | Create returns Tool from MAT; |
28 | |
29 | NumberOfItems(me) returns Integer |
30 | --- Purpose : Returns the Number of Items . |
31 | is static; |
32 | |
33 | ToleranceOfConfusion(me) returns Real |
34 | ---Purpose: Returns tolerance to test the confusion of two points. |
35 | is static; |
36 | |
37 | FirstPoint(me ; anitem : Integer; |
38 | dist : out Real ) returns Integer |
39 | --- Purpose : Creates the point at the origin of the bisector between |
40 | -- anitem and the previous item. |
41 | -- dist is the distance from the FirstPoint to <anitem>. |
42 | -- Returns an index. |
43 | is static; |
44 | |
45 | TangentBefore(me ; anitem : Integer) returns Integer |
46 | --- Purpose : Create the Tangent at the end of the Item defined |
47 | -- by <anitem>. Returns the index of this vector in |
48 | -- <theGeomVecs> |
49 | is static; |
50 | |
51 | TangentAfter(me ; anitem : Integer) returns Integer |
52 | --- Purpose : Create the Reversed Tangent at the origin of the Item |
53 | -- defined by <anitem>. Returns the index of this vector in |
54 | -- <theGeomVecs> |
55 | is static; |
56 | |
57 | Tangent(me ; bisector : Integer ) returns Integer |
58 | --- Purpose : Create the Tangent at the end of the bisector defined |
59 | -- by <bisector>. Returns the index of this vector in |
60 | -- <theGeomVecs> |
61 | is static; |
62 | |
63 | CreateBisector(me : in out ; abisector : mutable Bisector from MAT) |
64 | --- Purpose : Create the geometric bisector defined by <abisector>. |
65 | is static; |
66 | |
67 | TrimBisector(me : in out ; |
68 | abisector : mutable Bisector from MAT) |
69 | --- Purpose : Trim the geometric bisector by the <firstparameter> |
70 | -- of <abisector>. |
71 | -- If the parameter is out of the bisector, Return False. |
72 | -- else Return True. |
73 | returns Boolean is static; |
74 | |
75 | TrimBisector(me : in out ; |
76 | abisector : mutable Bisector from MAT ; |
77 | apoint : Integer) |
78 | --- Purpose : Trim the geometric bisector by the point of index |
79 | -- <apoint> in <theGeomPnts>. |
80 | -- If the point is out of the bisector, Return False |
81 | -- else Return True. |
82 | returns Boolean is static; |
83 | |
84 | IntersectBisector(me : in out ; |
85 | bisectorone : mutable Bisector from MAT ; |
86 | bisectortwo : mutable Bisector from MAT ; |
87 | intpnt : in out Integer) |
88 | --- Purpose : Computes the point of intesection between the |
89 | -- bisectors defined by <bisectorone> and |
90 | -- <bisectortwo> . |
91 | -- If this point exists, <intpnt> is its index |
92 | -- in <theGeomPnts> and Return the distance of the point |
93 | -- from the edges separated by the bisectors else |
94 | -- Returns <RealLast>. |
95 | returns Real is static; |
96 | |
97 | Distance(me; |
98 | abisector : Bisector from MAT; |
99 | param1 : Real; |
100 | param2 : Real) |
101 | ---Purpose: Returns the distance between the two points designed |
102 | -- by their parameters on <abisector>. |
103 | returns Real is static; |
104 | |
105 | Dump(me ; |
106 | bisector : Integer ; |
107 | erease : Integer) |
108 | --- Purpose : display informations about the bisector defined by |
109 | -- <bisector>. |
110 | is static; |
111 | |
112 | end Tool; |
113 | |
114 | |
115 | |
116 | |