Small change to the Network API.
[GoMoku3D.git] / class_diagram / class_diagram.prj
blob5b1b40e08b1e4386a349645164c4ea0872f4a1fb
1 format 49
2 "class_diagram"
3   revision 72
4   modified_by 115 "davide"
7   
8   // class settings
9   default_attribute_visibility protected default_relation_visibility protected default_operation_visibility public
10   //class diagram settings
11   draw_all_relations yes hide_attributes no hide_operations no show_members_full_definition no show_members_visibility no show_members_stereotype no show_parameter_dir yes show_parameter_name yes package_name_in_tab no class_drawing_mode natural drawing_language uml show_context_mode no auto_label_position yes show_infonote no shadow yes
12   //use case diagram settings
13   package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
14   //sequence diagram settings
15   show_full_operations_definition no write_horizontally yes class_drawing_mode natural drawing_language uml draw_all_relations yes shadow yes
16   //collaboration diagram settings
17   show_full_operations_definition no show_hierarchical_rank no write_horizontally yes drawing_language uml package_name_in_tab no show_context no draw_all_relations yes shadow yes
18   //object diagram settings
19    write_horizontally yes package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
20   //component diagram settings
21   package_name_in_tab no show_context no auto_label_position yes draw_all_relations yes shadow yes
22   draw_component_as_icon no show_component_req_prov no show_component_rea no
23   //deployment diagram settings
24   package_name_in_tab no show_context no write_horizontally yes auto_label_position yes draw_all_relations yes shadow yes
25   draw_component_as_icon no show_component_req_prov no show_component_rea no
26   //state diagram settings
27   package_name_in_tab no show_context no auto_label_position yes write_trans_label_horizontally yes show_trans_definition no draw_all_relations yes shadow yes
28   show_activities yes region_horizontally yes drawing_language uml
29   //activity diagram settings
30   package_name_in_tab no show_context no show_opaque_action_definition no auto_label_position yes write_flow_label_horizontally no draw_all_relations yes shadow yes
31   show_infonote yes drawing_language uml
32   
33   class_color yellow duration_color transparent continuation_color gray note_color blue fragment_color transparent subject_color transparent usecase_color yellow package_color transparent component_color green artifact_color green deploymentnode_color gray state_color yellow stateaction_color transparent activity_color transparent activityregion_color transparent activityaction_color transparent parameterpin_color white 
34   font_size 9
35   diagram_format A3
37   mark_for_import
38   
39   classview 128021 "ArchitetturaGlobale"
40     //class diagram settings
41     draw_all_relations yes hide_attributes default hide_operations default show_members_full_definition yes show_members_visibility yes show_members_stereotype yes show_parameter_dir no show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
42     //collaboration diagram settings
43     show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default draw_all_relations default shadow default
44     //object diagram settings
45      write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
46     //sequence diagram settings
47     show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
48     //state diagram settings
49     package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
50     show_activities default region_horizontally default drawing_language default
51     //class settings
52     //activity diagram settings
53     package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
54     show_infonote default drawing_language default
55     classdiagram 128021 "Global"
56       draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
57       size A3
58     end
60     classdiagram 128393 "GUIDiagram"
61       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
62       size A3
63     end
65     classdiagram 128099 "3DDiagram"
66       draw_all_relations yes hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
67       size A3
68     end
70     classdiagram 128521 "CoreDiagram"
71       draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
72       size A3
73     end
75     classdiagram 128149 "PlayerDiagram"
76       draw_all_relations no hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
77       size A4
78     end
80     classdiagram 128003 "AIDiagram"
81       draw_all_relations yes hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
82       size A3
83     end
85     classdiagram 128122 "NetworkDiagram"
86       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
87       size A3
88     end
90     classdiagram 129301 "SettingsHierarchy"
91       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
92       size A3
93     end
95     classdiagram 129429 "GameLoopView"
96       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
97       size A3
98     end
100     classdiagram 129557 "MiscCoreView"
101       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
102       size A3
103     end
105     classdiagram 129685 "ReducedGUIView"
106       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
107       size A3
108     end
110     classdiagram 128087 "AI_NetworkView"
111       draw_all_relations default hide_attributes default hide_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_infonote default shadow default
112       size A3
113     end
115     class 128019 "QMainWindow"
116       visibility package 
117       cpp_decl ""
118       java_decl ""
119       php_decl ""
120       idl_decl ""
121       explicit_switch_type ""
122       
123     end
125     class 128533 "QWidget"
126       visibility package 
127       cpp_decl ""
128       java_decl ""
129       php_decl ""
130       idl_decl ""
131       explicit_switch_type ""
132       
133     end
135     class 128917 "MainWindow"
136       visibility package 
137       cpp_decl ""
138       java_decl ""
139       php_decl ""
140       idl_decl ""
141       explicit_switch_type ""
142       
143       classrelation 128019 // <generalisation>
144         relation 128019 ---|>
145           a public
146             classrelation_ref 128019 // <generalisation>
147           b parent class_ref 128019 // QMainWindow
148       end
150       attribute 129301 "_loop"
151         private type class_ref 130325 // GameLoop
152         cpp_decl ""
153         java_decl ""
154         php_decl ""
155         idl_decl ""
156       end
158       attribute 129173 "_net"
159         private type class_ref 130069 // Network
160         cpp_decl ""
161         java_decl ""
162         php_decl ""
163         idl_decl ""
164       end
166       attribute 129429 "_settings"
167         private type class_ref 130453 // SettingsManager
168         cpp_decl ""
169         java_decl ""
170         php_decl ""
171         idl_decl ""
172       end
174       attribute 128040 "_playersInfo"
175         private explicit_type "QList<PlayerInfo>"
176         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
178         java_decl ""
179         php_decl ""
180         idl_decl ""
181       end
183       attribute 128637 "_suggester"
184         private type class_ref 129720 // Suggester
185         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
187         java_decl ""
188         php_decl ""
189         idl_decl ""
190       end
192       attribute 128149 "_render"
193         private type class_ref 128661 // RenderWidget
194         cpp_decl ""
195         java_decl ""
196         php_decl ""
197         idl_decl ""
198       end
200       attribute 128277 "_chat"
201         private type class_ref 128789 // ChatWidget
202         cpp_decl ""
203         java_decl ""
204         php_decl ""
205         idl_decl ""
206       end
208       attribute 129976 "_history"
209         private type class_ref 129848 // HistoryModel
210         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
212         java_decl ""
213         php_decl ""
214         idl_decl ""
215       end
217       attribute 129848 "_timer"
218         private type class_ref 128381 // TimerWidget
219         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
221         java_decl ""
222         php_decl ""
223         idl_decl ""
224       end
226       attribute 128381 "_playersWidget"
227         private type class_ref 129021 // PlayersWidget
228         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
230         java_decl ""
231         php_decl ""
232         idl_decl ""
233       end
235       attribute 128188 "_historyView"
236         private type class_ref 128893 // QTableView
237         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
239         java_decl ""
240         php_decl ""
241         idl_decl ""
242       end
244       operation 128175 "loadGame"
245         public explicit_return_type "bool"
246         nparams 1
247           param in name "fileName" type class_ref 128440 // QString
248         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
250         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
251   ${body}}
253         
254         
255         
256       end
258       operation 128047 "saveGame"
259         public explicit_return_type "bool"
260         nparams 1
261           param in name "fileName" type class_ref 128440 // QString
262         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
264         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
265   ${body}}
267         
268         
269         
270       end
272       classrelation 128917 // <directional composition>
273         relation 128917 *-->
274           a role_name "" multiplicity "0..1" protected
275             classrelation_ref 128917 // <directional composition>
276           b parent class_ref 128789 // ChatWidget
277       end
279       classrelation 129045 // <directional composition>
280         relation 129045 *-->
281           a role_name "" multiplicity "0..1" protected
282             classrelation_ref 129045 // <directional composition>
283           b parent class_ref 128661 // RenderWidget
284       end
286       classrelation 128440 // <directional composition>
287         relation 128440 *-->
288           a role_name "" multiplicity "0..1" protected
289             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
291             classrelation_ref 128440 // <directional composition>
292           b parent class_ref 130069 // Network
293       end
295       classrelation 128568 // <directional composition>
296         relation 128568 *-->
297           a role_name "" protected
298             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
300             classrelation_ref 128568 // <directional composition>
301           b parent class_ref 129941 // AI
302       end
304       classrelation 128264 // <directional composition>
305         relation 128264 *-->
306           a role_name "" protected
307             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
309             classrelation_ref 128264 // <directional composition>
310           b parent class_ref 130453 // SettingsManager
311       end
313       classrelation 128262 // <directional composition>
314         relation 128262 *-->
315           a role_name "" protected
316             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
318             classrelation_ref 128262 // <directional composition>
319           b parent class_ref 130325 // GameLoop
320       end
322       operation 128392 "turn"
323         stereotype "slot"
324         public explicit_return_type "void"
325         nparams 1
326           param in name "playerId" explicit_type "int"
327         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
329         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
330   ${body}}
332         
333         
334         
335       end
337       operation 128361 "drawMove"
338         stereotype "slot"
339         public explicit_return_type "void"
340         nparams 1
341           param in name "move" type class_ref 129301 // Move
342         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
344         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
345   ${body}}
347         
348         
349         
350         comment "invoca RenderWidget::drawMove e se questa chiamata ritorna false messaggio all'utente e sara su tutto"
351       end
353       operation 128060 "undoMoves"
354         stereotype "slot"
355         public explicit_return_type "void"
356         nparams 1
357           param in name "index" explicit_type "QModelIndex"
358         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
360         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
361   ${body}}
363         
364         
365         
366         comment "disattiva la possibilità da parte dell'utente di eseguire mosse
367 resetta su render e game matrix le caselle indicate nella lista index+1..n
368 invoca setLastRound(index-2...index) su game matrix
369 setta su GameLoop il turno con setTurn(index+1.id())
370 toglie gli elementi index+1..n dalla history
371 invoca notifyMove(Point_null)
373       end
375       operation 128700 "showPastGameStatus"
376         stereotype "slot"
377         public explicit_return_type "void"
378         nparams 1
379           param in name "index" explicit_type "QModelIndex"
380         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
382         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
383   ${body}}
385         
386         
387         
388         comment "vedi pesablock, Ã¨ il gestore dell'evento history::clicked"
389       end
391       classrelation 130744 // <directional composition>
392         relation 130744 *-->
393           a role_name "" protected
394             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
396             classrelation_ref 130744 // <directional composition>
397           b parent class_ref 129848 // HistoryModel
398       end
400       classrelation 129533 // <directional composition>
401         relation 129533 *-->
402           a role_name "" multiplicity "0..1" protected
403             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
405             classrelation_ref 129533 // <directional composition>
406           b parent class_ref 129720 // Suggester
407       end
409       classrelation 128316 // <directional composition>
410         relation 128316 *-->
411           a role_name "" multiplicity "0..1" protected
412             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
414             classrelation_ref 128316 // <directional composition>
415           b parent class_ref 128381 // TimerWidget
416       end
418       classrelation 128572 // <directional composition>
419         relation 128572 *-->
420           a role_name "" protected
421             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
423             classrelation_ref 128572 // <directional composition>
424           b parent class_ref 129021 // PlayersWidget
425       end
427       classrelation 128700 // <directional composition>
428         relation 128700 *-->
429           a role_name "" protected
430             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
432             classrelation_ref 128700 // <directional composition>
433           b parent class_ref 128893 // QTableView
434       end
436       classrelation 128054 // <unidirectional association>
437         relation 128054 --->
438           a role_name "" multiplicity "0..3" private
439             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
441             classrelation_ref 128054 // <unidirectional association>
442           b parent class_ref 129976 // PlayerInfo
443       end
445       operation 129206 "newStandAloneGame"
446         stereotype "slot"
447         public explicit_return_type "void"
448         nparams 0
449         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
451         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
452   ${body}}
454         
455         
456         
457       end
459       operation 128020 "playerWin"
460         stereotype "slot"
461         public explicit_return_type "void"
462         nparams 1
463           param in name "playerId" explicit_type "int"
464         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
466         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
467   ${body}}
469         
470         
471         
472       end
474       operation 128276 "playersDraw"
475         stereotype "slot"
476         public explicit_return_type "void"
477         nparams 1
478           param in name "playersIds" explicit_type "QList<int>"
479         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
481         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
482   ${body}}
484         
485         
486         
487       end
489       operation 130360 "forceMove"
490         stereotype "signal"
491         protected explicit_return_type "void"
492         nparams 0
493         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
495         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
496   ${body}}
498         
499         
500         
501       end
502     end
504     class 128661 "RenderWidget"
505       visibility package 
506       cpp_decl "${comment}${template}class ${name}${inherit} {
507 ${members}};
508 ${inlines}
510       java_decl ""
511       php_decl ""
512       idl_decl ""
513       explicit_switch_type ""
514       
515       associated_diagram classdiagram_ref 128021 // Global
516       classrelation 128277 // <generalisation>
517         relation 128277 ---|>
518           a public
519             classrelation_ref 128277 // <generalisation>
520           b parent class_ref 128533 // QWidget
521       end
523       attribute 128060 "DefaultCubeColor"
524         class_attribute const_attribute public type class_ref 128253 // QColor
525         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
527         java_decl ""
528         php_decl ""
529         idl_decl ""
530       end
532       attribute 129226 "DefaultShape"
533         class_attribute public explicit_type "bool"
534         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
536         java_decl ""
537         php_decl ""
538         idl_decl ""
539         comment "indica la forma che avranno le caselle..0 se cubi, 1 se sfere"
540       end
542       attribute 128107 "_renderArea"
543         private type class_ref 128099 // CubeRenderArea
544         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
546         java_decl ""
547         php_decl ""
548         idl_decl ""
549       end
551       operation 128105 "RenderWidget"
552         public explicit_return_type ""
553         nparams 1
554           param in name "dim" explicit_type "int"
555         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}${)}${volatile}${throw};
557         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
558   ${body}}
560         
561         
562         
563       end
565       operation 129385 "acceptMove"
566         public explicit_return_type "void"
567         nparams 1
568           param in name "value" explicit_type "bool"
569         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
571         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
572   ${body}}
574         
575         
576         
577       end
579       operation 128824 "drawMove"
580         public explicit_return_type "bool"
581         nparams 2
582           param in name "point" type class_ref 129173 // Point
583           param in name "color" type class_ref 128253 // QColor
584         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, const ${t1} & ${p1}${)}${const}${volatile}${throw}${abstract};
586         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
587   ${body}}
589         
590         
591         
592         comment "true se la mossa Ã¨ valida altrimenti false
593 chiama il metodo statico di GameMatrix per sapere se la mossa Ã¨ valida e eventualmente la disegna chiamando drawMove di CubeRenderArea"
594       end
596       operation 128828 "uncheckedDraw"
597         public explicit_return_type "void"
598         nparams 2
599           param in name "pointList" explicit_type "QList<Point>"
600           param in name "colorList" explicit_type "QList<QColor>"
601             defaultvalue "0"
602         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
604         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
605   ${body}}
607         
608         
609         
610         comment "se colorList==0 allora usa defaultCubeColor"
611       end
613       operation 128099 "setAntiAliasing"
614         public explicit_return_type "void"
615         nparams 1
616           param in name "value" explicit_type "int"
617         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
619         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
620   ${body}}
622         
623         
624         
625         comment "controlla l'accumulation buffer e setta l'antialiasing"
626       end
628       operation 131000 "highlightSuggested"
629         stereotype "slot"
630         public explicit_return_type "void"
631         nparams 1
632           param in name "point" type class_ref 129173 // Point
633         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
635         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
636   ${body}}
638         
639         
640         
641         comment "chiama la selectCube di CubeRenderArea"
642       end
644       classrelation 128099 // <directional composition>
645         relation 128099 *-->
646           a role_name "" multiplicity "0..1" protected
647             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
649             classrelation_ref 128099 // <directional composition>
650           b parent class_ref 128099 // CubeRenderArea
651       end
652     end
654     class 128789 "ChatWidget"
655       visibility package 
656       cpp_decl ""
657       java_decl ""
658       php_decl ""
659       idl_decl ""
660       explicit_switch_type ""
661       
662       operation 128235 "displayText"
663         stereotype "slot"
664         public explicit_return_type "void"
665         nparams 1
666           param in name "text" type class_ref 128440 // QString
667         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
669         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
670   ${body}}
672         
673         
674         
675       end
677       operation 128107 "textEntered"
678         stereotype "signal"
679         protected explicit_return_type "void"
680         nparams 1
681           param in name "text" type class_ref 128440 // QString
682         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
684         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
685   ${body}}
687         
688         
689         
690       end
692       classrelation 128122 // <generalisation>
693         relation 128122 ---|>
694           a public
695             cpp default "${type}"
696             classrelation_ref 128122 // <generalisation>
697           b parent class_ref 128533 // QWidget
698       end
699     end
701     class 129045 "Player"
702       abstract visibility package 
703       cpp_decl ""
704       java_decl ""
705       php_decl ""
706       idl_decl ""
707       explicit_switch_type ""
708       
709       operation 128617 "Player"
710         public explicit_return_type ""
711         nparams 1
712           param in name "id" explicit_type "int"
713         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
715         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
716   ${body}}
718         
719         
720         
721       end
723       attribute 128168 "_id"
724         const_attribute private explicit_type "int"
725         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
727         java_decl ""
728         php_decl ""
729         idl_decl ""
730       end
732       operation 128040 "id"
733         const public explicit_return_type "int"
734         nparams 0
735         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
737         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
738   ${body}}
740         
741         
742         
743       end
745       operation 128184 "move"
746         public return_type class_ref 129301 // Move
747         nparams 0
748         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
750         
751         
752         
753       end
755       operation 129155 "doMove"
756         abstract cpp_virtual protected return_type class_ref 129173 // Point
757         nparams 0
758         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
760         
761         
762         
763       end
764     end
766     class 129173 "Point"
767       visibility package 
768       cpp_decl ""
769       java_decl ""
770       php_decl ""
771       idl_decl ""
772       explicit_switch_type ""
773       
774       attribute 128184 "_x"
775         private explicit_type "int"
776         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
778         java_decl ""
779         php_decl ""
780         idl_decl ""
781       end
783       attribute 128312 "_y"
784         private explicit_type "int"
785         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
787         java_decl ""
788         php_decl ""
789         idl_decl ""
790       end
792       attribute 128440 "_z"
793         private explicit_type "int"
794         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
796         java_decl ""
797         php_decl ""
798         idl_decl ""
799       end
801       operation 128875 "Point"
802         public explicit_return_type ""
803         nparams 3
804           param in name "x" explicit_type "int"
805           param in name "y" explicit_type "int"
806           param in name "z" explicit_type "int"
807         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
809         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
810   ${body}}
812         
813         
814         
815       end
817       operation 128378 "isValid"
818         const public explicit_return_type "bool"
819         nparams 0
820         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
822         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
823   ${body}}
825         
826         
827         
828         comment "return true sse il Point this Ã¨ minore della dimensione di GameMatrix."
829       end
831       operation 129282 "isNull"
832         public explicit_return_type "bool"
833         nparams 0
834         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
836         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
837   ${body}}
839         
840         
841         
842         comment "return true iff this == (-1, -1, -1)
843 else return false"
844       end
845     end
847     class 129301 "Move"
848       visibility package 
849       cpp_decl ""
850       java_decl ""
851       php_decl ""
852       idl_decl ""
853       explicit_switch_type ""
854       
855       classrelation 129173 // <directional composition>
856         relation 129173 *-->
857           a role_name "" protected
858             classrelation_ref 129173 // <directional composition>
859           b parent class_ref 129173 // Point
860       end
862       attribute 128405 "_playerId"
863         private explicit_type "int"
864         cpp_decl ""
865         java_decl ""
866         php_decl ""
867         idl_decl ""
868       end
870       attribute 128533 "_coord"
871         private type class_ref 129173 // Point
872         cpp_decl ""
873         java_decl ""
874         php_decl ""
875         idl_decl ""
876       end
878       operation 129641 "Move"
879         public explicit_return_type ""
880         nparams 2
881           param in name "id" explicit_type "int"
882           param in name "p" type class_ref 129173 // Point
883         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
885         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
886   ${body}}
888         
889         
890         
891       end
893       operation 128250 "isValid"
894         const public explicit_return_type "bool"
895         nparams 0
896         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
898         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
899   ${body}}
901         
902         
903         
904         comment "return GameMatrix::check(this._coord);"
905       end
906     end
908     class 129557 "GameMatrix"
909       visibility package 
910       cpp_decl ""
911       java_decl ""
912       php_decl ""
913       idl_decl ""
914       explicit_switch_type ""
915       
916       comment "istanziata da MainWindow e passata poi a GameLoop"
917       attribute 128042 "EmptyPoint"
918         class_attribute const_attribute public explicit_type "int"
919         init_value "-1"
920         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
922         java_decl ""
923         php_decl ""
924         idl_decl ""
925       end
927       attribute 128084 "_instance"
928         class_attribute private type class_ref 129557 // GameMatrix
929         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
931         java_decl ""
932         php_decl ""
933         idl_decl ""
934       end
936       attribute 128873 "_lastRound"
937         private explicit_type "QList<Point>"
938         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
940         java_decl ""
941         php_decl ""
942         idl_decl ""
943         comment "/buffer delle ultime mosse da rivedere"
944       end
946       attribute 129129 "_d1"
947         private explicit_type "int"
948         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
950         java_decl ""
951         php_decl ""
952         idl_decl ""
953       end
955       attribute 129257 "_d2"
956         private explicit_type "int"
957         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
959         java_decl ""
960         php_decl ""
961         idl_decl ""
962       end
964       attribute 128148 "_freeCounter"
965         private explicit_type "int"
966         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
968         java_decl ""
969         php_decl ""
970         idl_decl ""
971       end
973       operation 130104 "GameMatrix"
974         private explicit_return_type ""
975         nparams 3
976           param in name "d1" explicit_type "int"
977           param in name "d2" explicit_type "int"
978           param in name "numPlayers" explicit_type "int"
979         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}, ${t1} ${p1}, ${t2} ${p2}${)}${volatile}${throw};
981         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
982   ${body}}
984         
985         
986         
987       end
989       operation 129166 "create"
990         class_operation public explicit_return_type "GameMatrix*"
991         nparams 3
992           param in name "d1" explicit_type "int"
993           param in name "d2" explicit_type "int"
994           param in name "numPlayers" explicit_type "int"
995         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
997         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
998   ${body}}
1000         
1001         
1002         
1003       end
1005       operation 129294 "destroy"
1006         class_operation public explicit_return_type "void"
1007         nparams 0
1008         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1010         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1011   ${body}}
1013         
1014         
1015         
1016       end
1018       operation 129620 "instance"
1019         class_operation public explicit_return_type "GameMatrix*"
1020         nparams 0
1021         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1023         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1024   ${body}}
1026         
1027         
1028         
1029       end
1031       operation 129513 "add"
1032         public explicit_return_type "bool"
1033         nparams 1
1034           param in name "move" type class_ref 129301 // Move
1035         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1037         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1038   ${body}}
1040         
1041         
1042         
1043         comment "se la mossa ha portato una vittoria ritorna true altrimenti false"
1044       end
1046       operation 128554 "clear"
1047         public explicit_return_type "void"
1048         nparams 1
1049           param in name "point" type class_ref 129173 // Point
1050         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1052         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1053   ${body}}
1055         
1056         
1057         
1058       end
1060       operation 129748 "check"
1061         class_operation public explicit_return_type "bool"
1062         nparams 1
1063           param in name "point" type class_ref 129173 // Point
1064         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1066         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1067   ${body}}
1069         
1070         
1071         
1072       end
1074       operation 130952 "elementAt"
1075         public explicit_return_type "int"
1076         nparams 1
1077           param in name "point" type class_ref 129173 // Point
1078         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1080         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1081   ${body}}
1083         
1084         
1085         
1086       end
1088       operation 131080 "elementAt"
1089         public explicit_return_type "int"
1090         nparams 3
1091           param in name "x" explicit_type "int"
1092           param in name "y" explicit_type "int"
1093           param in name "z" explicit_type "int"
1094         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1096         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1097   ${body}}
1099         
1100         
1101         
1102       end
1104       operation 128404 "isFull"
1105         const public explicit_return_type "bool"
1106         nparams 0
1107         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1109         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1110   ${body}}
1112         
1113         
1114         
1115       end
1117       operation 130232 "numberOfPlayers"
1118         public explicit_return_type "int"
1119         nparams 0
1120         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1122         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1123   ${body}}
1125         
1126         
1127         
1128         comment "lastRound.size()"
1129       end
1131       operation 128188 "setLastRound"
1132         public explicit_return_type "void"
1133         nparams 1
1134           param in name "round" explicit_type "QList<Point>"
1135         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1137         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1138   ${body}}
1140         
1141         
1142         
1143       end
1145       attribute 128083 "_matrix"
1146         private explicit_type "int*"
1147         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1149         java_decl ""
1150         php_decl ""
1151         idl_decl ""
1152       end
1154       operation 128011 "extractCC"
1155         private explicit_return_type "void"
1156         nparams 3
1157           param in name "p" type class_ref 129173 // Point
1158           param in name "id" explicit_type "int"
1159           param inout name "set" explicit_type "QSet<Point>"
1160         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1162         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1163   ${body}}
1165         
1166         
1167         
1168       end
1169     end
1171     class 129813 "QWaitCondition"
1172       visibility package 
1173       cpp_decl ""
1174       java_decl ""
1175       php_decl ""
1176       idl_decl ""
1177       explicit_switch_type ""
1178       
1179       operation 130025 "wait"
1180         public explicit_return_type "bool"
1181         nparams 2
1182           param in name "lock" type class_ref 130837 // QMutex
1183           param in name "timeout" explicit_type "unsigned long"
1184         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1186         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1187   ${body}}
1189         
1190         
1191         
1192       end
1194       operation 130153 "wakeOne"
1195         public explicit_return_type "void"
1196         nparams 0
1197         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1199         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1200   ${body}}
1202         
1203         
1204         
1205       end
1206     end
1208     class 129941 "AI"
1209       abstract visibility package 
1210       cpp_decl ""
1211       java_decl ""
1212       php_decl ""
1213       idl_decl ""
1214       explicit_switch_type ""
1215       
1216       attribute 128296 "_playerId"
1217         const_attribute private explicit_type "int"
1218         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1220         java_decl ""
1221         php_decl ""
1222         idl_decl ""
1223       end
1225       operation 128084 "AI"
1226         public explicit_return_type ""
1227         nparams 1
1228           param in name "id" explicit_type "int"
1229         
1230         
1231         
1232         
1233       end
1235       operation 128078 "~AI"
1236         cpp_virtual public explicit_return_type ""
1237         nparams 0
1238         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
1240         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1241   ${body}}
1243         
1244         
1245         
1246       end
1248       operation 128212 "move"
1249         abstract cpp_virtual public return_type class_ref 129173 // Point
1250         nparams 1
1251           param in name "level" explicit_type "int"
1252         
1253         
1254         
1255         
1256       end
1258       operation 129976 "forceMove"
1259         abstract cpp_virtual public explicit_return_type "void"
1260         nparams 0
1261         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1263         
1264         
1265         
1266       end
1268       operation 130819 "movesUndone"
1269         abstract cpp_virtual public explicit_return_type "void"
1270         nparams 0
1271         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1273         
1274         
1275         
1276       end
1278       operation 130691 "playerId"
1279         public explicit_return_type "int"
1280         nparams 0
1281         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1283         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1284   ${body}}
1286         
1287         
1288         
1289       end
1290     end
1292     class 130069 "Network"
1293       abstract visibility package 
1294       cpp_decl ""
1295       java_decl ""
1296       php_decl ""
1297       idl_decl ""
1298       explicit_switch_type ""
1299       
1300       operation 129980 "Network"
1301         public explicit_return_type ""
1302         nparams 1
1303           param in name "gui" type class_ref 128533 // QWidget
1304         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
1306         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1307   ${body}}
1309         
1310         
1311         
1312       end
1314       operation 129395 "~Network"
1315         cpp_virtual public explicit_return_type ""
1316         nparams 0
1317         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
1319         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1320   ${body}}
1322         
1323         
1324         
1325       end
1327       operation 128122 "requestMove"
1328         abstract cpp_virtual public return_type class_ref 129173 // Point
1329         nparams 0
1330         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1332         
1333         
1334         
1335       end
1337       attribute 129340 "_gui"
1338         private type class_ref 128533 // QWidget
1339         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1341         java_decl ""
1342         php_decl ""
1343         idl_decl ""
1344       end
1346       operation 129168 "setupChat"
1347         abstract cpp_virtual public explicit_return_type "void"
1348         nparams 1
1349           param in name "widget" type class_ref 128789 // ChatWidget
1350         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1352         
1353         
1354         
1355       end
1356     end
1358     class 130197 "QThread"
1359       abstract visibility package 
1360       cpp_decl ""
1361       java_decl ""
1362       php_decl ""
1363       idl_decl ""
1364       explicit_switch_type ""
1365       
1366       operation 128319 "start"
1367         public explicit_return_type "void"
1368         nparams 0
1369         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1371         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1372   ${body}}
1374         
1375         
1376         
1377       end
1379       operation 128393 "run"
1380         abstract cpp_virtual protected explicit_return_type "void"
1381         nparams 0
1382         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1384         
1385         
1386         
1387       end
1388     end
1390     class 130325 "GameLoop"
1391       visibility package 
1392       cpp_decl ""
1393       java_decl ""
1394       php_decl ""
1395       idl_decl ""
1396       explicit_switch_type ""
1397       
1398       comment "quando attende una mossa da RemotePlayer o HumanPlayer va in wait, quando invece tocca ad AIPlayer deve essere questo Thread che esegue il calcolo. NON deve andare in wait."
1399       classrelation 130069 // <realization>
1400         relation 130069 -_-|>
1401           a public
1402             classrelation_ref 130069 // <realization>
1403           b parent class_ref 130197 // QThread
1404       end
1406       attribute 129592 "_currentPlayer"
1407         private type class_ref 129045 // Player
1408         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1410         java_decl ""
1411         php_decl ""
1412         idl_decl ""
1413         comment "mantenuto consistente per poter effettuare la forceMove()"
1414       end
1416       attribute 128264 "_players"
1417         private explicit_type "QList<Player>"
1418         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
1420         java_decl ""
1421         php_decl ""
1422         idl_decl ""
1423       end
1425       attribute 128020 "_winStatus"
1426         private explicit_type "QList<bool>"
1427         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1429         java_decl ""
1430         php_decl ""
1431         idl_decl ""
1432         comment "se winStatus[i]==false allora il player[i] non ha realizzato una condizione di vittoria"
1433       end
1435       operation 128054 "GameLoop"
1436         public explicit_return_type ""
1437         nparams 1
1438           param in name "players" explicit_type "QList<Player>"
1439         cpp_decl "    ${comment}${inline}${name}${(}const ${t0} & ${p0}${)}${volatile}${throw};
1441         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1442   ${body}}
1444         
1445         
1446         
1447       end
1449       operation 128520 "run"
1450         protected explicit_return_type "void"
1451         nparams 0
1452         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1454         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1455   ${body}}
1457         
1458         
1459         
1460       end
1462       operation 128316 "setTurn"
1463         public explicit_return_type "void"
1464         nparams 1
1465           param in name "id" explicit_type "int"
1466         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1468         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1469   ${body}}
1471         
1472         
1473         
1474       end
1476       operation 130488 "forceMove"
1477         stereotype "slot"
1478         public explicit_return_type "void"
1479         nparams 0
1480         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1482         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1483   ${body}}
1485         
1486         
1487         
1488       end
1490       operation 128233 "moved"
1491         stereotype "signal"
1492         protected explicit_return_type "void"
1493         nparams 1
1494           param in name "move" type class_ref 129301 // Move
1495         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1497         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1498   ${body}}
1500         
1501         
1502         
1503       end
1505       operation 128264 "turn"
1506         stereotype "signal"
1507         protected explicit_return_type "void"
1508         nparams 1
1509           param in name "playerId" explicit_type "int"
1510         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
1512         
1513         
1514         
1515       end
1517       operation 128148 "win"
1518         stereotype "signal"
1519         protected explicit_return_type "void"
1520         nparams 1
1521           param in name "playerId" explicit_type "int"
1522         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1524         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1525   ${body}}
1527         
1528         
1529         
1530       end
1532       operation 128532 "draw"
1533         stereotype "signal"
1534         protected explicit_return_type "void"
1535         nparams 1
1536           param in name "playersIds" explicit_type "QList<int>"
1537         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1539         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1540   ${body}}
1542         
1543         
1544         
1545       end
1547       classrelation 128042 // <directional composition>
1548         relation 128042 *-->
1549           a role_name "" multiplicity "2..3" protected
1550             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1552             classrelation_ref 128042 // <directional composition>
1553           b parent class_ref 129045 // Player
1554       end
1556       classrelation 129980 // <unidirectional association>
1557         relation 129980 --->
1558           a role_name "" protected
1559             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
1561             classrelation_ref 129980 // <unidirectional association>
1562           b parent class_ref 129557 // GameMatrix
1563       end
1564     end
1566     class 130709 "SyncSharedCondition"
1567       visibility package 
1568       cpp_decl ""
1569       java_decl ""
1570       php_decl ""
1571       idl_decl ""
1572       explicit_switch_type ""
1573       
1574       attribute 128063 "_instance"
1575         class_attribute private type class_ref 130709 // SyncSharedCondition
1576         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1578         java_decl ""
1579         php_decl ""
1580         idl_decl ""
1581       end
1583       attribute 128105 "_point"
1584         private type class_ref 129173 // Point
1585         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1587         java_decl ""
1588         php_decl ""
1589         idl_decl ""
1590       end
1592       attribute 129557 "_waitCond"
1593         private type class_ref 129813 // QWaitCondition
1594         cpp_decl ""
1595         java_decl ""
1596         php_decl ""
1597         idl_decl ""
1598       end
1600       operation 128191 "SyncSharedCondition"
1601         private explicit_return_type ""
1602         nparams 0
1603         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
1605         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1606   ${body}}
1608         
1609         
1610         
1611       end
1613       operation 128063 "instance"
1614         class_operation public return_type class_ref 130709 // SyncSharedCondition
1615         nparams 0
1616         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1618         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1619   ${body}}
1621         
1622         
1623         
1624       end
1626       operation 129129 "waitForMove"
1627         public return_type class_ref 129173 // Point
1628         nparams 0
1629         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1631         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1632   ${body}}
1634         
1635         
1636         
1637       end
1639       operation 129257 "notifyMove"
1640         public explicit_return_type "void"
1641         nparams 1
1642           param in name "p" type class_ref 129173 // Point
1643         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1645         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1646   ${body}}
1648         
1649         
1650         
1651       end
1653       classrelation 128105 // <generalisation>
1654         relation 128105 ---|>
1655           a public
1656             cpp default "${type}"
1657             classrelation_ref 128105 // <generalisation>
1658           b parent class_ref 130837 // QMutex
1659       end
1661       classrelation 128168 // <directional composition>
1662         relation 128168 *-->
1663           a role_name "" protected
1664             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1666             classrelation_ref 128168 // <directional composition>
1667           b parent class_ref 129813 // QWaitCondition
1668       end
1669     end
1671     class 130837 "QMutex"
1672       visibility package 
1673       cpp_decl ""
1674       java_decl ""
1675       php_decl ""
1676       idl_decl ""
1677       explicit_switch_type ""
1678       
1679       operation 129769 "lock"
1680         public explicit_return_type "void"
1681         nparams 0
1682         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1684         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1685   ${body}}
1687         
1688         
1689         
1690       end
1692       operation 129897 "unlock"
1693         public explicit_return_type "void"
1694         nparams 0
1695         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1697         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1698   ${body}}
1700         
1701         
1702         
1703       end
1704     end
1706     class 128056 "HumanPlayer"
1707       visibility package 
1708       cpp_decl "${comment}${template}class ${name}${inherit} {
1709 ${members}};
1710 ${inlines}
1712       java_decl ""
1713       php_decl ""
1714       idl_decl ""
1715       explicit_switch_type ""
1716       
1717       operation 128745 "HumanPlayer"
1718         public explicit_return_type ""
1719         nparams 2
1720           param in name "id" explicit_type "int"
1721           param in name "render" type class_ref 128661 // RenderWidget
1722         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${volatile}${throw};
1724         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1725   ${body}}
1727         
1728         
1729         
1730       end
1732       operation 129283 "doMove"
1733         cpp_virtual protected return_type class_ref 129173 // Point
1734         nparams 0
1735         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1737         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1738   ${body}}
1740         
1741         
1742         
1743       end
1745       attribute 128233 "_render"
1746         private type class_ref 128661 // RenderWidget
1747         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1749         java_decl ""
1750         php_decl ""
1751         idl_decl ""
1752       end
1754       classrelation 128361 // <realization>
1755         relation 128361 -_-|>
1756           a public
1757             cpp default "${type}"
1758             classrelation_ref 128361 // <realization>
1759           b parent class_ref 129045 // Player
1760       end
1761     end
1763     class 128184 "RemotePlayer"
1764       visibility package 
1765       cpp_decl "${comment}${template}class ${name}${inherit} {
1766 ${members}};
1767 ${inlines}
1769       java_decl ""
1770       php_decl ""
1771       idl_decl ""
1772       explicit_switch_type ""
1773       
1774       operation 128873 "RemotePlayer"
1775         public explicit_return_type ""
1776         nparams 2
1777           param in name "id" explicit_type "int"
1778           param in name "net" type class_ref 130069 // Network
1779         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${volatile}${throw};
1781         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1782   ${body}}
1784         
1785         
1786         
1787       end
1789       operation 129411 "doMove"
1790         cpp_virtual protected return_type class_ref 129173 // Point
1791         nparams 0
1792         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1794         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1795   ${body}}
1797         
1798         
1799         
1800       end
1802       attribute 128361 "_net"
1803         private type class_ref 130069 // Network
1804         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1806         java_decl ""
1807         php_decl ""
1808         idl_decl ""
1809       end
1811       classrelation 128489 // <realization>
1812         relation 128489 -_-|>
1813           a public
1814             cpp default "${type}"
1815             classrelation_ref 128489 // <realization>
1816           b parent class_ref 129045 // Player
1817       end
1818     end
1820     class 128312 "AIPlayer"
1821       visibility package 
1822       cpp_decl "${comment}${template}class ${name}${inherit} {
1823 ${members}};
1824 ${inlines}
1826       java_decl ""
1827       php_decl ""
1828       idl_decl ""
1829       explicit_switch_type ""
1830       
1831       classrelation 128617 // <realization>
1832         relation 128617 -_-|>
1833           a public
1834             cpp default "${type}"
1835             classrelation_ref 128617 // <realization>
1836           b parent class_ref 129045 // Player
1837       end
1839       classrelation 128216 // <directional composition>
1840         relation 128216 *-->
1841           a role_name "" protected
1842             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1844             classrelation_ref 128216 // <directional composition>
1845           b parent class_ref 129941 // AI
1846       end
1848       attribute 128386 "_DefaultSkill"
1849         class_attribute const_attribute private explicit_type "int"
1850         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1852         java_decl ""
1853         php_decl ""
1854         idl_decl ""
1855       end
1857       attribute 128258 "_skill"
1858         private explicit_type "int"
1859         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1861         java_decl ""
1862         php_decl ""
1863         idl_decl ""
1864       end
1866       attribute 128216 "_ai"
1867         private type class_ref 129941 // AI
1868         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1870         java_decl ""
1871         php_decl ""
1872         idl_decl ""
1873       end
1875       operation 129001 "AIPlayer"
1876         public explicit_return_type ""
1877         nparams 1
1878           param in name "id" explicit_type "int"
1879         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}, const ${t1} & ${p1}, const ${t2} & ${p2}${)}${volatile}${throw};
1881         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
1882   ${body}}
1884         
1885         
1886         
1887         comment "inizializza skill con la costante di classe DefaultSkill"
1888       end
1890       operation 129539 "doMove"
1891         cpp_virtual protected return_type class_ref 129173 // Point
1892         nparams 0
1893         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1895         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1896   ${body}}
1898         
1899         
1900         
1901       end
1903       operation 129410 "forceMove"
1904         public explicit_return_type "void"
1905         nparams 0
1906         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1908         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1909   ${body}}
1911         
1912         
1913         
1914       end
1916       operation 128002 "skill"
1917         const public explicit_return_type "int"
1918         nparams 0
1919         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1921         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1922   ${body}}
1924         
1925         
1926         
1927       end
1929       operation 128130 "setSkill"
1930         public explicit_return_type "void"
1931         nparams 1
1932           param in name "skill" explicit_type "int"
1933         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1935         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1936   ${body}}
1938         
1939         
1940         
1941       end
1943       operation 130704 "undoMove"
1944         stereotype "slot"
1945         public explicit_return_type "void"
1946         nparams 0
1947         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
1949         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
1950   ${body}}
1952         
1953         
1954         
1955       end
1956     end
1958     class 129720 "Suggester"
1959       visibility package 
1960       cpp_decl "${comment}${template}class ${name}${inherit} {
1961 ${members}};
1962 ${inlines}
1964       java_decl ""
1965       php_decl ""
1966       idl_decl ""
1967       explicit_switch_type ""
1968       
1969       classrelation 130616 // <realization>
1970         relation 130616 -_-|>
1971           a public
1972             cpp default "${type}"
1973             classrelation_ref 130616 // <realization>
1974           b parent class_ref 130197 // QThread
1975       end
1977       attribute 128130 "_SuggestedMoveLevel"
1978         class_attribute const_attribute private explicit_type "int"
1979         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1981         java_decl ""
1982         php_decl ""
1983         idl_decl ""
1984       end
1986       attribute 128088 "_ai"
1987         private type class_ref 129941 // AI
1988         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
1990         java_decl ""
1991         php_decl ""
1992         idl_decl ""
1993       end
1995       operation 130744 "Suggester"
1996         public explicit_return_type ""
1997         nparams 1
1998           param in name "id" explicit_type "int"
1999         cpp_decl "    ${comment}${inline}${name}${(}${t0} ${p0}, const ${t1} & ${p1}${)}${volatile}${throw};
2001         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2002   ${body}}
2004         
2005         
2006         
2007       end
2009       operation 128010 "~Suggester"
2010         public explicit_return_type ""
2011         nparams 0
2012         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
2014         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2015   ${body}}
2017         
2018         
2019         
2020       end
2022       operation 128056 "suggestMove"
2023         public return_type class_ref 129173 // Point
2024         nparams 0
2025         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2027         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2028   ${body}}
2030         
2031         
2032         
2033       end
2035       operation 130616 "run"
2036         protected explicit_return_type "void"
2037         nparams 0
2038         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2040         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2041   ${body}}
2043         
2044         
2045         
2046       end
2048       operation 130872 "suggestedMoveReady"
2049         stereotype "signal"
2050         protected explicit_return_type "void"
2051         nparams 1
2052           param in name "point" type class_ref 129173 // Point
2053         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2055         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2056   ${body}}
2058         
2059         
2060         
2061       end
2063       classrelation 128088 // <directional composition>
2064         relation 128088 *-->
2065           a role_name "" protected
2066             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2068             classrelation_ref 128088 // <directional composition>
2069           b parent class_ref 129941 // AI
2070       end
2071     end
2073     class 129848 "HistoryModel"
2074       visibility package 
2075       cpp_decl "${comment}${template}class ${name}${inherit} {
2076 ${members}};
2077 ${inlines}
2079       java_decl ""
2080       php_decl ""
2081       idl_decl ""
2082       explicit_switch_type ""
2083       
2084       classrelation 128637 // <realization>
2085         relation 128637 -_-|>
2086           a public
2087             cpp default "${type}"
2088             classrelation_ref 128637 // <realization>
2089           b parent class_ref 128509 // QAbstractTableModel
2090       end
2092       attribute 130104 "_history"
2093         private explicit_type "QList<Move>"
2094         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2096         java_decl ""
2097         php_decl ""
2098         idl_decl ""
2099       end
2101       operation 128765 "columnCount"
2102         const cpp_virtual public explicit_return_type "int"
2103         nparams 1
2104           param in name "parent" explicit_type "QModelIndex"
2105         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2107         
2108         
2109         
2110       end
2112       operation 128637 "rowCount"
2113         const cpp_virtual public explicit_return_type "int"
2114         nparams 1
2115           param in name "parent" explicit_type "QModelIndex"
2116         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
2118         
2119         
2120         
2121       end
2123       operation 128509 "data"
2124         const cpp_virtual public explicit_return_type "QVariant"
2125         nparams 2
2126           param in name "index" explicit_type "QModelIndex"
2127           param in name "role" explicit_type "int"
2128             defaultvalue "Qt::DisplayRole"
2129         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}, ${t1} ${p1}${)}${const}${volatile}${throw}${abstract};
2131         
2132         
2133         
2134       end
2136       operation 128893 "flags"
2137         const cpp_virtual public explicit_return_type "Qt::ItemFlags"
2138         nparams 1
2139           param in name "index" explicit_type "QModelIndex"
2140         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2142         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2143   ${body}}
2145         
2146         
2147         
2148       end
2150       operation 129021 "headerData"
2151         const cpp_virtual public explicit_return_type "QVariant"
2152         nparams 3
2153           param in name "section" explicit_type "int"
2154           param in name "orientation" explicit_type "Qt::Orientation"
2155           param in name "role" explicit_type "int"
2156         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}, const ${t1} & ${p1}, ${t2} ${p2}${)}${const}${volatile}${throw}${abstract};
2158         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2159   ${body}}
2161         
2162         
2163         
2164       end
2166       operation 131128 "add"
2167         public explicit_return_type "void"
2168         nparams 1
2169           param in name "move" type class_ref 129301 // Move
2170         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2172         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2173   ${body}}
2175         
2176         
2177         
2178       end
2180       operation 129259 "insertRows"
2181         cpp_virtual public explicit_return_type "bool"
2182         nparams 3
2183           param in name "row" explicit_type "int"
2184           param in name "count" explicit_type "int"
2185           param in name "parent" explicit_type "QModelIndex"
2186         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2188         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2189   ${body}}
2191         
2192         
2193         
2194       end
2196       operation 129387 "removeRows"
2197         cpp_virtual public explicit_return_type "bool"
2198         nparams 3
2199           param in name "row" explicit_type "int"
2200           param in name "count" explicit_type "int"
2201           param in name "parent" explicit_type "QModelIndex"
2202         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2204         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2205   ${body}}
2207         
2208         
2209         
2210       end
2212       operation 129442 "moveList"
2213         const public explicit_return_type "QList<Move>"
2214         nparams 0
2215         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2217         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2218   ${body}}
2220         
2221         
2222         
2223       end
2224     end
2226     class 129976 "PlayerInfo"
2227       visibility package 
2228       cpp_decl "${comment}${template}class ${name}${inherit} {
2229 ${members}};
2230 ${inlines}
2232       java_decl ""
2233       php_decl ""
2234       idl_decl ""
2235       explicit_switch_type ""
2236       
2237       attribute 130360 "_name"
2238         private type class_ref 128440 // QString
2239         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2241         java_decl ""
2242         php_decl ""
2243         idl_decl ""
2244       end
2246       attribute 130488 "_color"
2247         private type class_ref 128253 // QColor
2248         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2250         java_decl ""
2251         php_decl ""
2252         idl_decl ""
2253       end
2255       attribute 130616 "_type"
2256         private type class_ref 128440 // QString
2257         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2259         java_decl ""
2260         php_decl ""
2261         idl_decl ""
2262       end
2264       operation 128730 "PlayerInfo"
2265         public explicit_return_type ""
2266         nparams 0
2267         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
2269         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2270   ${body}}
2272         
2273         
2274         
2275         comment "costruisce un oggetto di tipo PlayerInfo NON valido, ovvero con type == \"\"."
2276       end
2278       operation 129131 "PlayerInfo"
2279         public explicit_return_type ""
2280         nparams 3
2281           param in name "name" type class_ref 128440 // QString
2282           param in name "color" type class_ref 128253 // QColor
2283           param in name "type" type class_ref 128440 // QString
2284         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
2286         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2287   ${body}}
2289         
2290         
2291         
2292       end
2294       operation 128346 "name"
2295         const public return_type class_ref 128440 // QString
2296         nparams 0
2297         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2299         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2300   ${body}}
2302         
2303         
2304         
2305       end
2307       operation 128474 "color"
2308         const public return_type class_ref 128253 // QColor
2309         nparams 0
2310         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2312         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2313   ${body}}
2315         
2316         
2317         
2318       end
2320       operation 128602 "type"
2321         const public return_type class_ref 128440 // QString
2322         nparams 0
2323         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2325         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2326   ${body}}
2328         
2329         
2330         
2331       end
2332     end
2334     class 128125 "QTimer"
2335       visibility package 
2336       cpp_decl "${comment}${template}class ${name}${inherit} {
2337 ${members}};
2338 ${inlines}
2340       java_decl ""
2341       php_decl ""
2342       idl_decl ""
2343       explicit_switch_type ""
2344       
2345       operation 128253 "start"
2346         stereotype "slot"
2347         public explicit_return_type "void"
2348         nparams 1
2349           param in name "msec" explicit_type "int"
2350         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2352         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2353   ${body}}
2355         
2356         
2357         
2358       end
2360       operation 128381 "stop"
2361         stereotype "slot"
2362         public explicit_return_type "void"
2363         nparams 0
2364         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2366         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2367   ${body}}
2369         
2370         
2371         
2372       end
2374       operation 128125 "timeout"
2375         stereotype "signal"
2376         protected explicit_return_type "void"
2377         nparams 0
2378         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2380         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2381   ${body}}
2383         
2384         
2385         
2386       end
2387     end
2389     class 128253 "QColor"
2390       visibility package 
2391       cpp_decl "${comment}${template}class ${name}${inherit} {
2392 ${members}};
2393 ${inlines}
2395       java_decl ""
2396       php_decl ""
2397       idl_decl ""
2398       explicit_switch_type ""
2399       
2400     end
2402     class 128381 "TimerWidget"
2403       visibility package 
2404       cpp_decl "${comment}${template}class ${name}${inherit} {
2405 ${members}};
2406 ${inlines}
2408       java_decl ""
2409       php_decl ""
2410       idl_decl ""
2411       explicit_switch_type ""
2412       
2413       attribute 128125 "_timer"
2414         private type class_ref 128125 // QTimer
2415         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2417         java_decl ""
2418         php_decl ""
2419         idl_decl ""
2420       end
2422       classrelation 128381 // <directional composition>
2423         relation 128381 *-->
2424           a role_name "" protected
2425             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2427             classrelation_ref 128381 // <directional composition>
2428           b parent class_ref 128125 // QTimer
2429       end
2431       classrelation 128509 // <generalisation>
2432         relation 128509 ---|>
2433           a public
2434             cpp default "${type}"
2435             classrelation_ref 128509 // <generalisation>
2436           b parent class_ref 128533 // QWidget
2437       end
2438     end
2440     class 128509 "QAbstractTableModel"
2441       abstract visibility package 
2442       cpp_decl "${comment}${template}class ${name}${inherit} {
2443 ${members}};
2444 ${inlines}
2446       java_decl ""
2447       php_decl ""
2448       idl_decl ""
2449       explicit_switch_type ""
2450       
2451     end
2453     class 128893 "QTableView"
2454       visibility package 
2455       cpp_decl "${comment}${template}class ${name}${inherit} {
2456 ${members}};
2457 ${inlines}
2459       java_decl ""
2460       php_decl ""
2461       idl_decl ""
2462       explicit_switch_type ""
2463       
2464       classrelation 128444 // <generalisation>
2465         relation 128444 ---|>
2466           a public
2467             cpp default "${type}"
2468             classrelation_ref 128444 // <generalisation>
2469           b parent class_ref 128533 // QWidget
2470       end
2472       classrelation 128191 // <dependency>
2473         relation 128191 -_->
2474           a default
2475             cpp default "#include in source"
2476             classrelation_ref 128191 // <dependency>
2477           b parent class_ref 129848 // HistoryModel
2478       end
2479     end
2481     class 129021 "PlayersWidget"
2482       visibility package 
2483       cpp_decl "${comment}${template}class ${name}${inherit} {
2484 ${members}};
2485 ${inlines}
2487       java_decl ""
2488       php_decl ""
2489       idl_decl ""
2490       explicit_switch_type ""
2491       
2492       comment "rappresenta turno, colore, tipo, nome dei players"
2493       operation 129149 "PlayersWidget"
2494         public explicit_return_type ""
2495         nparams 1
2496           param in name "info" explicit_type "QList<PlayerInfo>"
2497         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
2499         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2500   ${body}}
2502         
2503         
2504         
2505         comment "crea un QLabel per ogni player con \"freccia turno\", colore, tipo, nome."
2506       end
2508       classrelation 128828 // <generalisation>
2509         relation 128828 ---|>
2510           a public
2511             cpp default "${type}"
2512             classrelation_ref 128828 // <generalisation>
2513           b parent class_ref 128533 // QWidget
2514       end
2515     end
2517     class 128227 "SoQtRenderArea"
2518       visibility package 
2519       cpp_decl "${comment}${template}class ${name}${inherit} {
2520 ${members}};
2521 ${inlines}
2523       java_decl ""
2524       php_decl ""
2525       idl_decl ""
2526       explicit_switch_type ""
2527       
2528     end
2530     class 128099 "CubeRenderArea"
2531       visibility package 
2532       cpp_decl "${comment}${template}class ${name}${inherit} {
2533 ${members}};
2534 ${inlines}
2536       java_decl ""
2537       php_decl ""
2538       idl_decl ""
2539       explicit_switch_type ""
2540       
2541       class 128739 "Direction"
2542         visibility protected stereotype "enum"
2543         cpp_decl "${comment}${template}class ${name}${inherit} {
2544 ${members}};
2545 ${inlines}
2547         java_decl ""
2548         php_decl ""
2549         idl_decl ""
2550         explicit_switch_type ""
2551         
2552         attribute 129635 "UP"
2553           public explicit_type ""
2554           cpp_decl ""
2555           java_decl ""
2556           php_decl ""
2557           idl_decl ""
2558         end
2560         attribute 129763 "DOWN"
2561           public explicit_type ""
2562           cpp_decl ""
2563           java_decl ""
2564           php_decl ""
2565           idl_decl ""
2566         end
2568         attribute 129891 "LEFT"
2569           public explicit_type ""
2570           cpp_decl ""
2571           java_decl ""
2572           php_decl ""
2573           idl_decl ""
2574         end
2576         attribute 130019 "RIGHT"
2577           public explicit_type ""
2578           cpp_decl ""
2579           java_decl ""
2580           php_decl ""
2581           idl_decl ""
2582         end
2584         attribute 130147 "IN"
2585           public explicit_type ""
2586           cpp_decl ""
2587           java_decl ""
2588           php_decl ""
2589           idl_decl ""
2590         end
2592         attribute 130275 "OUT"
2593           public explicit_type ""
2594           cpp_decl ""
2595           java_decl ""
2596           php_decl ""
2597           idl_decl ""
2598         end
2599       end
2601       class 128355 "Orientation"
2602         visibility protected stereotype "enum"
2603         cpp_decl "${comment}${template}class ${name}${inherit} {
2604 ${members}};
2605 ${inlines}
2607         java_decl ""
2608         php_decl ""
2609         idl_decl ""
2610         explicit_switch_type ""
2611         
2612         attribute 128483 "X_POSITIVE"
2613           public explicit_type ""
2614           cpp_decl "  ${name}${value},${comment}"
2615           java_decl ""
2616           php_decl ""
2617           idl_decl ""
2618         end
2620         attribute 128739 "X_NEGATIVE"
2621           public explicit_type ""
2622           cpp_decl ""
2623           java_decl ""
2624           php_decl ""
2625           idl_decl ""
2626         end
2628         attribute 128867 "Y_POSITIVE"
2629           public explicit_type ""
2630           cpp_decl ""
2631           java_decl ""
2632           php_decl ""
2633           idl_decl ""
2634         end
2636         attribute 128995 "Y_NEGATIVE"
2637           public explicit_type ""
2638           cpp_decl ""
2639           java_decl ""
2640           php_decl ""
2641           idl_decl ""
2642         end
2644         attribute 129123 "Z_POSITIVE"
2645           public explicit_type ""
2646           cpp_decl ""
2647           java_decl ""
2648           php_decl ""
2649           idl_decl ""
2650         end
2652         attribute 129251 "Z_NEGATIVE"
2653           public explicit_type ""
2654           cpp_decl ""
2655           java_decl ""
2656           php_decl ""
2657           idl_decl ""
2658         end
2660         attribute 128111 "NO_ORIENTATION"
2661           protected explicit_type ""
2662           cpp_decl ""
2663           java_decl ""
2664           php_decl ""
2665           idl_decl ""
2666         end
2667       end
2669       classrelation 128227 // <generalisation>
2670         relation 128227 ---|>
2671           a public
2672             cpp default "${type}"
2673             classrelation_ref 128227 // <generalisation>
2674           b parent class_ref 128227 // SoQtRenderArea
2675       end
2677       classrelation 128458 // <directional composition>
2678         relation 128330 *-->
2679           a role_name "" multiplicity "0..1" protected
2680             cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
2682             classrelation_ref 128458 // <directional composition>
2683           b parent class_ref 128867 // SceneGraph
2684       end
2686       attribute 128586 "_scene"
2687         private type class_ref 128867 // SceneGraph
2688         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2690         java_decl ""
2691         php_decl ""
2692         idl_decl ""
2693       end
2695       attribute 128099 "_acceptMove"
2696         private explicit_type "bool"
2697         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2699         java_decl ""
2700         php_decl ""
2701         idl_decl ""
2702       end
2704       attribute 128355 "_numCubes"
2705         private explicit_type "int"
2706         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2708         java_decl ""
2709         php_decl ""
2710         idl_decl ""
2711       end
2713       attribute 129994 "_isExploded"
2714         private explicit_type "sbBool"
2715         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2717         java_decl ""
2718         php_decl ""
2719         idl_decl ""
2720       end
2722       attribute 128227 "_isRotating"
2723         private explicit_type "sbBool"
2724         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2726         java_decl ""
2727         php_decl ""
2728         idl_decl ""
2729       end
2731       attribute 129379 "_frontSide"
2732         private type class_ref 128355 // Orientation
2733         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2735         java_decl ""
2736         php_decl ""
2737         idl_decl ""
2738       end
2740       attribute 129507 "_upSide"
2741         private type class_ref 128355 // Orientation
2742         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2744         java_decl ""
2745         php_decl ""
2746         idl_decl ""
2747       end
2749       operation 128611 "CubeRenderArea"
2750         public explicit_return_type ""
2751         nparams 2
2752           param in name "parent" explicit_type "QWidget*"
2753           param in name "dim" explicit_type "int"
2754         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
2756         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2757   ${body}}
2759         
2760         
2761         
2762         comment "costruttore: costruisce SoQtRenderArea passando il parent. setta num_cubes con il valore dim, costruisce SceneGraph e poi chiama una funzione che gli ritorna il parametro _root , che imposta come grafo con una funzione di SoQtRenderArea"
2763       end
2765       operation 128227 "drawMove"
2766         public explicit_return_type "void"
2767         nparams 2
2768           param in name "p" type class_ref 129173 // Point
2769           param in name "c" explicit_type "sbColor"
2770         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2772         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2773   ${body}}
2775         
2776         
2777         
2778       end
2780       operation 129738 "doMove"
2781         public explicit_return_type "void"
2782         nparams 0
2783         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2785         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2786   ${body}}
2788         
2789         
2790         
2791         comment "se _acceptMove Ã¨ vero, allora estrae il point dal cubo selezionato e, se non Ã¨ gia di un altro giocatore, prende il lock su SyncSharedCondition(singleton quindi metodo statico per avere il puntatore), chiama la drawMove col colore del giocatore,setta acceptmove a false, poi chiama la notifyMove su SyncSharedCondition e rilascia il lock."
2792       end
2794       operation 128739 "getOrientation"
2795         public return_type class_ref 128355 // Orientation
2796         nparams 1
2797           param in name "dir" type class_ref 128739 // Direction
2798         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2800         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2801   ${body}}
2803         
2804         
2805         
2806         comment "analizzando il frontside e l'upside ritorna l orientazione di destra sinistra ecc rispetto l'osservetore (usata nella explodeCubeCB)"
2807       end
2809       operation 128355 "selectCube"
2810         public explicit_return_type "void"
2811         nparams 2
2812           param in name "p" type class_ref 129173 // Point
2813           param in name "c" explicit_type "sbColor"
2814             defaultvalue "255,0,0"
2815         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2817         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2818   ${body}}
2820         
2821         
2822         
2823         comment "usata dal suggeritore della mossa e dall'event dispatcher.
2824 il valore di default del parametro c, Ã¨ il colore usato per la selezione nel caso generale.
2825 setta il colore di _highlightAction uguale al parametro, aggiorna _selector e _selectedCube (tutto nello oggetto di tipo SceneGraph)"
2826       end
2828       attribute 130122 "_hasPreviousPick"
2829         private explicit_type "bool"
2830         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2832         java_decl ""
2833         php_decl ""
2834         idl_decl ""
2835         comment "utilizzato per gestire gli eventi del mouse..il primo click Ã¨ da ignorare perchè da coordinate sballate"
2836       end
2838       attribute 130250 "_lastXPick"
2839         private explicit_type "float"
2840         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2842         java_decl ""
2843         php_decl ""
2844         idl_decl ""
2845         comment "coordinate x dell ultimo click"
2846       end
2848       attribute 130378 "_lastYPick"
2849         private explicit_type "float"
2850         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2852         java_decl ""
2853         php_decl ""
2854         idl_decl ""
2855       end
2857       attribute 130506 "_projection"
2858         private explicit_type "sbSphereSheetProjector"
2859         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2861         java_decl ""
2862         php_decl ""
2863         idl_decl ""
2864         comment "usato per la telecamera. guardare documentazione"
2865       end
2867       operation 128586 "rotateCamera"
2868         public explicit_return_type "void"
2869         nparams 2
2870           param in name "newX" explicit_type "float"
2871           param in name "newY" explicit_type "float"
2872         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2874         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2875   ${body}}
2877         
2878         
2879         
2880         comment "calcola la rotazione e chiama applyRotationToCamera di SceneGraph. Aggiorna i campi FrontSide e UpSide."
2881       end
2883       operation 128714 "zoomCamera"
2884         public explicit_return_type "void"
2885         nparams 1
2886           param in name "delta" explicit_type "int"
2887         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2889         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2890   ${body}}
2892         
2893         
2894         
2895         comment "(modifica il delta e) chiama applyRotationToCamera di SceneGraph"
2896       end
2898       operation 128202 "eventDispatcher"
2899         class_operation public explicit_return_type "void"
2900         nparams 2
2901           param in name "userdata" explicit_type "void*"
2902           param in name "eventCB" explicit_type "QEvent*"
2903         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2905         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2906   ${body}}
2908         
2909         
2910         
2911         comment "il dispatcher degli eventi..li raccoglie e chiama le funzioni adeguate. Gestisce tutti gli eventi tranne la selezione di una casella, che viene gestita direttamente da altre due funzioni di callback
2912 casi particolari:
2913 -SPAZIO: per chiamare la applyExplosion() passare come parametro _frontside
2914          per chiamare la applyImplosion() passare il parametro TRUE
2916 -TASTI DIREZIONALI: invocare la applyExplosion() con parametro uguale scenegraph.getDirectionOfExplosion()
2917                         invocare la applyImplosion() con parametro uguale a FALSE"
2918       end
2920       operation 128330 "cubeSelected"
2921         class_operation public explicit_return_type "void"
2922         nparams 2
2923           param in name "data" explicit_type "void*"
2924           param in name "path" explicit_type "SoPath*"
2925         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2927         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2928   ${body}}
2930         
2931         
2932         
2933         comment "gestisce la selezione di un cubo. Mette nel campo _selectedCube il soseparator contenuto nel SoPath. Il primo parametro Ã¨ la CubeRenderArea"
2934       end
2936       operation 128458 "cubeDeselected"
2937         class_operation public explicit_return_type "void"
2938         nparams 2
2939           param in name "data" explicit_type "void*"
2940           param in name "path" explicit_type "SoPath*"
2941         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
2943         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
2944   ${body}}
2946         
2947         
2948         
2949         comment "deseleziona la casella ( cioè mette a null _selectedCube). data Ã¨ il CubeRenderArea"
2950       end
2952       attribute 128091 "_highlightAction"
2953         private explicit_type "SoLineHighlightRenderAction*"
2954         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2956         java_decl ""
2957         php_decl ""
2958         idl_decl ""
2959       end
2961       attribute 128039 "_mutex"
2962         private type class_ref 130837 // QMutex
2963         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2965         java_decl ""
2966         php_decl ""
2967         idl_decl ""
2968       end
2969     end
2971     class 128867 "SceneGraph"
2972       visibility package 
2973       cpp_decl "${comment}${template}class ${name}${inherit} {
2974 ${members}};
2975 ${inlines}
2977       java_decl ""
2978       php_decl ""
2979       idl_decl ""
2980       explicit_switch_type ""
2981       
2982       attribute 128458 "_renderArea"
2983         private type class_ref 128099 // CubeRenderArea
2984         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
2986         java_decl ""
2987         php_decl ""
2988         idl_decl ""
2989       end
2991       operation 128842 "SceneGraph"
2992         public explicit_return_type ""
2993         nparams 2
2994           param in name "ra" explicit_type "CubeRenderArea*"
2995           param in name "dim" explicit_type "int"
2996         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
2998         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
2999   ${body}}
3001         
3002         
3003         
3004         comment "costruttore: costruisce la scena di dimensioni dim*dim*dim , inizializza tutti i campi e la matrice"
3005       end
3007       attribute 128074 "_root"
3008         private explicit_type "SoSeparator"
3009         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3011         java_decl ""
3012         php_decl ""
3013         idl_decl ""
3014         comment "il nodo radice del grafo: i suoi fogli saranno la camera la luce e _selector, che conterrà i due sogroup contenenti le caselle di gioco"
3015       end
3017       attribute 128202 "_camera"
3018         private explicit_type "SoCamera"
3019         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3021         java_decl ""
3022         php_decl ""
3023         idl_decl ""
3024       end
3026       attribute 128330 "_light"
3027         private explicit_type "SoLight"
3028         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3030         java_decl ""
3031         php_decl ""
3032         idl_decl ""
3033       end
3035       attribute 128714 "_selector"
3036         private explicit_type "SoSelection"
3037         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3039         java_decl ""
3040         php_decl ""
3041         idl_decl ""
3042       end
3044       attribute 128842 "_fixedCubes"
3045         private explicit_type "SoGroup"
3046         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3048         java_decl ""
3049         php_decl ""
3050         idl_decl ""
3051         comment "i cubi che non sono esplosi"
3052       end
3054       attribute 128970 "_movedCubes"
3055         private explicit_type "QLinkedList<SoGroup*>"
3056         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3058         java_decl ""
3059         php_decl ""
3060         idl_decl ""
3061         comment "i cubi esplosi"
3062       end
3064       attribute 129098 "_shape"
3065         private explicit_type "SoShape"
3066         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3068         java_decl ""
3069         php_decl ""
3070         idl_decl ""
3071         comment "la forma delle caselle..istanziato a SoCube o SoSphere"
3072       end
3074       attribute 129354 "_mover"
3075         private explicit_type "QLinkedList<SoTranslation>"
3076         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3078         java_decl ""
3079         php_decl ""
3080         idl_decl ""
3081         comment "lista di traslazioni, una per ogni livello esploso"
3082       end
3084       attribute 129482 "_interpolator"
3085         private explicit_type "QLinkedList<SoInterpolateVec3f>"
3086         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3088         java_decl ""
3089         php_decl ""
3090         idl_decl ""
3091         comment "interpolazione per effetto \"scorrimento\" della explodeCube"
3092       end
3094       attribute 129610 "_timer"
3095         private explicit_type "QLinkedList<SoOneShot>"
3096         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3098         java_decl ""
3099         php_decl ""
3100         idl_decl ""
3101         comment "lista di timer"
3102       end
3104       attribute 129738 "_explodeSensor"
3105         private explicit_type "SoOneShotSensor"
3106         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3108         java_decl ""
3109         php_decl ""
3110         idl_decl ""
3111         comment "classe che schedula la explode e la implode.
3112 Come callback avra' la explodeCubeCB di CubeRenderArea"
3113       end
3115       attribute 129866 "_graphMatrix"
3116         private explicit_type "SoSeparator*"
3117         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3119         java_decl ""
3120         php_decl ""
3121         idl_decl ""
3122         comment "Matrice tridimensionale che contiene i puntatori ad ogni nodo che rappresenta un cubo"
3123       end
3125       operation 128970 "applyRotationToCamera"
3126         public explicit_return_type "void"
3127         nparams 1
3128           param in name "rot" explicit_type "SbRotation*"
3129         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3131         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3132   ${body}}
3134         
3135         
3136         
3137         comment "applica la rotazione rot alla telecamera"
3138       end
3140       operation 129098 "applyTranslationToCamera"
3141         public explicit_return_type "void"
3142         nparams 1
3143           param in name "delta" explicit_type "int"
3144         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3146         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3147   ${body}}
3149         
3150         
3151         
3152         comment "applica una traslazione alla telecamera. Usata per lo zoom"
3153       end
3155       operation 129226 "applyExplosionToCube"
3156         public explicit_return_type "void"
3157         nparams 1
3158           param in name "desired" type class_ref 128355 // Orientation
3159         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3161         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3162   ${body}}
3164         
3165         
3166         
3167         comment "se desired NON Ã¨ uguale a _directionOfExplosion, il cubo si trova in uno stato INCONSISTENTE
3168 devo prima pulire i 3 array interpolator, timer, mover e spostare i cubi in _fixedCubes
3169 setto il campo _directionOfExplosion
3170 sempre:
3171 -chiamo n volte la explodeLevel()
3174       end
3176       operation 129354 "applyImplosionToCube"
3177         public explicit_return_type "void"
3178         nparams 0
3179         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3181         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3182   ${body}}
3184         
3185         
3186         
3187         comment "apllica l'implosione.
3188 Se il booleano all == true, bisogna chiudere TUTTI i livelli, in caso contrario si implodono i livelli
3189 fino al cursore"
3190       end
3192       operation 128074 "getRoot"
3193         public explicit_return_type "SoSeparator*"
3194         nparams 0
3195         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3197         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3198   ${body}}
3200         
3201         
3202         
3203       end
3205       operation 129482 "explodeLevel"
3206         private explicit_return_type "void"
3207         nparams 0
3208         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3210         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3211   ${body}}
3213         
3214         
3215         
3216         comment "funzione ausiliaria: aggiunge un livello a quelli esplosi e lo fa spostare.
3217 Confronta le dimensioni degli array con _explodedLevels:
3218 -se maggiori o uguali si tratta di una esplosione \"ex novo\", tolgo i cubi da _fixedCubes
3219 -altrimenti si tratta di un livello esploso precedentemente, inverto le posizioni del mover, attivo il timer
3220 INCREMENTARE _explodedLevels in ogni caso"
3221       end
3223       operation 129610 "implodeLevel"
3224         private explicit_return_type "void"
3225         nparams 0
3226         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3228         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3229   ${body}}
3231         
3232         
3233         
3234         comment "funzione ausiliaria. Implode l ultimo livello esploso
3235 invertire le posizioni del mover e attivare il timer
3236 DECREMENTARE _explodedLevels"
3237       end
3239       attribute 128239 "_selectedCube"
3240         private explicit_type "SoSeparator"
3241         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3243         java_decl ""
3244         php_decl ""
3245         idl_decl ""
3246       end
3248       attribute 128367 "_directionOfExplosion"
3249         private type class_ref 128355 // Orientation
3250         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3252         java_decl ""
3253         php_decl ""
3254         idl_decl ""
3255       end
3257       attribute 128495 "_explodedLevels"
3258         private explicit_type "int"
3259         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3261         java_decl ""
3262         php_decl ""
3263         idl_decl ""
3264       end
3265     end
3267     class 128008 "QSettings"
3268       visibility package 
3269       cpp_decl "${comment}${template}class ${name}${inherit} {
3270 ${members}};
3271 ${inlines}
3273       java_decl ""
3274       php_decl ""
3275       idl_decl ""
3276       explicit_switch_type ""
3277       
3278     end
3280     class 128426 "AbstractSettings"
3281       abstract visibility package 
3282       cpp_decl "${comment}${template}class ${name}${inherit} {
3283 ${members}};
3284 ${inlines}
3286       java_decl ""
3287       php_decl ""
3288       idl_decl ""
3289       explicit_switch_type ""
3290       
3291       operation 128776 "language"
3292         abstract const cpp_virtual public return_type class_ref 128440 // QString
3293         nparams 0
3294         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3296         
3297         
3298         
3299       end
3301       operation 128090 "dockState"
3302         abstract const cpp_virtual public explicit_return_type "QByteArray"
3303         nparams 0
3304         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3306         
3307         
3308         
3309       end
3311       operation 129416 "geometry"
3312         abstract const cpp_virtual public explicit_return_type "QByteArray"
3313         nparams 0
3314         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3316         
3317         
3318         
3319       end
3321       operation 128444 "defaultCubeColor"
3322         abstract const cpp_virtual public return_type class_ref 128253 // QColor
3323         nparams 0
3324         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3326         
3327         
3328         
3329       end
3331       operation 128619 "backgroundColor"
3332         abstract const cpp_virtual public return_type class_ref 128253 // QColor
3333         nparams 0
3334         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3336         
3337         
3338         
3339       end
3341       operation 129544 "setLanguage"
3342         abstract cpp_virtual public explicit_return_type "void"
3343         nparams 1
3344           param in name "lang" type class_ref 128440 // QString
3345         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3347         
3348         
3349         
3350       end
3352       operation 128218 "setDockState"
3353         abstract const cpp_virtual public explicit_return_type "void"
3354         nparams 1
3355           param in name "state" explicit_type "QByteArray"
3356         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3358         
3359         
3360         
3361       end
3363       operation 129800 "setGeometry"
3364         abstract cpp_virtual public explicit_return_type "void"
3365         nparams 1
3366           param in name "geom" explicit_type "QByteArray"
3367         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3369         
3370         
3371         
3372       end
3374       operation 128572 "setDefaultCubeColor"
3375         abstract cpp_virtual public explicit_return_type "void"
3376         nparams 1
3377           param in name "color" type class_ref 128253 // QColor
3378         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3380         
3381         
3382         
3383       end
3385       operation 128747 "setBackgroundColor"
3386         abstract cpp_virtual public explicit_return_type "void"
3387         nparams 1
3388           param in name "color" type class_ref 128253 // QColor
3389         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3391         
3392         
3393         
3394       end
3395     end
3397     class 130453 "SettingsManager"
3398       abstract visibility package 
3399       cpp_decl "${comment}${template}class ${name}${inherit} {
3400 ${members}};
3401 ${inlines}
3403       java_decl ""
3404       php_decl ""
3405       idl_decl ""
3406       explicit_switch_type ""
3407       
3408       operation 128904 "playersInfo"
3409         abstract const cpp_virtual public explicit_return_type "QList<PlayerInfo>"
3410         nparams 0
3411         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3413         
3414         
3415         
3416       end
3418       operation 129032 "difficulty1"
3419         abstract const cpp_virtual public explicit_return_type "int"
3420         nparams 0
3421         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3423         
3424         
3425         
3426       end
3428       operation 129160 "difficulty2"
3429         abstract const cpp_virtual public explicit_return_type "int"
3430         nparams 0
3431         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3433         
3434         
3435         
3436       end
3438       operation 129672 "setPlayersInfo"
3439         abstract cpp_virtual public explicit_return_type "void"
3440         nparams 1
3441           param in name "info" explicit_type "QList<PlayerInfo>"
3442         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}const ${t0} & ${p0}${)}${const}${volatile}${throw}${abstract};
3444         
3445         
3446         
3447       end
3449       operation 128009 "setDifficulty1"
3450         abstract cpp_virtual public explicit_return_type "void"
3451         nparams 1
3452           param in name "d1" explicit_type "int"
3453         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${t0} ${p0}${)}${const}${volatile}${throw}${abstract};
3455         
3456         
3457         
3458       end
3460       operation 128137 "setDifficulty2"
3461         abstract cpp_virtual public explicit_return_type "void"
3462         nparams 1
3463           param in name "d2" explicit_type "int"
3464         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3466         
3467         
3468         
3469       end
3471       classrelation 129450 // <generalisation>
3472         relation 129450 ---|>
3473           a public
3474             cpp default "${type}"
3475             classrelation_ref 129450 // <generalisation>
3476           b parent class_ref 128426 // AbstractSettings
3477       end
3478     end
3480     class 128042 "LocalSettings"
3481       visibility package 
3482       cpp_decl "${comment}${template}class ${name}${inherit} {
3483 ${members}};
3484 ${inlines}
3486       java_decl ""
3487       php_decl ""
3488       idl_decl ""
3489       explicit_switch_type ""
3490       
3491       classrelation 129578 // <generalisation>
3492         relation 129578 ---|>
3493           a public
3494             cpp default "${type}"
3495             classrelation_ref 129578 // <generalisation>
3496           b parent class_ref 128298 // GUISettings
3497       end
3499       classrelation 129962 // <realization>
3500         relation 129962 -_-|>
3501           a public
3502             cpp default "${type}"
3503             classrelation_ref 129962 // <realization>
3504           b parent class_ref 130453 // SettingsManager
3505       end
3506     end
3508     class 128170 "ServerSettings"
3509       visibility package 
3510       cpp_decl "${comment}${template}class ${name}${inherit} {
3511 ${members}};
3512 ${inlines}
3514       java_decl ""
3515       php_decl ""
3516       idl_decl ""
3517       explicit_switch_type ""
3518       
3519       operation 129186 "serverPort"
3520         const public explicit_return_type "quint16"
3521         nparams 0
3522         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3524         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3525   ${body}}
3527         
3528         
3529         
3530       end
3532       operation 128170 "timerDuration"
3533         const public explicit_return_type "int"
3534         nparams 0
3535         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3537         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3538   ${body}}
3540         
3541         
3542         
3543       end
3545       operation 129314 "setServerPort"
3546         public explicit_return_type "void"
3547         nparams 1
3548           param in name "port" explicit_type "quint16"
3549         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3551         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3552   ${body}}
3554         
3555         
3556         
3557       end
3559       operation 128298 "setTimerDuration"
3560         public explicit_return_type "void"
3561         nparams 1
3562           param in name "msec" explicit_type "int"
3563         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3565         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3566   ${body}}
3568         
3569         
3570         
3571       end
3573       classrelation 129706 // <generalisation>
3574         relation 129706 ---|>
3575           a public
3576             cpp default "${type}"
3577             classrelation_ref 129706 // <generalisation>
3578           b parent class_ref 128298 // GUISettings
3579       end
3581       classrelation 129834 // <realization>
3582         relation 129834 -_-|>
3583           a public
3584             cpp default "${type}"
3585             classrelation_ref 129834 // <realization>
3586           b parent class_ref 130453 // SettingsManager
3587       end
3588     end
3590     class 128298 "GUISettings"
3591       visibility package 
3592       cpp_decl "${comment}${template}class ${name}${inherit} {
3593 ${members}};
3594 ${inlines}
3596       java_decl ""
3597       php_decl ""
3598       idl_decl ""
3599       explicit_switch_type ""
3600       
3601       classrelation 129194 // <realization>
3602         relation 129194 -_-|>
3603           a public
3604             cpp default "${type}"
3605             classrelation_ref 129194 // <realization>
3606           b parent class_ref 128426 // AbstractSettings
3607       end
3609       classrelation 129322 // <generalisation>
3610         relation 129322 ---|>
3611           stereotype "protected"
3612           a protected
3613             cpp default "${type}"
3614             classrelation_ref 129322 // <generalisation>
3615           b parent class_ref 128008 // QSettings
3616       end
3617     end
3619     class 129345 "GameClient"
3620       visibility package 
3621       cpp_decl "${comment}${template}class ${name}${inherit} {
3622 ${members}};
3623 ${inlines}
3625       java_decl ""
3626       php_decl ""
3627       idl_decl ""
3628       explicit_switch_type ""
3629       
3630       classrelation 129345 // <realization>
3631         relation 129345 -_-|>
3632           a public
3633             cpp default "${type}"
3634             classrelation_ref 129345 // <realization>
3635           b parent class_ref 130069 // Network
3636       end
3638       classrelation 129168 // <directional composition>
3639         relation 129168 *-->
3640           a role_name "" protected
3641             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3643             classrelation_ref 129168 // <directional composition>
3644           b parent class_ref 129168 // ClientSocket
3645       end
3647       attribute 129267 "_localPlayer"
3648         private explicit_type "int"
3649         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3651         java_decl ""
3652         php_decl ""
3653         idl_decl ""
3654       end
3656       attribute 129296 "_server"
3657         private type class_ref 129168 // ClientSocket
3658         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3660         java_decl ""
3661         php_decl ""
3662         idl_decl ""
3663       end
3665       operation 129296 "GameClient"
3666         public explicit_return_type ""
3667         nparams 3
3668           param in name "gui" type class_ref 128533 // QWidget
3669           param in name "serverAddress" type class_ref 128440 // QString
3670           param in name "serverPort" explicit_type "quint16"
3671         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
3673         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
3674   ${body}}
3676         
3677         
3678         
3679       end
3681       operation 129561 "~GameClient"
3682         cpp_virtual public explicit_return_type ""
3683         nparams 0
3684         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
3686         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
3687   ${body}}
3689         
3690         
3691         
3692       end
3694       operation 129424 "requestMove"
3695         cpp_virtual public return_type class_ref 129173 // Point
3696         nparams 0
3697         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3699         
3700         
3701         
3702       end
3704       operation 129552 "setupChat"
3705         cpp_virtual public explicit_return_type "void"
3706         nparams 1
3707           param in name "widget" type class_ref 128789 // ChatWidget
3708         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3710         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3711   ${body}}
3713         
3714         
3715         
3716       end
3718       operation 129267 "setLocalPlayer"
3719         stereotype "slot"
3720         private explicit_return_type "void"
3721         nparams 1
3722           param in name "id" explicit_type "int"
3723         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3725         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3726   ${body}}
3728         
3729         
3730         
3731       end
3732     end
3734     class 129217 "GameServer"
3735       visibility protected 
3736       cpp_decl "${comment}${template}class ${name}${inherit} {
3737 ${members}};
3738 ${inlines}
3740       java_decl ""
3741       php_decl ""
3742       idl_decl ""
3743       explicit_switch_type ""
3744       
3745       classrelation 129217 // <realization>
3746         relation 129217 -_-|>
3747           a public
3748             cpp default "${type}"
3749             classrelation_ref 129217 // <realization>
3750           b parent class_ref 130069 // Network
3751       end
3753       classrelation 129296 // <directional composition>
3754         relation 129296 *-->
3755           a role_name "" multiplicity "*" protected
3756             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3758             classrelation_ref 129296 // <directional composition>
3759           b parent class_ref 129296 // ServerSocket
3760       end
3762       classrelation 129424 // <directional composition>
3763         relation 129424 *-->
3764           a role_name "" protected
3765             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3767             classrelation_ref 129424 // <directional composition>
3768           b parent class_ref 129212 // QTcpServer
3769       end
3771       operation 129936 "GameServer"
3772         public explicit_return_type ""
3773         nparams 2
3774           param in name "gui" type class_ref 128533 // QWidget
3775           param in name "history" type class_ref 129848 // HistoryModel
3776         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
3778         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
3779   ${body}}
3781         
3782         
3783         
3784       end
3786       operation 129433 "~GameServer"
3787         cpp_virtual public explicit_return_type ""
3788         nparams 0
3789         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
3791         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
3792   ${body}}
3794         
3795         
3796         
3797       end
3799       operation 129680 "requestMove"
3800         cpp_virtual public return_type class_ref 129173 // Point
3801         nparams 0
3802         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3804         
3805         
3806         
3807       end
3809       operation 129808 "setupChat"
3810         cpp_virtual public explicit_return_type "void"
3811         nparams 1
3812           param in name "widget" type class_ref 128789 // ChatWidget
3813         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3815         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3816   ${body}}
3818         
3819         
3820         
3821       end
3823       operation 130064 "handleIncomingConnection"
3824         stereotype "slot"
3825         private explicit_return_type "void"
3826         nparams 0
3827         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3829         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3830   ${body}}
3832         
3833         
3834         
3835       end
3837       operation 132431 "handleJoinRequest"
3838         stereotype "slot"
3839         private explicit_return_type "void"
3840         nparams 2
3841           param in name "mode" type class_ref 128440 // QString
3842           param in name "name" type class_ref 128440 // QString
3843         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3845         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3846   ${body}}
3848         
3849         
3850         
3851       end
3853       operation 128024 "setTurn"
3854         stereotype "slot"
3855         private explicit_return_type "void"
3856         nparams 1
3857           param in name "playerId" explicit_type "int"
3858         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
3860         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
3861   ${body}}
3863         
3864         
3865         
3866       end
3868       attribute 129424 "_listener"
3869         private type class_ref 129212 // QTcpServer
3870         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3872         java_decl ""
3873         php_decl ""
3874         idl_decl ""
3875       end
3877       attribute 129552 "_pendingConnections"
3878         private explicit_type "QLinkedList<ServerSocket>"
3879         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3881         java_decl ""
3882         php_decl ""
3883         idl_decl ""
3884       end
3886       attribute 129680 "_remotePlayers"
3887         private explicit_type "QList<ServerSocket>"
3888         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3890         java_decl ""
3891         php_decl ""
3892         idl_decl ""
3893       end
3895       attribute 129808 "_spectators"
3896         private explicit_type "QList<ServerSocket>"
3897         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3899         java_decl ""
3900         php_decl ""
3901         idl_decl ""
3902       end
3904       attribute 130064 "_gameInProgress"
3905         private explicit_type "bool"
3906         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3908         java_decl ""
3909         php_decl ""
3910         idl_decl ""
3911       end
3913       attribute 129936 "_history"
3914         private type class_ref 129848 // HistoryModel
3915         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3917         java_decl ""
3918         php_decl ""
3919         idl_decl ""
3920       end
3922       attribute 129199 "_names"
3923         private explicit_type "QStringList"
3924         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3926         java_decl ""
3927         php_decl ""
3928         idl_decl ""
3929       end
3931       attribute 130492 "_numberOfPlayers"
3932         private explicit_type "int"
3933         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3935         java_decl ""
3936         php_decl ""
3937         idl_decl ""
3938       end
3940       attribute 128024 "_turn"
3941         private explicit_type "int"
3942         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3944         java_decl ""
3945         php_decl ""
3946         idl_decl ""
3947       end
3949       attribute 129395 "_settings"
3950         private type class_ref 128170 // ServerSettings
3951         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
3953         java_decl ""
3954         php_decl ""
3955         idl_decl ""
3956       end
3957     end
3959     class 129231 "StreamSocket"
3960       visibility package 
3961       cpp_decl "${comment}${template}class ${name}${inherit} {
3962 ${members}};
3963 ${inlines}
3965       java_decl ""
3966       php_decl ""
3967       idl_decl ""
3968       explicit_switch_type ""
3969       
3970       class 129359 "ProtocolState"
3971         visibility protected stereotype "enum"
3972         cpp_decl "${comment}enum ${name} {
3973 ${items}
3976         java_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
3977 ${items};
3978 ${members}}
3980         php_decl "${comment}final ${visibility}class ${name} {
3981 ${items}}
3983         idl_decl "${comment}enum ${name} {
3984 ${items}};
3986         explicit_switch_type ""
3987         
3988         attribute 129743 "Unconnected"
3989           public type class_ref 129359 // ProtocolState
3990           cpp_decl "  ${name}${value},${comment}"
3991           java_decl ""
3992           php_decl ""
3993           idl_decl ""
3994         end
3996         attribute 129871 "Listening"
3997           public type class_ref 129359 // ProtocolState
3998           cpp_decl "  ${name}${value},${comment}"
3999           java_decl ""
4000           php_decl ""
4001           idl_decl ""
4002         end
4004         attribute 129999 "Connecting"
4005           public type class_ref 129359 // ProtocolState
4006           cpp_decl "  ${name}${value},${comment}"
4007           java_decl ""
4008           php_decl ""
4009           idl_decl ""
4010         end
4012         attribute 130127 "Connected"
4013           public type class_ref 129359 // ProtocolState
4014           cpp_decl "  ${name}${value},${comment}"
4015           java_decl ""
4016           php_decl ""
4017           idl_decl ""
4018         end
4020         attribute 130255 "OpeningStream"
4021           public type class_ref 129359 // ProtocolState
4022           cpp_decl "  ${name}${value},${comment}"
4023           java_decl ""
4024           php_decl ""
4025           idl_decl ""
4026         end
4028         attribute 130383 "FullyOpened"
4029           public type class_ref 129359 // ProtocolState
4030           cpp_decl "  ${name}${value},${comment}"
4031           java_decl ""
4032           php_decl ""
4033           idl_decl ""
4034         end
4036         attribute 130511 "Idle"
4037           public type class_ref 129359 // ProtocolState
4038           cpp_decl "  ${name}${value},${comment}"
4039           java_decl ""
4040           php_decl ""
4041           idl_decl ""
4042         end
4044         attribute 130639 "AwaitingJoinRequest"
4045           public type class_ref 129359 // ProtocolState
4046           cpp_decl "  ${name}${value},${comment}"
4047           java_decl ""
4048           php_decl ""
4049           idl_decl ""
4050         end
4052         attribute 130767 "AwaitingJoinAnswer"
4053           public type class_ref 129359 // ProtocolState
4054           cpp_decl "  ${name}${value},${comment}"
4055           java_decl ""
4056           php_decl ""
4057           idl_decl ""
4058         end
4060         attribute 130895 "AwaitingPlayers"
4061           public type class_ref 129359 // ProtocolState
4062           cpp_decl "  ${name}${value},${comment}"
4063           java_decl ""
4064           php_decl ""
4065           idl_decl ""
4066         end
4068         attribute 131023 "AwaitingGameStart"
4069           public type class_ref 129359 // ProtocolState
4070           cpp_decl "  ${name}${value},${comment}"
4071           java_decl ""
4072           php_decl ""
4073           idl_decl ""
4074         end
4076         attribute 131151 "Playing"
4077           public type class_ref 129359 // ProtocolState
4078           cpp_decl "  ${name}${value},${comment}"
4079           java_decl ""
4080           php_decl ""
4081           idl_decl ""
4082         end
4084         attribute 131279 "AwaitingMove"
4085           public type class_ref 129359 // ProtocolState
4086           cpp_decl "  ${name}${value},${comment}"
4087           java_decl ""
4088           php_decl ""
4089           idl_decl ""
4090         end
4092         attribute 131407 "Closing"
4093           public type class_ref 129359 // ProtocolState
4094           cpp_decl "  ${name}${value},${comment}"
4095           java_decl ""
4096           php_decl ""
4097           idl_decl ""
4098         end
4100         attribute 131535 "Closed"
4101           public type class_ref 129359 // ProtocolState
4102           cpp_decl "  ${name}${value},${comment}"
4103           java_decl ""
4104           php_decl ""
4105           idl_decl ""
4106         end
4107       end
4109       classrelation 129487 // <generalisation>
4110         relation 129487 ---|>
4111           stereotype "protected"
4112           a protected
4113             cpp default "${type}"
4114             classrelation_ref 129487 // <generalisation>
4115           b parent class_ref 129601 // QXmlStreamWriter
4116       end
4118       classrelation 129615 // <generalisation>
4119         relation 129615 ---|>
4120           stereotype "protected"
4121           a protected
4122             cpp default "${type}"
4123             classrelation_ref 129615 // <generalisation>
4124           b parent class_ref 129473 // QXmlStreamReader
4125       end
4127       classrelation 129743 // <directional composition>
4128         relation 129743 *-->
4129           a role_name "" protected
4130             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4132             classrelation_ref 129743 // <directional composition>
4133           b parent class_ref 129340 // QTcpSocket
4134       end
4136       attribute 129231 "_supportedProtocolVersion"
4137         class_attribute const_attribute protected type class_ref 128440 // QString
4138         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4140         java_decl ""
4141         php_decl ""
4142         idl_decl ""
4143       end
4145       attribute 129359 "_socket"
4146         protected type class_ref 129340 // QTcpSocket
4147         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4149         java_decl ""
4150         php_decl ""
4151         idl_decl ""
4152       end
4154       attribute 129487 "_buffer"
4155         private explicit_type "QLinkedList<Move>"
4156         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4158         java_decl ""
4159         php_decl ""
4160         idl_decl ""
4161       end
4163       attribute 129615 "_state"
4164         private explicit_type "ProtocolState"
4165         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4167         java_decl ""
4168         php_decl ""
4169         idl_decl ""
4170       end
4172       operation 129231 "StreamSocket"
4173         protected explicit_return_type ""
4174         nparams 1
4175           param in name "socket" type class_ref 129340 // QTcpSocket
4176         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
4178         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
4179   ${body}}
4181         
4182         
4183         
4184       end
4186       operation 129177 "~StreamSocket"
4187         public explicit_return_type ""
4188         nparams 0
4189         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
4191         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
4192   ${body}}
4194         
4195         
4196         
4197       end
4199       operation 129305 "state"
4200         const public explicit_return_type "ProtocolState"
4201         nparams 0
4202         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4204         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4205   ${body}}
4207         
4208         
4209         
4210       end
4212       operation 129359 "changeState"
4213         protected explicit_return_type "void"
4214         nparams 1
4215           param in name "state" explicit_type "ProtocolState"
4216         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4218         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4219   ${body}}
4221         
4222         
4223         
4224       end
4226       operation 129487 "sendChatMessage"
4227         stereotype "slot"
4228         public explicit_return_type "void"
4229         nparams 1
4230           param in name "msg" type class_ref 128440 // QString
4231         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4233         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4234   ${body}}
4236         
4237         
4238         
4239       end
4241       operation 129615 "sendMove"
4242         stereotype "slot"
4243         public explicit_return_type "void"
4244         nparams 1
4245           param in name "move" type class_ref 129301 // Move
4246         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4248         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4249   ${body}}
4251         
4252         
4253         
4254       end
4256       operation 129743 "openStream"
4257         stereotype "slot"
4258         protected explicit_return_type "void"
4259         nparams 0
4260         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4262         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4263   ${body}}
4265         
4266         
4267         
4268       end
4270       operation 129871 "closeStream"
4271         stereotype "slot"
4272         protected explicit_return_type "void"
4273         nparams 0
4274         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4276         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4277   ${body}}
4279         
4280         
4281         
4282       end
4284       operation 129999 "handleError"
4285         stereotype "slot"
4286         protected explicit_return_type "void"
4287         nparams 1
4288           param in name "error" explicit_type "QAbstractSocket::SocketError"
4289         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4291         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4292   ${body}}
4294         
4295         
4296         
4297       end
4299       operation 130127 "parseData"
4300         stereotype "slot"
4301         protected explicit_return_type "void"
4302         nparams 0
4303         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4305         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4306   ${body}}
4308         
4309         
4310         
4311       end
4313       operation 130255 "playerJoined"
4314         stereotype "signal"
4315         protected explicit_return_type "void"
4316         nparams 3
4317           param in name "id" explicit_type "int"
4318           param in name "name" type class_ref 128440 // QString
4319           param in name "type" type class_ref 128440 // QString
4320         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4322         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4323   ${body}}
4325         
4326         
4327         
4328       end
4330       operation 130383 "playerLeft"
4331         stereotype "signal"
4332         protected explicit_return_type "void"
4333         nparams 1
4334           param in name "id" explicit_type "int"
4335         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4337         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4338   ${body}}
4340         
4341         
4342         
4343       end
4345       operation 130511 "receivedChatMessage"
4346         stereotype "signal"
4347         protected explicit_return_type "void"
4348         nparams 1
4349           param in name "msg" type class_ref 128440 // QString
4350         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4352         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4353   ${body}}
4355         
4356         
4357         
4358       end
4360       operation 130639 "receivedMove"
4361         stereotype "signal"
4362         protected explicit_return_type "void"
4363         nparams 1
4364           param in name "move" type class_ref 129301 // Move
4365         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4367         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4368   ${body}}
4370         
4371         
4372         
4373       end
4375       operation 130767 "startGame"
4376         stereotype "signal"
4377         protected explicit_return_type "void"
4378         nparams 0
4379         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4381         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4382   ${body}}
4384         
4385         
4386         
4387       end
4389       classrelation 129187 // <unidirectional association>
4390         relation 129187 --->
4391           a role_name "" protected
4392             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
4394             classrelation_ref 129187 // <unidirectional association>
4395           b multiplicity "*" parent class_ref 129359 // ProtocolState
4396       end
4397     end
4399     class 129168 "ClientSocket"
4400       visibility package 
4401       cpp_decl "${comment}${template}class ${name}${inherit} {
4402 ${members}};
4403 ${inlines}
4405       java_decl ""
4406       php_decl ""
4407       idl_decl ""
4408       explicit_switch_type ""
4409       
4410       classrelation 129359 // <generalisation>
4411         relation 129359 ---|>
4412           a public
4413             cpp default "${type}"
4414             classrelation_ref 129359 // <generalisation>
4415           b parent class_ref 129231 // StreamSocket
4416       end
4418       operation 129315 "ClientSocket"
4419         public explicit_return_type ""
4420         nparams 1
4421           param in name "socket" type class_ref 129340 // QTcpSocket
4422         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
4424         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
4425   ${body}}
4427         
4428         
4429         
4430       end
4432       operation 132047 "joinGame"
4433         stereotype "slot"
4434         public explicit_return_type "void"
4435         nparams 2
4436           param in name "mode" type class_ref 128440 // QString
4437           param in name "name" type class_ref 128440 // QString
4438         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4440         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4441   ${body}}
4443         
4444         
4445         
4446       end
4448       operation 132175 "cancelJoin"
4449         stereotype "slot"
4450         public explicit_return_type "void"
4451         nparams 0
4452         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4454         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4455   ${body}}
4457         
4458         
4459         
4460       end
4462       operation 132303 "parseData"
4463         stereotype "slot"
4464         protected explicit_return_type "void"
4465         nparams 0
4466         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4468         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4469   ${body}}
4471         
4472         
4473         
4474       end
4476       operation 132559 "joinAccepted"
4477         stereotype "signal"
4478         protected explicit_return_type "void"
4479         nparams 1
4480           param in name "id" explicit_type "int"
4481         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4483         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4484   ${body}}
4486         
4487         
4488         
4489       end
4491       operation 132687 "joinRefused"
4492         stereotype "signal"
4493         protected explicit_return_type "void"
4494         nparams 1
4495           param in name "cause" explicit_type "int"
4496         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4498         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4499   ${body}}
4501         
4502         
4503         
4504       end
4506       operation 132815 "receivedGameSettings"
4507         stereotype "signal"
4508         protected explicit_return_type "void"
4509         nparams 4
4510           param in name "d1" explicit_type "int"
4511           param in name "d2" explicit_type "int"
4512           param in name "timer" explicit_type "int"
4513           param in name "playing" explicit_type "bool"
4514         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4516         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4517   ${body}}
4519         
4520         
4521         
4522       end
4524       operation 132943 "receivedHistory"
4525         stereotype "signal"
4526         protected explicit_return_type "void"
4527         nparams 1
4528           param in name "history" explicit_type "QList<Move>"
4529         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4531         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4532   ${body}}
4534         
4535         
4536         
4537       end
4538     end
4540     class 129296 "ServerSocket"
4541       visibility package 
4542       cpp_decl "${comment}${template}class ${name}${inherit} {
4543 ${members}};
4544 ${inlines}
4546       java_decl ""
4547       php_decl ""
4548       idl_decl ""
4549       explicit_switch_type ""
4550       
4551       classrelation 129231 // <generalisation>
4552         relation 129231 ---|>
4553           a public
4554             cpp default "${type}"
4555             classrelation_ref 129231 // <generalisation>
4556           b parent class_ref 129231 // StreamSocket
4557       end
4559       operation 129187 "ServerSocket"
4560         public explicit_return_type ""
4561         nparams 1
4562           param in name "socket" type class_ref 129340 // QTcpSocket
4563         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
4565         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
4566   ${body}}
4568         
4569         
4570         
4571       end
4573       operation 130895 "acceptJoin"
4574         public explicit_return_type "void"
4575         nparams 1
4576           param in name "id" explicit_type "int"
4577         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4579         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4580   ${body}}
4582         
4583         
4584         
4585       end
4587       operation 131023 "refuseJoin"
4588         public explicit_return_type "void"
4589         nparams 1
4590           param in name "cause" explicit_type "int"
4591         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4593         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4594   ${body}}
4596         
4597         
4598         
4599       end
4601       operation 131151 "sendGameSettings"
4602         stereotype "slot"
4603         public explicit_return_type "void"
4604         nparams 4
4605           param in name "d1" explicit_type "int"
4606           param in name "d2" explicit_type "int"
4607           param in name "timer" explicit_type "int"
4608           param in name "playing" explicit_type "bool"
4609         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4611         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4612   ${body}}
4614         
4615         
4616         
4617       end
4619       operation 131279 "sendHistory"
4620         stereotype "slot"
4621         public explicit_return_type "void"
4622         nparams 1
4623           param in name "history" explicit_type "QList<Move>"
4624         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4626         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4627   ${body}}
4629         
4630         
4631         
4632       end
4634       operation 131407 "sendPlayerJoined"
4635         stereotype "slot"
4636         public explicit_return_type "void"
4637         nparams 3
4638           param in name "id" explicit_type "int"
4639           param in name "name" type class_ref 128440 // QString
4640           param in name "type" type class_ref 128440 // QString
4641         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4643         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4644   ${body}}
4646         
4647         
4648         
4649       end
4651       operation 131535 "sendPlayerLeft"
4652         stereotype "slot"
4653         public explicit_return_type "void"
4654         nparams 1
4655           param in name "id" explicit_type "int"
4656         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4658         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4659   ${body}}
4661         
4662         
4663         
4664       end
4666       operation 131663 "sendStartGame"
4667         stereotype "slot"
4668         public explicit_return_type "void"
4669         nparams 0
4670         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4672         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4673   ${body}}
4675         
4676         
4677         
4678       end
4680       operation 131791 "parseData"
4681         stereotype "slot"
4682         protected explicit_return_type "void"
4683         nparams 0
4684         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4686         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4687   ${body}}
4689         
4690         
4691         
4692       end
4694       operation 131919 "joinRequested"
4695         stereotype "signal"
4696         protected explicit_return_type "void"
4697         nparams 2
4698           param in name "mode" type class_ref 128440 // QString
4699           param in name "name" type class_ref 128440 // QString
4700         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4702         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4703   ${body}}
4705         
4706         
4707         
4708       end
4709     end
4711     class 129340 "QTcpSocket"
4712       visibility package 
4713       cpp_decl "${comment}${template}class ${name}${inherit} {
4714 ${members}};
4715 ${inlines}
4717       java_decl ""
4718       php_decl ""
4719       idl_decl ""
4720       explicit_switch_type ""
4721       
4722       operation 130448 "connected"
4723         stereotype "signal"
4724         protected explicit_return_type "void"
4725         nparams 0
4726         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4728         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4729   ${body}}
4731         
4732         
4733         
4734       end
4736       operation 130576 "error"
4737         stereotype "signal"
4738         protected explicit_return_type "void"
4739         nparams 1
4740           param in name "socketError" explicit_type "QAbstractSocket::SocketError"
4741         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4743         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4744   ${body}}
4746         
4747         
4748         
4749       end
4751       operation 130320 "readyRead"
4752         stereotype "signal"
4753         protected explicit_return_type "void"
4754         nparams 0
4755         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4757         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4758   ${body}}
4760         
4761         
4762         
4763       end
4764     end
4766     class 129212 "QTcpServer"
4767       visibility package 
4768       cpp_decl "${comment}${template}class ${name}${inherit} {
4769 ${members}};
4770 ${inlines}
4772       java_decl ""
4773       php_decl ""
4774       idl_decl ""
4775       explicit_switch_type ""
4776       
4777       operation 130192 "newConnection"
4778         stereotype "signal"
4779         protected explicit_return_type "void"
4780         nparams 0
4781         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4783         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4784   ${body}}
4786         
4787         
4788         
4789       end
4790     end
4792     class 129473 "QXmlStreamReader"
4793       visibility package 
4794       cpp_decl "${comment}${template}class ${name}${inherit} {
4795 ${members}};
4796 ${inlines}
4798       java_decl ""
4799       php_decl ""
4800       idl_decl ""
4801       explicit_switch_type ""
4802       
4803     end
4805     class 129601 "QXmlStreamWriter"
4806       visibility package 
4807       cpp_decl "${comment}${template}class ${name}${inherit} {
4808 ${members}};
4809 ${inlines}
4811       java_decl ""
4812       php_decl ""
4813       idl_decl ""
4814       explicit_switch_type ""
4815       
4816     end
4818     class 128003 "ThreatSearchAI"
4819       visibility package 
4820       cpp_decl "${comment}${template}class ${name}${inherit} {
4821 ${members}};
4822 ${inlines}
4824       java_decl ""
4825       php_decl ""
4826       idl_decl ""
4827       explicit_switch_type ""
4828       
4829       classrelation 128003 // <realization>
4830         relation 128003 -_-|>
4831           a public
4832             cpp default "${type}"
4833             classrelation_ref 128003 // <realization>
4834           b parent class_ref 129941 // AI
4835       end
4837       operation 131203 "ThreatSearchAI"
4838         public explicit_return_type ""
4839         nparams 1
4840           param in name "id" explicit_type "int"
4841         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
4843         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
4844   ${body}}
4846         
4847         
4848         
4849       end
4851       operation 128091 "~ThreatSerachAI"
4852         public explicit_return_type ""
4853         nparams 0
4854         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4856         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4857   ${body}}
4859         
4860         
4861         
4862       end
4864       attribute 128003 "_d1"
4865         protected explicit_type "int"
4866         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4868         java_decl ""
4869         php_decl ""
4870         idl_decl ""
4871       end
4873       attribute 128131 "_d2"
4874         protected explicit_type "int"
4875         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4877         java_decl ""
4878         php_decl ""
4879         idl_decl ""
4880       end
4882       attribute 128259 "_threat"
4883         protected type class_ref 128131 // Threat
4884         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4886         java_decl ""
4887         php_decl ""
4888         idl_decl ""
4889       end
4891       attribute 128387 "_mat"
4892         protected type class_ref 129557 // GameMatrix
4893         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4895         java_decl ""
4896         php_decl ""
4897         idl_decl ""
4898       end
4900       operation 131331 "init"
4901         public explicit_return_type "void"
4902         nparams 0
4903         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4905         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4906   ${body}}
4908         
4909         
4910         
4911       end
4913       operation 130947 "move"
4914         cpp_virtual public return_type class_ref 129173 // Point
4915         nparams 1
4916           param in name "level" explicit_type "int"
4917         
4918         
4919         
4920         
4921       end
4923       operation 131075 "forceMove"
4924         cpp_virtual public explicit_return_type "void"
4925         nparams 0
4926         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4928         
4929         
4930         
4931       end
4933       operation 131843 "movesUndone"
4934         cpp_virtual public explicit_return_type "void"
4935         nparams 0
4936         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4938         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4939   ${body}}
4941         
4942         
4943         
4944       end
4946       operation 131587 "createThreat"
4947         protected explicit_return_type "Threat*"
4948         nparams 0
4949         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4951         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4952   ${body}}
4954         
4955         
4956         
4957       end
4959       operation 131459 "defenseHook"
4960         protected return_type class_ref 129173 // Point
4961         nparams 0
4962         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4964         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4965   ${body}}
4967         
4968         
4969         
4970       end
4972       operation 131715 "defense"
4973         private return_type class_ref 129173 // Point
4974         nparams 1
4975           param in name "level" explicit_type "int"
4976         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
4978         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
4979   ${body}}
4981         
4982         
4983         
4984       end
4986       classrelation 128387 // <composition>
4987         relation 128387 *---
4988           a role_name "" multiplicity "0..1" protected
4989             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4991             classrelation_ref 128387 // <composition>
4992           b role_name "" protected
4993             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
4995             classrelation_ref 128515 // <composition>
4996       end
4997     end
4999     class 128131 "Threat"
5000       visibility package 
5001       cpp_decl "${comment}${template}class ${name}${inherit} {
5002 ${members}};
5003 ${inlines}
5005       java_decl ""
5006       php_decl ""
5007       idl_decl ""
5008       explicit_switch_type ""
5009       
5010       class 128643 "Direction"
5011         visibility public stereotype "enum"
5012         cpp_decl "${comment}enum ${name} {
5013 ${items}
5016         java_decl "${comment}${@}${visibility}${final}${abstract}enum ${name}${implements} {
5017 ${items};
5018 ${members}}
5020         php_decl "${comment}final ${visibility}class ${name} {
5021 ${items}}
5023         idl_decl "${comment}enum ${name} {
5024 ${items}};
5026         explicit_switch_type ""
5027         
5028         attribute 130179 "DIR_X"
5029           public type class_ref 128643 // Direction
5030           cpp_decl "  ${name}${value},${comment}"
5031           java_decl ""
5032           php_decl ""
5033           idl_decl ""
5034         end
5036         attribute 130307 "DIR_Y"
5037           public type class_ref 128643 // Direction
5038           cpp_decl "  ${name}${value},${comment}"
5039           java_decl ""
5040           php_decl ""
5041           idl_decl ""
5042         end
5044         attribute 130563 "DIR_Z"
5045           public type class_ref 128643 // Direction
5046           cpp_decl "  ${name}${value},${comment}"
5047           java_decl ""
5048           php_decl ""
5049           idl_decl ""
5050         end
5051       end
5053       class 128515 "Node"
5054         visibility private 
5055         cpp_decl "${comment}${template}class ${name}${inherit} {
5056 ${members}};
5057 ${inlines}
5059         java_decl ""
5060         php_decl ""
5061         idl_decl ""
5062         explicit_switch_type ""
5063         
5064         attribute 129539 "value"
5065           public explicit_type "int"
5066           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5068           java_decl ""
5069           php_decl ""
5070           idl_decl ""
5071         end
5073         attribute 129667 "point"
5074           public type class_ref 129173 // Point
5075           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5077           java_decl ""
5078           php_decl ""
5079           idl_decl ""
5080         end
5082         attribute 129795 "dir"
5083           public type class_ref 128739 // Direction
5084           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5086           java_decl ""
5087           php_decl ""
5088           idl_decl ""
5089         end
5091         attribute 129923 "par"
5092           public explicit_type "Node**"
5093           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5095           java_decl ""
5096           php_decl ""
5097           idl_decl ""
5098         end
5100         attribute 130051 "next"
5101           public explicit_type "Node*"
5102           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5104           java_decl ""
5105           php_decl ""
5106           idl_decl ""
5107         end
5109         classrelation 128643 // <unidirectional association>
5110           relation 128515 --->
5111             a role_name "" protected
5112               cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} * ${name}${value};
5114               classrelation_ref 128643 // <unidirectional association>
5115             b multiplicity "*" parent class_ref 128643 // Direction
5116         end
5118         operation 133635 "Node"
5119           public explicit_return_type ""
5120           nparams 3
5121             param in name "val" explicit_type "int"
5122             param in name "p" type class_ref 129173 // Point
5123             param in name "dir" type class_ref 128739 // Direction
5124           cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
5126           cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
5127   ${body}}
5129           
5130           
5131           
5132         end
5134         operation 133507 "~Node"
5135           public explicit_return_type ""
5136           nparams 0
5137           cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
5139           cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
5140   ${body}}
5142           
5143           
5144           
5145         end
5147         classrelation 129461 // <directional composition>
5148           relation 129333 *-->
5149             a role_name "" multiplicity "0..1" protected
5150               cpp default "    ${comment}${static}${mutable}${volatile}${const}${stereotype}<${type}> ${name}${value};
5152               classrelation_ref 129461 // <directional composition>
5153             b parent class_ref 128515 // Node
5154         end
5155       end
5157       attribute 128515 "_ai"
5158         protected explicit_type "ThreatSearchAI*"
5159         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5161         java_decl ""
5162         php_decl ""
5163         idl_decl ""
5164       end
5166       attribute 128643 "_mat"
5167         protected explicit_type "GameMatrix*"
5168         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5170         java_decl ""
5171         php_decl ""
5172         idl_decl ""
5173       end
5175       attribute 128771 "_d1"
5176         protected explicit_type "int"
5177         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5179         java_decl ""
5180         php_decl ""
5181         idl_decl ""
5182       end
5184       attribute 128899 "_d2"
5185         protected explicit_type "int"
5186         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5188         java_decl ""
5189         php_decl ""
5190         idl_decl ""
5191       end
5193       attribute 129027 "_x"
5194         private explicit_type "QMap<Point,Node*>"
5195         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5197         java_decl ""
5198         php_decl ""
5199         idl_decl ""
5200       end
5202       attribute 129155 "_y"
5203         private explicit_type "QMap<Point,Node*>"
5204         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5206         java_decl ""
5207         php_decl ""
5208         idl_decl ""
5209       end
5211       attribute 129283 "_z"
5212         private explicit_type "QMap<Point,Node*>"
5213         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5215         java_decl ""
5216         php_decl ""
5217         idl_decl ""
5218       end
5220       attribute 129411 "_priority"
5221         private explicit_type "Node**"
5222         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5224         java_decl ""
5225         php_decl ""
5226         idl_decl ""
5227       end
5229       operation 132355 "Threat"
5230         public explicit_return_type ""
5231         nparams 1
5232           param in name "ai" explicit_type "ThreatSearchAI*"
5233         cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
5235         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
5236   ${body}}
5238         
5239         
5240         
5241       end
5243       operation 128219 "~Threat"
5244         public explicit_return_type ""
5245         nparams 0
5246         cpp_decl "    ${comment}${inline}${virtual}${name}${(}${)}${volatile}${throw};
5248         cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
5249   ${body}}
5251         
5252         
5253         
5254       end
5256       operation 132483 "insert"
5257         public explicit_return_type "void"
5258         nparams 1
5259           param in name "point" type class_ref 129173 // Point
5260         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5262         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5263   ${body}}
5265         
5266         
5267         
5268       end
5270       classrelation 128515 // <composition>
5271         relation_ref 128387 // <composition>
5272       end
5274       operation 132611 "scanFromMatrix"
5275         public explicit_return_type "void"
5276         nparams 0
5277         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5279         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5280   ${body}}
5282         
5283         
5284         
5285       end
5287       operation 132739 "insertHook"
5288         protected explicit_return_type "void"
5289         nparams 1
5290           param in name "p" type class_ref 129173 // Point
5291         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5293         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5294   ${body}}
5296         
5297         
5298         
5299       end
5301       operation 132867 "scanFromMatrixHook"
5302         protected explicit_return_type "void"
5303         nparams 0
5304         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5306         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5307   ${body}}
5309         
5310         
5311         
5312       end
5314       operation 132995 "removeFromPriority"
5315         private explicit_return_type "void"
5316         nparams 1
5317           param in name "it" explicit_type "Node*"
5318         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5320         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5321   ${body}}
5323         
5324         
5325         
5326       end
5328       operation 133123 "insertInPriority"
5329         private explicit_return_type "void"
5330         nparams 1
5331           param in name "it" explicit_type "Node*"
5332         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5334         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5335   ${body}}
5337         
5338         
5339         
5340       end
5342       operation 133251 "evalInsert"
5343         private explicit_return_type "void"
5344         nparams 3
5345           param in name "p" type class_ref 129173 // Point
5346           param in name "index" explicit_type "int"
5347           param in name "dir" type class_ref 128739 // Direction
5348         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5350         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5351   ${body}}
5353         
5354         
5355         
5356       end
5358       operation 133379 "evalPriority"
5359         private explicit_return_type "int"
5360         nparams 2
5361           param in name "p" type class_ref 129173 // Point
5362           param in name "dir" type class_ref 128739 // Direction
5363         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5365         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5366   ${body}}
5368         
5369         
5370         
5371       end
5373       classrelation 128899 // <directional composition>
5374         relation 128771 *-->
5375           a role_name "" multiplicity "*" protected
5376             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5378             classrelation_ref 128899 // <directional composition>
5379           b parent class_ref 128515 // Node
5380       end
5381     end
5383     class 128387 "CCThreat"
5384       visibility package 
5385       cpp_decl "${comment}${template}class ${name}${inherit} {
5386 ${members}};
5387 ${inlines}
5389       java_decl ""
5390       php_decl ""
5391       idl_decl ""
5392       explicit_switch_type ""
5393       
5394       attribute 130691 "_opponentCC"
5395         private explicit_type "QVector<QList<ConnectedComponent>>"
5396         cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5398         java_decl ""
5399         php_decl ""
5400         idl_decl ""
5401       end
5403       operation 133763 "CCThreat"
5404         public explicit_return_type ""
5405         nparams 1
5406           param in name "ai" explicit_type "CCThreatSearchAI*"
5407         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5409         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5410   ${body}}
5412         
5413         
5414         
5415       end
5417       classrelation 128771 // <generalisation>
5418         relation 128643 ---|>
5419           a public
5420             cpp default "${type}"
5421             classrelation_ref 128771 // <generalisation>
5422           b parent class_ref 128131 // Threat
5423       end
5425       operation 133891 "insertHook"
5426         protected explicit_return_type "void"
5427         nparams 1
5428           param in name "p" type class_ref 129173 // Point
5429         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5431         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5432   ${body}}
5434         
5435         
5436         
5437       end
5439       operation 134019 "scanFromMatrixHook"
5440         protected explicit_return_type "void"
5441         nparams 0
5442         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5444         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5445   ${body}}
5447         
5448         
5449         
5450       end
5452       operation 134147 "find"
5453         private explicit_return_type "int"
5454         nparams 2
5455           param in name "id" explicit_type "int"
5456           param in name "p" type class_ref 129173 // Point
5457         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5459         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5460   ${body}}
5462         
5463         
5464         
5465       end
5467       operation 134275 "explore"
5468         private explicit_return_type "void"
5469         nparams 3
5470           param in name "p" type class_ref 129173 // Point
5471           param in name "id" explicit_type "int"
5472           param inout name "set" explicit_type "QSet<Point>"
5473         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5475         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5476   ${body}}
5478         
5479         
5480         
5481       end
5483       operation 134403 "merge"
5484         private explicit_return_type "void"
5485         nparams 2
5486           param in name "p1" type class_ref 129173 // Point
5487           param in name "p2" type class_ref 129173 // Point
5488         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5490         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5491   ${body}}
5493         
5494         
5495         
5496       end
5498       class 128771 "ConnectedComponent"
5499         visibility package 
5500         cpp_decl "${comment}${template}class ${name}${inherit} {
5501 ${members}};
5502 ${inlines}
5504         java_decl ""
5505         php_decl ""
5506         idl_decl ""
5507         explicit_switch_type ""
5508         
5509         operation 134531 "ConnectedComponent"
5510           public explicit_return_type ""
5511           nparams 1
5512             param in name "items" explicit_type "QSet<Point>"
5513           cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
5515           cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
5516   ${body}}
5518           
5519           
5520           
5521         end
5523         operation 134659 "ConnectedComponent"
5524           public explicit_return_type ""
5525           nparams 1
5526             param in name "p" type class_ref 129173 // Point
5527           cpp_decl "    ${comment}${inline}${name}${(}${)}${volatile}${throw};
5529           cpp_def "${comment}${inline}${class}::${name}${(}${)}${volatile}${throw} {
5530   ${body}}
5532           
5533           
5534           
5535         end
5537         attribute 130819 "nodes"
5538           public explicit_type "QSet<Point>"
5539           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5541           java_decl ""
5542           php_decl ""
5543           idl_decl ""
5544         end
5546         attribute 130947 "min_x"
5547           public explicit_type "int"
5548           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5550           java_decl ""
5551           php_decl ""
5552           idl_decl ""
5553         end
5555         attribute 131075 "min_y"
5556           public explicit_type "int"
5557           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5559           java_decl ""
5560           php_decl ""
5561           idl_decl ""
5562         end
5564         attribute 131203 "min_z"
5565           public explicit_type "int"
5566           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5568           java_decl ""
5569           php_decl ""
5570           idl_decl ""
5571         end
5573         attribute 131331 "max_x"
5574           public explicit_type "int"
5575           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5577           java_decl ""
5578           php_decl ""
5579           idl_decl ""
5580         end
5582         attribute 131459 "max_y"
5583           public explicit_type "int"
5584           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5586           java_decl ""
5587           php_decl ""
5588           idl_decl ""
5589         end
5591         attribute 131587 "max_z"
5592           public explicit_type "int"
5593           cpp_decl "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5595           java_decl ""
5596           php_decl ""
5597           idl_decl ""
5598         end
5599       end
5601       classrelation 129027 // <directional composition>
5602         relation 128899 *-->
5603           a role_name "" multiplicity "*" protected
5604             cpp default "    ${comment}${static}${mutable}${volatile}${const}${type} ${name}${value};
5606             classrelation_ref 129027 // <directional composition>
5607           b parent class_ref 128771 // ConnectedComponent
5608       end
5609     end
5611     class 128259 "CCThreatSearchAI"
5612       visibility package 
5613       cpp_decl "${comment}${template}class ${name}${inherit} {
5614 ${members}};
5615 ${inlines}
5617       java_decl ""
5618       php_decl ""
5619       idl_decl ""
5620       explicit_switch_type ""
5621       
5622       classrelation 128259 // <generalisation>
5623         relation 128259 ---|>
5624           a public
5625             cpp default "${type}"
5626             classrelation_ref 128259 // <generalisation>
5627           b parent class_ref 128003 // ThreatSearchAI
5628       end
5630       operation 132227 "CCThreatSearchAI"
5631         public explicit_return_type ""
5632         nparams 1
5633           param in name "id" explicit_type "int"
5634         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5636         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5637   ${body}}
5639         
5640         
5641         
5642       end
5644       operation 132099 "createThreat"
5645         protected explicit_return_type "Threat*"
5646         nparams 0
5647         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5649         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5650   ${body}}
5652         
5653         
5654         
5655       end
5657       operation 131971 "defenseHook"
5658         protected return_type class_ref 129173 // Point
5659         nparams 0
5660         cpp_decl "    ${comment}${friend}${static}${inline}${virtual}${type} ${name}${(}${)}${const}${volatile}${throw}${abstract};
5662         cpp_def "${comment}${inline}${type} ${class}::${name}${(}${)}${const}${volatile}${throw}${staticnl}{
5663   ${body}}
5665         
5666         
5667         
5668       end
5669     end
5671     class 128440 "QString"
5672       visibility package 
5673       cpp_decl "${comment}${template}class ${name}${inherit} {
5674 ${members}};
5675 ${inlines}
5677       java_decl ""
5678       php_decl ""
5679       idl_decl ""
5680       explicit_switch_type ""
5681       
5682     end
5684     class 129199 "QStringList"
5685       visibility package 
5686       cpp_decl "${comment}${template}class ${name}${inherit} {
5687 ${members}};
5688 ${inlines}
5690       java_decl ""
5691       php_decl ""
5692       idl_decl ""
5693       explicit_switch_type ""
5694       
5695     end
5697     class 128182 "QList"
5698       visibility package 
5699       nformals 1
5700       formal name "T" type "typename" explicit_default_value ""
5701         explicit_extends ""
5702       cpp_decl "${comment}${template}class ${name}${inherit} {
5703 ${members}};
5704 ${inlines}
5706       java_decl ""
5707       php_decl ""
5708       idl_decl ""
5709       explicit_switch_type ""
5710       
5711     end
5713     class 128122 "QLinkedList"
5714       visibility package 
5715       nformals 1
5716       formal name "T" type "typename" explicit_default_value ""
5717         explicit_extends ""
5718       cpp_decl "${comment}${template}class ${name}${inherit} {
5719 ${members}};
5720 ${inlines}
5722       java_decl ""
5723       php_decl ""
5724       idl_decl ""
5725       explicit_switch_type ""
5726       
5727     end
5729     class 128054 "QMap"
5730       visibility package 
5731       nformals 2
5732       formal name "K" type "typename" explicit_default_value ""
5733         explicit_extends ""
5734       formal name "T" type "typename" explicit_default_value ""
5735         explicit_extends ""
5736       cpp_decl "${comment}${template}class ${name}${inherit} {
5737 ${members}};
5738 ${inlines}
5740       java_decl ""
5741       php_decl ""
5742       idl_decl ""
5743       explicit_switch_type ""
5744       
5745     end
5747     class 129327 "QVector"
5748       visibility package 
5749       nformals 1
5750       formal name "T" type "typename" explicit_default_value ""
5751         explicit_extends ""
5752       cpp_decl "${comment}${template}class ${name}${inherit} {
5753 ${members}};
5754 ${inlines}
5756       java_decl ""
5757       php_decl ""
5758       idl_decl ""
5759       explicit_switch_type ""
5760       
5761     end
5763     sequencediagram 128054 "InitSequence"
5764       show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations yes shadow default
5765       size A1
5766     end
5768     sequencediagram 128148 "GameLoop::run"
5769       show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
5770       overlapping_bars size A3
5771     end
5773     sequencediagram 128213 "HumanPlayer::doMove"
5774       show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
5775       overlapping_bars size A3
5776     end
5778     sequencediagram 129168 "RemotePlayer::doMove"
5779       show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
5780       overlapping_bars size A3
5781     end
5783     sequencediagram 128024 "AIPlayer::doMove"
5784       show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default
5785       overlapping_bars size A3
5786     end
5788     activity 128011 "GameMatrix::add"
5789       activitydiagram 128011 "add"
5790         package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations yes shadow no
5791         show_infonote default drawing_language default
5792         size A3
5793       end
5795       parameter 128011 "move" explicit_type ""
5796         unordered 
5797         in
5798         flow 128011 "<flow>"
5799           on pin_ref 128011 // m
5800         end
5801       end
5803       activitynode 128011 initial ""
5804         flow 128139 "<flow>"
5805           on activityaction_ref 128011 // activity action assegna m.playerId() all'elemento di _matrix in posizione m.point()
5806         end
5807       end
5809       activityaction 128011 "assegna m.playerId() all'elemento di _matrix in posizione m.point()"
5810         opaque_action
5811         pin 128011 "m" explicit_type ""
5812           unordered 
5813           in
5814         end
5816         flow 128267 "<flow>"
5817           on expansionnode_ref 128011 // dir
5818         end
5819       end
5821       expansionregion 128011 ""
5822         iterative
5823         expansionnode 128011 "dir"
5824            explicit_type ""
5825           unordered is_control
5826           flow 128395 "<flow>"
5827             on activityaction_ref 128267 // activity action sceglie d tra {x, y, z} a seconda del valore dir[i]
5828           end
5829         end
5831         activityaction 128139 "start = max{0, m.point().d() - _d1 + 1}, i = 0"
5832           opaque_action
5833           flow 129419 "<flow>"
5834             on activitynode_ref 128395 // merge
5835           end
5836         end
5838         activityaction 128267 "sceglie d tra {x, y, z} a seconda del valore dir[i]"
5839           opaque_action
5840           pin 128139 "d" explicit_type ""
5841             unordered 
5842             out
5843             flow 130955 "<flow>"
5844               on activityaction_ref 128139 // activity action start = max{0, m.point().d() - _d1 + 1}, i = 0
5845             end
5846           end
5847         end
5849         activityaction 128395 "i = i + 1"
5850           opaque_action
5851           flow 129675 "<flow>"
5852             on activitynode_ref 128395 // merge
5853           end
5854         end
5856         activityaction 128523 "costruisco un Point k con le stesse coordinate di m.point() a meno della coordinata d che assume il valore start + i"
5857           opaque_action
5858           flow 129163 "<flow>"
5859             on activitynode_ref 128267 // decision
5860           end
5861         end
5863         activitynode 128267 decision ""
5864           flow 129291 "<flow>"
5865             on activityaction_ref 128395 // activity action i = i + 1
5866               uml_guard "elementAt(k) == m.playerId()"
5867           end
5869           flow 130571 "<flow>"
5870             on activityaction_ref 128779 // activity action i = 0, start = start + 1
5871               uml_guard "else"
5872           end
5874           flow 130699 "<flow>"
5875             on activitynode_ref 128779 // flow_final
5876               uml_guard "elementAt(k) == -2"
5877           end
5878         end
5880         activitynode 128395 merge ""
5881           flow 129931 "<flow>"
5882             on activitynode_ref 128523 // decision
5883               uml_guard "i < _d1"
5884           end
5885         end
5887         activitynode 128523 decision ""
5888           flow 129803 "<flow>"
5889             on activityaction_ref 128523 // activity action costruisco un Point k con le stesse coordinate di m.point() a meno della coordinata d che assume il valore start + i
5890           end
5892           flow 132363 "<flow>"
5893             on activitynode_ref 129291 // merge
5894               uml_guard "else"
5895           end
5896         end
5898         expansionnode 128139 ""
5899            explicit_type ""
5900           unordered is_control
5901           flow 131595 "<flow>"
5902             on activitynode_ref 129035 // decision
5903           end
5904         end
5905       end
5907       parameter 128139 "win" explicit_type ""
5908         unordered is_control
5909         out
5910       end
5912       activityaction 128651 "win = true"
5913         opaque_action
5914         flow 130187 "<flow>"
5915           on activitynode_ref 128651 // merge
5916         end
5917       end
5919       activitynode 128651 merge ""
5920         flow 130315 "<flow>"
5921           on parameter_ref 128139 // win
5922         end
5923       end
5925       activityaction 128779 "i = 0, start = start + 1"
5926         opaque_action
5927         flow 130827 "<flow>"
5928           on activitynode_ref 128395 // merge
5929         end
5930       end
5932       activitynode 128779 flow_final ""
5933       end
5935       activityaction 128907 "win = false"
5936         opaque_action
5937         flow 131211 "<flow>"
5938           on activitynode_ref 128651 // merge
5939         end
5940       end
5942       activitynode 128907 merge ""
5943         flow 131339 "<flow>"
5944           on activityaction_ref 128907 // activity action win = false
5945         end
5946       end
5948       activityaction 129035 "set = {}, extractCC(point, id, set)"
5949         opaque_action
5950         flow 131979 "<flow>"
5951           on activityaction_ref 129163 // activity action ricavo da set le coppie (min, max) per ogni coordinata in {x, y, z}
5952         end
5953       end
5955       activitynode 129035 decision ""
5956         flow 131723 "<flow>"
5957           on activitynode_ref 128907 // merge
5958             uml_guard "else"
5959         end
5961         flow 131851 "<flow>"
5962           on activityaction_ref 129035 // activity action set = {}, extractCC(point, id, set)
5963             uml_guard "_d2 == 3"
5964         end
5965       end
5967       activityaction 129163 "ricavo da set le coppie (min, max) per ogni coordinata in {x, y, z}"
5968         opaque_action
5969         pin 128267 "estremi" explicit_type ""
5970            multiplicity "3" unordered 
5971           out
5972           flow 132107 "<flow>"
5973             on activitynode_ref 129163 // decision
5974           end
5975         end
5976       end
5978       activitynode 129163 decision ""
5979         flow 132491 "<flow>"
5980           on activitynode_ref 129291 // merge
5981             uml_guard "esiste i in [0, 2] tale che estremi[i] == (0, (_d1 * _d2) - 1)"
5982         end
5984         flow 132619 "<flow>"
5985           on activitynode_ref 128907 // merge
5986             uml_guard "else"
5987         end
5988       end
5990       activitynode 129291 merge ""
5991         flow 132235 "<flow>"
5992           on activityaction_ref 128651 // activity action win = true
5993         end
5994       end
5995     end
5996   end
5998   package_ref 128002 // GUI
6000   package_ref 128130 // Network
6002   package_ref 128258 // Core
6004   package_ref 128386 // AI