53 |
53 |
54 public class KinectMain |
54 public class KinectMain |
55 { |
55 { |
56 //Fenêtre de debug. |
56 //Fenêtre de debug. |
57 private DebugWindow debug; |
57 private DebugWindow debug; |
|
58 //Fenêtre de paramètres. |
|
59 private DebugParameters parameters; |
58 //Squelettes (Il y en a 6 par défaut). |
60 //Squelettes (Il y en a 6 par défaut). |
59 private Skeleton[] skeletons; |
61 private Skeleton[] skeletons; |
60 //Caméra infrarouge (sensor) de la Kinect. |
62 //Caméra infrarouge (sensor) de la Kinect. |
61 private KinectSensor kinectSensor; |
63 private KinectSensor kinectSensor; |
62 |
64 |
104 pushDetector = new PushDetector(); |
106 pushDetector = new PushDetector(); |
105 jumpDetector = new JumpDetector(); |
107 jumpDetector = new JumpDetector(); |
106 //On crée le détecteur de proximité. |
108 //On crée le détecteur de proximité. |
107 userPositionDetector = new UserPositionDetector(debug.getMinDist(), debug.getMaxDist(), debug.getZeroPoint(), debug.getMinDistHands(), debug.getMaxDistHands()); |
109 userPositionDetector = new UserPositionDetector(debug.getMinDist(), debug.getMaxDist(), debug.getZeroPoint(), debug.getMinDistHands(), debug.getMaxDistHands()); |
108 |
110 |
|
111 //On connecte le serveur à l'adresse locale sur le port 80. |
|
112 try |
|
113 { |
|
114 server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing()); |
|
115 //On crée le gestionnaire de modes. |
|
116 modeManagement = new ModeManagement(server, debug, this); |
|
117 } |
|
118 catch (Exception) |
|
119 { |
|
120 debug.ShowException("serverCantStart"); |
|
121 } |
|
122 |
109 //On écoute l'événement de clic sur le bouton on/off du debug. |
123 //On écoute l'événement de clic sur le bouton on/off du debug. |
110 //Car on lancera l'intitialisation/fermeture de la kinect. |
124 //Car on lancera l'intitialisation/fermeture de la kinect. |
111 debug.getSwitch().Click += new RoutedEventHandler(Switch_ClickInKinectMain); |
125 debug.getSwitch().Click += new RoutedEventHandler(Switch_ClickInKinectMain); |
112 debug.Loaded += new RoutedEventHandler(Window_LoadedInKinectMain); |
126 debug.Loaded += new RoutedEventHandler(Window_LoadedInKinectMain); |
113 debug.Closed += new EventHandler(Window_CloseInKinectMain); |
127 debug.Closed += new EventHandler(Window_CloseInKinectMain); |
114 debug.getQuitMenu().Click += new RoutedEventHandler(Quit_ClickInKinectMain); |
128 debug.getQuitMenu().Click += new RoutedEventHandler(Quit_ClickInKinectMain); |
|
129 debug.getParametersWindow().getModButton().Click += new RoutedEventHandler(updateParameters); |
115 |
130 |
116 //On affiche la fenêtre de debug. |
131 //On affiche la fenêtre de debug. |
117 try |
132 try |
118 { |
133 { |
119 debug.ShowDialog(); |
134 debug.ShowDialog(); |
120 } |
135 } |
121 catch(Exception){ |
136 catch(Exception){ |
122 } |
137 } |
|
138 } |
|
139 |
|
140 /* |
|
141 * Envoi les paramètres mis à jour dans les différents modules. |
|
142 */ |
|
143 public void updateParameters(object sender, RoutedEventArgs e) |
|
144 { |
|
145 userPositionDetector.setParams(debug.getMinDist(), debug.getMaxDist(), debug.getMinDistHands(), debug.getMaxDistHands(), debug.getZeroPoint()); |
|
146 server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing()); |
123 } |
147 } |
124 |
148 |
125 /* |
149 /* |
126 * Initialisation du sensor de la Kinect. |
150 * Initialisation du sensor de la Kinect. |
127 */ |
151 */ |
189 |
213 |
190 //Fonction appelée lorsque l'utilisateur se déplace dans la zone de détection. |
214 //Fonction appelée lorsque l'utilisateur se déplace dans la zone de détection. |
191 UserPositionListener userPositionListener = new UserPositionListener(); |
215 UserPositionListener userPositionListener = new UserPositionListener(); |
192 UserPositionEvent += new UserPositionHandler(userPositionListener.showAndSend); |
216 UserPositionEvent += new UserPositionHandler(userPositionListener.showAndSend); |
193 |
217 |
194 //On connecte le serveur à l'adresse locale sur le port 80. |
218 modeManagement.DetectProximityBasedModes(0); |
195 try |
|
196 { |
|
197 server = new Server(debug.getConnexionHost(), debug.getConnexionPort(), debug.getTimerElapsing()); |
|
198 //On crée le gestionnaire de modes. |
|
199 modeManagement = new ModeManagement(server, debug, this); |
|
200 modeManagement.DetectProximityBasedModes(0); |
|
201 } |
|
202 catch (Exception) |
|
203 { |
|
204 debug.ShowException("serverCantStart"); |
|
205 } |
|
206 } |
219 } |
207 |
220 |
208 /* |
221 /* |
209 * Bouton ON/OFF du debug écouté dans KinectMain. |
222 * Bouton ON/OFF du debug écouté dans KinectMain. |
210 */ |
223 */ |