public DepthDataFrameSource(IDepthGenerator generator)
     : base(generator)
 {
     this.factory      = new DepthDataFrameFactory(this.Size);
     this.CurrentValue = new DepthDataFrame(this.Width, this.Height);
 }
 private void StartDepthSource()
 {
     try
     {
         if (this.VideoSource == null)
         {
             Mouse.OverrideCursor = Cursors.Wait;
             this.dataSourceFactory = new OpenNIDataSourceFactory("config.xml");
             this.VideoSource = dataSourceFactory.CreateDepthImageDataSource();
             this.clusterdataSource = dataSourceFactory.CreateClusterDataSource(this.clusterDataSourceSettings);
             this.shapeDataSourceVideo = dataSourceFactory.CreateShapeDataSource(this.clusterdataSource, this.shapeDataSourceSettings);
             this.handDataSourceVideo = new HandDataSource(this.shapeDataSourceVideo, this.handDataSourceSettings);
             this.depthFrameFactory = new DepthDataFrameFactory(this.clusterdataSource.Size);
             this.VideoSource.Start();
             Mouse.OverrideCursor = Cursors.Arrow;
         }
         this.ToggleLayers();
     }
     catch (Exception exc)
     {
         MessageBox.Show("Error: " + exc.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }