7fd59977 |
1 | -- File: AIS_MultipleConnectedInteractive.cdl |
2 | -- Created: Tue Apr 22 17:04:42 1997 |
3 | -- Author: Guest Design |
4 | -- <g_design@hankox.paris1.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1997 |
6 | |
7 | class MultipleConnectedInteractive from AIS inherits InteractiveObject from AIS |
8 | |
9 | |
10 | ---Purpose: Defines an Interactive Object by gathering together |
11 | -- several object presentations. This is done through a |
12 | -- list of interactive objects. These can also be |
13 | -- Connected objects. That way memory-costly |
14 | -- calculations of presentation are avoided. |
15 | |
16 | |
17 | uses |
18 | |
19 | |
20 | TypeOfPresentation3d from PrsMgr, |
21 | InteractiveObject from AIS, |
22 | Boolean from Standard, |
23 | SequenceOfInteractive from AIS, |
24 | KindOfInteractive from AIS, |
25 | PresentationManager3d from PrsMgr, |
26 | PresentationManager2d from PrsMgr, |
27 | GraphicObject from Graphic2d, |
28 | Presentation from Prs3d, |
29 | Projector from Prs3d, |
30 | Transformation from Geom, |
31 | Integer from Standard, |
32 | Selection from SelectMgr |
33 | |
34 | is |
35 | |
36 | |
37 | Create (aTypeOfPresentation3d: TypeOfPresentation3d from PrsMgr = PrsMgr_TOP_AllView) |
38 | returns mutable MultipleConnectedInteractive from AIS; |
39 | ---Purpose: Initializes the Interactive Object with multiple |
40 | -- presentation connections. If aTypeOfPresentation3d |
41 | -- does not have the affectation PrsMgr_TOP_AllView, |
42 | -- it is projector dependent. |
43 | |
44 | Connect(me : mutable; |
45 | anotherIObj : InteractiveObject from AIS); |
46 | ---Purpose: Add anotherIObj in the presentation of me |
47 | |
48 | |
49 | Type(me) returns KindOfInteractive from AIS |
50 | is redefined virtual; |
51 | |
52 | Signature(me) returns Integer from Standard |
53 | is redefined virtual; |
54 | |
55 | HasConnection(me) returns Boolean from Standard; |
56 | ---Purpose: Returns true if the object is connected to others. |
57 | |
58 | ConnectedTo(me) returns SequenceOfInteractive from AIS; |
59 | ---Purpose: |
60 | -- Returns the connection references of the previous |
61 | -- Interactive Objects in view. |
62 | ---C++: inline |
63 | ---C++: return const& |
64 | |
65 | Disconnect(me:mutable; |
66 | anotherIObj : InteractiveObject from AIS); |
67 | ---Purpose: Removes the connection anotherIObj to an entity. |
68 | |
69 | DisconnectAll(me:mutable); |
70 | ---Purpose: Clears all the connections to objects. |
71 | |
72 | Compute(me:mutable; |
73 | aPresentationManager : PresentationManager3d from PrsMgr; |
74 | aPresentation : mutable Presentation from Prs3d; |
75 | aMode : Integer from Standard = 0) |
76 | ---Level: Internal |
77 | ---Purpose: this method is redefined virtual; |
78 | -- when the instance is connected to another |
79 | -- InteractiveObject,this method doesn't |
80 | -- compute anything, but just uses the |
81 | -- presentation of this last object, with |
82 | -- a transformation if there's one stored. |
83 | is redefined virtual private; |
84 | |
85 | Compute(me:mutable; |
86 | aPresentationManager: PresentationManager2d from PrsMgr; |
87 | aPresentation: mutable GraphicObject from Graphic2d; |
88 | aMode: Integer from Standard = 0) |
89 | is redefined; |
90 | |
91 | Compute(me : mutable; |
92 | aProjector : Projector from Prs3d; |
93 | aTrsf : Transformation from Geom; |
94 | aPresentation : mutable Presentation from Prs3d) |
95 | is redefined; |
96 | ---Purpose: computes the presentation according to a point of view |
97 | -- given by <aProjector>. |
98 | -- To be Used when the associated degenerated Presentations |
99 | -- have been transformed by <aTrsf> which is not a Pure |
100 | -- Translation. The HLR Prs can't be deducted automatically |
101 | -- WARNING :<aTrsf> must be applied |
102 | -- to the object to display before computation !!! |
103 | |
104 | Compute(me:mutable; |
105 | aProjector: Projector from Prs3d; |
106 | aPresentation: mutable Presentation from Prs3d) |
107 | is redefined ; |
108 | |
109 | ComputeSelection(me:mutable; aSelection :mutable Selection from SelectMgr; |
110 | aMode : Integer from Standard) |
111 | is redefined virtual private; |
112 | |
113 | |
114 | |
115 | fields |
116 | |
117 | myReferences : SequenceOfInteractive from AIS; |
118 | myPreviousReferences : SequenceOfInteractive from AIS; |
119 | |
120 | end MultipleConnectedInteractive; |