93 lines
3.7 KiB
C#
93 lines
3.7 KiB
C#
using System.Collections.ObjectModel;
|
|
using VisionBuilder.UI.Common;
|
|
using VisionBuilder.UI.Common.Commands;
|
|
using VisionBuilder.UI.Common.ViewModel;
|
|
using VisionBuilder.UI.Common.ViewModel.Classes;
|
|
using VisionBuilder.UI.Common.ViewModel.Interfaces.UI;
|
|
using VisionBuilder.UI.Windows.Settings;
|
|
using System.Threading;
|
|
using Hawkeye.VisionBuilder.UI.Sources.Emulation;
|
|
using Inspectron.Settings;
|
|
using Inspectron.Settings.Windows.Configuration;
|
|
using Lindt.Colorballs.Duo.Utils;
|
|
using Ninject;
|
|
using OpenCvSharp;
|
|
using VisionBuilder.UI.Common.RecipeProcessing;
|
|
using VisionBuilder.UI.Recipes.HawkeyeRecipe;
|
|
|
|
namespace VisionBuilder.UI.Windows.Test
|
|
{
|
|
internal static class Program
|
|
{
|
|
/// <summary>
|
|
/// The main entry point for the application.
|
|
/// </summary>
|
|
[STAThread]
|
|
static void Main()
|
|
{
|
|
// To customize application configuration such as set high DPI settings or default font,
|
|
// see https://aka.ms/applicationconfiguration.
|
|
ApplicationConfiguration.Initialize();
|
|
|
|
|
|
StandardKernel kernelCamera1 = new StandardKernel();
|
|
|
|
|
|
// SETTINGS //
|
|
InspectronSettings settings = new InspectronSettings("..\\Config\\AppSettings.xml");
|
|
kernelCamera1.Bind<InspectronSettings>().ToConstant(settings);
|
|
kernelCamera1.Bind<UIConfiguration,ISettings>().ToConstant(new UIConfiguration());
|
|
kernelCamera1.Bind<CameraSettings, ISettings>().ToConstant(new CameraSettings("Camera 1"));
|
|
kernelCamera1.Bind<EmulationSettings, ISettings>().ToConstant(new EmulationSettings("Camera 1"));
|
|
kernelCamera1.Bind<HawkeyeRecognitionSettings, ISettings>().ToConstant(new HawkeyeRecognitionSettings("Camera 1"));
|
|
kernelCamera1.Bind<VisionBuilderRingbufferSettings, ISettings>().ToConstant(new VisionBuilderRingbufferSettings("Camera 1"));
|
|
|
|
kernelCamera1.RegisterSettings();
|
|
settings.LoadSettings();
|
|
|
|
|
|
// --- //
|
|
|
|
// SOURCES //
|
|
var cameraSettings = kernelCamera1.Get<CameraSettings>();
|
|
switch (cameraSettings.Camera1Source)
|
|
{
|
|
case CameraSettings.EImageSource.Emulation:
|
|
kernelCamera1.Bind<IImageSource>().To<EmulationCameraImageSource>().InSingletonScope();
|
|
break;
|
|
case CameraSettings.EImageSource.Hawkeye:
|
|
break;
|
|
case CameraSettings.EImageSource.IDS:
|
|
break;
|
|
case CameraSettings.EImageSource.Basler:
|
|
break;
|
|
default:
|
|
throw new ArgumentOutOfRangeException();
|
|
}
|
|
// --- //
|
|
|
|
// SERVICES //
|
|
kernelCamera1.Bind<ISettingsService>().To<SettingsService>().InSingletonScope();
|
|
kernelCamera1.Bind<IRecognitionControl>().To<HawkeyeRecognitionControl>().InSingletonScope();
|
|
kernelCamera1.Bind<VisionBuilderRingbuffer>().ToSelf().InSingletonScope();
|
|
kernelCamera1.Bind<ILoadingService>().To<LoadingService>().InSingletonScope();
|
|
|
|
kernelCamera1.Get<VisionBuilderRingbuffer>(); // initialize the ringbuffer
|
|
|
|
var mainWindowVm = new MainWindowVM(kernelCamera1.Get<ISettingsService>())
|
|
{
|
|
SingleCameraVms = new ObservableCollection<SingleCameraVM>()
|
|
{
|
|
new SingleCameraVM(kernelCamera1.Get<CameraSettings>(),kernelCamera1.Get<UIConfiguration>(),new RecipeSelectionDialogService(),kernelCamera1.Get<IRecognitionControl>(), new ImagePreviewService(), new NoLearning())
|
|
}
|
|
};
|
|
|
|
settings.LoadSettings();
|
|
Application.Run(new Form1(mainWindowVm));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
} |