コード例 #1
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
        public MainWindow()
        {
            InitializeComponent();

            //Set version info
            l_version.Text = "Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

            //Load Settings
            bool sload = LocalSettingsManager.LoadSettings();
            if (!sload)
            {
                MessageBox.Show("Einstellungen konnten nicht geladen werden. Standardeinstellungen werden verwendet",
                                "SimulationsEngine");
                LocalSettingsManager.SaveSettings();
            }

            //Init
            _beamerScreen = new BeamerScreenWindow();
            _beamerScreen.Show();
            _tableManager = new TableManager(_beamerScreen.GetBeamerUC(),"..\\..\\settings\\ProgrammingTable\\");
            _tableManager.ToggleObjectTracking = true;
            _tableManager.ToggleObjectRecognition = true;
            _tableManager.ToggleObjectRotationAnalysation = true;

            _simulationEngine = new SimulationEngine(_tableManager);
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
        public MainWindow()
        {
            InitializeComponent();
            _beamerScreenWindow = new BeamerScreenWindow();
            _beamerScreenWindow.Show();

            _tableManager = new TableManager(_beamerScreenWindow.GetBeamerUC());
        }
コード例 #3
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
        public MainWindow()
        {
            InitializeComponent();

            bsw = new BeamerScreenWindow();
            bsw.Show();

            tableManager = new TableManager(bsw.GetBeamerUC());

            tableManager.Start();
            tableManager.ToggleObjectRecognition = true;
            tableManager.ToggleObjectTracking = true;
            tableManager.ToggleObjectRotationAnalysation = true;

            tableManager.OnNewLongTermObject += new TableManager.TableManagerObjectChange(tableManager_OnNewLongTermObject);
            tableManager.OnObjectMove += new TableManager.TableManagerObjectChange(tableManager_OnObjectMove);
            tableManager.OnObjectRemove += new TableManager.TableManagerObjectChange(tableManager_OnObjectRemove);
            tableManager.OnObjectRotate += new TableManager.TableManagerObjectChange(tableManager_OnObjectRotate);
            ScreenCalibrationWindow scw = new ScreenCalibrationWindow(tableManager,true);
            scw.Show();
            DepthMapViewer dv = new DepthMapViewer(ref tableManager);
            dv.Show();
        }
コード例 #4
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
        public MainWindow()
        {
            InitializeComponent();

            //Set version info
            l_version.Text = "Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

            //Because of the wave engine, the beamerscreen is in a seperate thread
            Thread d = new Thread(() =>
            {
                _beamerScreen = new BeamerScreenWindow();
                //Bind to the close event so that the thread is closed when the window closes
                _beamerScreen.Closed += (sender2, e2) => _beamerScreen.Dispatcher.InvokeShutdown();
                //make it WPF ready
                System.Windows.Threading.Dispatcher.Run();
            });

            d.SetApartmentState(ApartmentState.STA);
            d.Start();
            Thread.Sleep(500); //Wait for the screen to load

            BeamerDisplayUC beameruc = null;
            _beamerScreen.Dispatcher.Invoke((Action) (() => { beameruc = _beamerScreen.GetBeamerUC(); }));
            _tableManager = new TableManager(beameruc);

            _tableManager.ToggleObjectTracking = true;
            _tableManager.ToggleObjectRecognition = true;
            _tableManager.ToggleObjectRotationAnalysation = true;

            _waveTableEngine = new WaveTableEngine(_tableManager);
            UpdateSimResolution();
            _waveTableEngine.Initialize();

            //UI Data Init
            UpdateUiActions();
            UpdateSimParams(true);
        }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            //Create Beamerscreen
            _bscrw = new BeamerScreenWindow();
            _bscrw.Show();

            _bscrw.Closed += new EventHandler(_bscrw_Closed);
            _tablemanager = new TableManager(_bscrw.GetBeamerUC());

            //Add debug object
            ScreenCircle sc1 =
                new ScreenCircle(new ObjectTable.Code.Recognition.DataStructures.TPoint(500, 500,
                                                                                        ObjectTable.Code.Recognition.
                                                                                            DataStructures.TPoint.
                                                                                            PointCreationType.screen));
            sc1.SetColor(ScreenCircle.EColor.green);
            sc1.RotationSpeed = 10.0;

            ScreenCrosshair sch1 = new ScreenCrosshair(new ObjectTable.Code.Recognition.DataStructures.TPoint(200, 300,
                                                                                                              ObjectTable
                                                                                                                  .Code.
                                                                                                                  Recognition
                                                                                                                  .
                                                                                                                  DataStructures
                                                                                                                  .
                                                                                                                  TPoint
                                                                                                                  .
                                                                                                                  PointCreationType
                                                                                                                  .
                                                                                                                  screen));

            _tablemanager.DisplayManager.AddElement(sc1, ObjectTable.Code.Display.DisplayManager.DisplayLayer.top);
            _tablemanager.DisplayManager.AddElement(sch1, ObjectTable.Code.Display.DisplayManager.DisplayLayer.top);
            //Canvas.SetLeft(sch1, 450);
            //Canvas.SetTop(sch1, 150);
        }
コード例 #6
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
        public MainWindow()
        {
            InitializeComponent();

            //Set version info
            l_version.Text = "Version: " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

            //Because of the wave engine, the beamerscreen is in a seperate thread
            Thread d = new Thread(() =>
            {
                _beamerScreen = new BeamerScreenWindow();
                //Bind to the close event so that the thread is closed when the window closes
                _beamerScreen.Closed += (sender2, e2) => _beamerScreen.Dispatcher.InvokeShutdown();
                //make it WPF ready
                System.Windows.Threading.Dispatcher.Run();
            });

            d.SetApartmentState(ApartmentState.STA);
            d.Start();
            Thread.Sleep(500); //Wait for the screen to load

            BeamerDisplayUC beameruc = null;
            _beamerScreen.Dispatcher.Invoke((Action) (() => { beameruc = _beamerScreen.GetBeamerUC(); }));
            _tableManager = new TableManager(beameruc,"..\\..\\settings\\WaveTable\\");

            _tableManager.ToggleObjectTracking = true;
            _tableManager.ToggleObjectRecognition = true;
            _tableManager.ToggleObjectRotationAnalysation = true;

            _waveTableEngine = new WaveTableEngine(_tableManager);
            UpdateSimResolution();
            _waveTableEngine.Initialize();

            //UI Data Init
            UpdateUiActions();
            UpdateSimParams(true);

            txt_WallThreshold.Text = _waveTableEngine.WallMaxHeight.ToString();
            txt_massHeightThreshold.Text = _waveTableEngine.MassMaxHeight.ToString();
            txt_HeightMass.Text = _waveTableEngine.MassValue.ToString();

            //set initial colors
            var c = new Color();
            c = Color.FromRgb(_waveTableEngine.ColorVisualizer.ColorMax.R, _waveTableEngine.ColorVisualizer.ColorMax.G,
                              _waveTableEngine.ColorVisualizer.ColorMax.B);
            rec_ColMax.Fill = new SolidColorBrush(c);

            c = Color.FromRgb(_waveTableEngine.ColorVisualizer.ColorNull.R, _waveTableEngine.ColorVisualizer.ColorNull.G,
                  _waveTableEngine.ColorVisualizer.ColorNull.B);
            rec_ColNull.Fill = new SolidColorBrush(c);

            c = Color.FromRgb(_waveTableEngine.ColorVisualizer.ColorMin.R, _waveTableEngine.ColorVisualizer.ColorMin.G,
                  _waveTableEngine.ColorVisualizer.ColorMin.B);
            rec_ColMin.Fill = new SolidColorBrush(c);

            c = Color.FromRgb(_waveTableEngine.ColorVisualizer.ColorWall.R, _waveTableEngine.ColorVisualizer.ColorWall.G,
                  _waveTableEngine.ColorVisualizer.ColorWall.B);
            rec_ColWall.Fill = new SolidColorBrush(c);

            c = Color.FromRgb(_waveTableEngine.ColorVisualizer.ColorMass.R, _waveTableEngine.ColorVisualizer.ColorMass.G,
                  _waveTableEngine.ColorVisualizer.ColorMass.B);
            rec_ColMass.Fill = new SolidColorBrush(c);
        }
コード例 #7
0
ファイル: MainWindow.xaml.cs プロジェクト: AtiX/objectTable
 void _bscrw_Closed(object sender, EventArgs e)
 {
     //recreate the window
     _bscrw = new BeamerScreenWindow();
     _bscrw.Closed += new EventHandler(_bscrw_Closed);
     _bscrw.Show();
     _tablemanager.BeamerScreen = _bscrw.GetBeamerUC();
 }