Beispiel #1
0
        private void DiscoverSensor()
        {
            this.Sensor = KinectSensor.KinectSensors.FirstOrDefault(); // ustawienienie zmiennej Sensor, przechowujące parametry połączenia z Kinect'em

            if (null != this.Sensor)                                   // warunek zostanie wykonany w przypadku nawiązania połączenia z sensorem Kinect
            {
                this.LastStatus = this.Sensor.Status;                  // ustawienie aktualnego statusu połączenia

                if (this.LastStatus == KinectStatus.Connected)         // sprawdzenie, czy status osiągnął wartość "Connected"
                {
                    try
                    {
                        this.Sensor.SkeletonStream.TrackingMode = SkeletonTrackingMode.Default;
                        this.Sensor.DepthStream.Range           = DepthRange.Default;
                        this.Sensor.SkeletonStream.EnableTrackingInNearRange = false;                         // zezwolenie na przesyłanie danych dla "NUI Skeleton Tracking" w trybie bliskim (gdy nie wszytskie części składowe osoby śledzonej są widoczne z powodu bliskiej pozycji względem urządzenia)

                        var parameters = new TransformSmoothParameters
                        {
                            Smoothing          = 0.75f,
                            Correction         = 0.0f,
                            Prediction         = 0.0f,
                            JitterRadius       = 0.05f,
                            MaxDeviationRadius = 0.04f
                        };

                        this.Sensor.SkeletonStream.Enable(parameters);                         // włączenie przesyłania danych z sensora dotyczących "NUI Skeleton Tracking"
                        this.Sensor.ColorStream.Enable(this.colorImageFormat);                 // włączenie przesyłania danych z sensora od kamery RGB
                        this.Sensor.DepthStream.Enable(this.depthImageFormat);                 // włączenie przesyłania danych z sensora od kamery głębokości
                        this.Sensor.DepthStream.Range = DepthRange.Default;

                        //
                        try
                        {
                            this.Sensor.Start();                             // uruchom działanie sensora względem danej aplikacji

                            InteractionClient mic = new InteractionClient();
                            this.intStream = new InteractionStream(Sensor, mic);
                        }
                        catch (IOException)
                        {
                            this.intStream = null;
                            this.Sensor    = null;                          // w przypadku błędu usunąć ustawione wcześniej dane
                        }
                    }
                    catch (InvalidOperationException)
                    {
                        this.Sensor    = null;                      // w przypadku błędu usunąć ustawione wcześniej dane
                        this.intStream = null;
                    }
                }
            }
            else
            {
                this.LastStatus = KinectStatus.Disconnected;                 // gdy połączenie nie zostało poprawnie zrealizowane ustaw status na "Disconnected"
            }
        }
 /// <summary>
 /// Creates the specified server protocol configuration.
 /// Use this method for FaultTolerance : WarmStandby
 /// Warm standby switch over is set to unlimited time.
 /// </summary>
 /// <param name="serverUri">The server URI.</param>
 /// <param name="userName">Name of the application user.</param>
 /// <param name="interactionClientType">Type of the interaction client.</param>
 /// <param name="warmStandbyUri">Warm standby URI.</param>
 /// <param name="warmStandByTimeOut">Warm stand by time out.</param>
 /// <param name="warmStandByAttempts">Warm stand by attempts.</param>
 public void Create(Uri serverUri, string userName, InteractionClient interactionClientType, Uri warmStandbyUri, Int32 warmStandByTimeOut, Int16 warmStandByAttempts)
 {
     Protocolconfiguration                     = null;
     Protocolconfiguration                     = new InteractionServerConfiguration(ServerType.Ixnserver.ToString());
     Protocolconfiguration.Uri                 = serverUri;
     Protocolconfiguration.ClientName          = "AID_" + userName;
     Protocolconfiguration.FaultTolerance      = FaultToleranceMode.WarmStandby;
     Protocolconfiguration.ClientType          = interactionClientType;
     Protocolconfiguration.WarmStandbyUri      = warmStandbyUri;
     Protocolconfiguration.WarmStandbyTimeout  = warmStandByTimeOut;
     Protocolconfiguration.WarmStandbyAttempts = warmStandByAttempts;
 }
 /// <summary>
 /// Creates the specified server URI.
 /// </summary>
 /// <param name="serverUri">The server URI.</param>
 /// <param name="userName">Name of the user.</param>
 /// <param name="faultTolerance">The fault tolerance.</param>
 /// <param name="interactionClientType">Type of the interaction client.</param>
 /// <param name="addpServerTimeOut">The addp server time out.</param>
 /// <param name="addpClientTimeOut">The addp client time out.</param>
 /// <param name="addpTrace">The addp trace.</param>
 public void Create(Uri serverUri, string userName, FaultToleranceMode faultTolerance, InteractionClient interactionClientType, Int32 addpServerTimeOut, Int32 addpClientTimeOut,
                    AddpTraceMode addpTrace)
 {
     Protocolconfiguration                   = null;
     Protocolconfiguration                   = new InteractionServerConfiguration(ServerType.Ixnserver.ToString());
     Protocolconfiguration.Uri               = serverUri;
     Protocolconfiguration.ClientName        = "AID_" + userName;
     Protocolconfiguration.FaultTolerance    = faultTolerance;
     Protocolconfiguration.ClientType        = interactionClientType;
     Protocolconfiguration.UseAddp           = true;
     Protocolconfiguration.AddpServerTimeout = addpServerTimeOut;
     Protocolconfiguration.AddpClientTimeout = addpClientTimeOut;
     Protocolconfiguration.AddpTrace         = addpTrace.ToString();
 }
 /// <summary>
 /// Creates the specified server URI.
 /// </summary>
 /// <param name="serverUri">The server URI.</param>
 /// <param name="userName">Name of the user.</param>
 /// <param name="faultTolerance">The fault tolerance.</param>
 /// <param name="interactionClientType">Type of the interaction client.</param>
 public void Create(Uri serverUri, string userName, FaultToleranceMode faultTolerance, InteractionClient interactionClientType)
 {
     Protocolconfiguration                = null;
     Protocolconfiguration                = new InteractionServerConfiguration(ServerType.Ixnserver.ToString());
     Protocolconfiguration.Uri            = serverUri;
     Protocolconfiguration.ClientName     = "AID_" + userName;
     Protocolconfiguration.ClientType     = interactionClientType;
     Protocolconfiguration.FaultTolerance = faultTolerance;
 }
Beispiel #5
0
        private void DiscoverSensor()
        {
            this.Sensor = KinectSensor.KinectSensors.FirstOrDefault();	// ustawienienie zmiennej Sensor, przechowujące parametry połączenia z Kinect'em

            if (null != this.Sensor) // warunek zostanie wykonany w przypadku nawiązania połączenia z sensorem Kinect
            {
                this.LastStatus = this.Sensor.Status; // ustawienie aktualnego statusu połączenia

                if (this.LastStatus == KinectStatus.Connected) // sprawdzenie, czy status osiągnął wartość "Connected"
                {
                    try
                    {
                        this.Sensor.SkeletonStream.TrackingMode = SkeletonTrackingMode.Default;
                        this.Sensor.DepthStream.Range = DepthRange.Default;
                        this.Sensor.SkeletonStream.EnableTrackingInNearRange = false; // zezwolenie na przesyłanie danych dla "NUI Skeleton Tracking" w trybie bliskim (gdy nie wszytskie części składowe osoby śledzonej są widoczne z powodu bliskiej pozycji względem urządzenia)

                        var parameters = new TransformSmoothParameters
                        {
                            Smoothing = 0.75f,
                            Correction = 0.0f,
                            Prediction = 0.0f,
                            JitterRadius = 0.05f,
                            MaxDeviationRadius = 0.04f
                        };

                        this.Sensor.SkeletonStream.Enable(parameters); // włączenie przesyłania danych z sensora dotyczących "NUI Skeleton Tracking"
                        this.Sensor.ColorStream.Enable(this.colorImageFormat); // włączenie przesyłania danych z sensora od kamery RGB
                        this.Sensor.DepthStream.Enable(this.depthImageFormat); // włączenie przesyłania danych z sensora od kamery głębokości
                        this.Sensor.DepthStream.Range = DepthRange.Default;

                        //
                        try
                        {
                            this.Sensor.Start(); // uruchom działanie sensora względem danej aplikacji

                            InteractionClient mic = new InteractionClient();
                            this.intStream = new InteractionStream(Sensor, mic);
                        }
                        catch (IOException)
                        {
                            this.intStream = null;
                            this.Sensor = null; // w przypadku błędu usunąć ustawione wcześniej dane
                        }
                    }
                    catch (InvalidOperationException)
                    {
                        this.Sensor = null; // w przypadku błędu usunąć ustawione wcześniej dane
                        this.intStream = null;
                    }
                }
            }
            else
            {
                this.LastStatus = KinectStatus.Disconnected; // gdy połączenie nie zostało poprawnie zrealizowane ustaw status na "Disconnected"
            }
        }