7fd59977 |
1 | -- File: MeshDS_Link.cdl |
2 | -- Created: Thu Apr 29 11:23:38 1993 |
3 | -- Author: Didier PIFFAULT |
4 | -- <dpf@phylox> |
5 | ---Copyright: Matra Datavision 1993 |
6 | |
7 | |
8 | deferred generic class Link from MeshDS (dummyarg as any) |
9 | |
10 | ---Purpose: Describes the necessary services of a Link for a |
11 | -- mesh data structure. |
12 | |
13 | |
14 | uses Integer from Standard, |
15 | Boolean from Standard, |
16 | DegreeOfFreedom from MeshDS |
17 | |
18 | |
19 | is Initialize (node1, node2 : Integer from Standard; |
20 | canMove : DegreeOfFreedom from MeshDS); |
21 | ---Purpose: Contructs a Link beetween to vertices. |
22 | |
23 | |
24 | |
25 | FirstNode (me) |
26 | ---Purpose: Give the index of first node of the Link. |
27 | returns Integer from Standard; |
28 | |
29 | LastNode (me) |
30 | ---Purpose: Give the index of Last node of the Link. |
31 | returns Integer from Standard; |
32 | |
33 | Movability (me) |
34 | returns DegreeOfFreedom from MeshDS; |
35 | |
36 | SetMovability (me : in out; |
37 | canMove : DegreeOfFreedom from MeshDS); |
38 | |
39 | SameOrientation(me; Other : Link from MeshDS) |
40 | returns Boolean from Standard; |
41 | |
42 | |
43 | ---Purpose: For maping the Links. |
44 | -- Same Link -> Same HashCode |
45 | -- Different Links -> Not IsEqual but can have same HashCode |
46 | |
47 | HashCode (me; |
48 | Upper : Integer from Standard) |
49 | ---C++: function call |
50 | returns Integer from Standard; |
51 | |
52 | IsEqual (me; Other: Link from MeshDS) |
53 | ---C++: alias operator == |
54 | returns Boolean from Standard; |
55 | |
56 | end Link; |