middleware/src/MainModule/KinectMain.cs
changeset 16 a9ebacd6c089
parent 15 4b78f179e7ce
child 17 fda26bfcabef
equal deleted inserted replaced
15:4b78f179e7ce 16:a9ebacd6c089
    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         */