public static async Task MainAsync(string engineJson, ICameraFactory cameraFactory) { var fileSystem = new FileSystem(); var config = new Config(); if (fileSystem.File.Exists(engineJson)) { config = await JsonHelper.ReadFrom <Config>(new FileSystem(), engineJson); } using (var cancellationTokenSource = new CancellationTokenSource()) { var keyBoardTask = Task.Run(() => { Console.WriteLine("Press enter to cancel"); Console.ReadLine(); Console.WriteLine("Cancelled by user"); cancellationTokenSource.Cancel(); }); try { await RunEngineAsync(config, cameraFactory, cancellationTokenSource.Token); } catch (TaskCanceledException e) { Logger.Error(e, "RunEngineAsync task was cancelled"); } await keyBoardTask; } }
public GrabService() { _baslerFactory = CameraFactory.Instance.Create(ECameraManufacturer.Basler); _hikFactory = CameraFactory.Instance.Create(ECameraManufacturer.Hik); _logger = LogManager.GetCurrentClassLogger(); _grabbing = false; }
public Scheduler(IFileSystem fileSystem, string engineFolder, string jobFolder, string projectsFolder, Queue queue, ICameraFactory cameraFactory) { this.fileSystem = fileSystem; this.engineFolder = engineFolder; this.jobFolder = jobFolder; this.projectsFolder = projectsFolder; this.queue = queue; this.cameraFactory = cameraFactory; this.heartbeatSignal = new Signal(fileSystem, fileSystem.Path.Combine(engineFolder, "heartbeat")); this.requestPreviewSignal = new Signal(fileSystem, fileSystem.Path.Combine(engineFolder, "request-preview")); this.previewCompleteSignal = new Signal(fileSystem, fileSystem.Path.Combine(engineFolder, "preview-complete")); }
public CameraManager(ICameraFactory cameraFactory, IIdGenerator idGenerator, ISimpleCollectionFactory collectionFactory) { _idGenerator = idGenerator; _cameraFactory = cameraFactory; _camera2DCollection = collectionFactory.Create <ICameraModel2D>(32); _camera3DCollection = collectionFactory.Create <ICameraModel3D>(16); _camerasToDestroy = new List <ulong>(); }
static async Task RunEngineAsync(Config config, ICameraFactory cameraFactory, CancellationToken cancellationToken) { try { var fileSystem = new FileSystem(); var engine = new Engine(config, cameraFactory, fileSystem); Logger.Info("Starting engine"); await engine.RunAsync(cancellationToken); } catch (Exception e) { Logger.Error(e, $"Error while running engine: {e.Message}"); throw e; } }
public SpriteBatchRenderer(IDevice device, IBlobReader blobReader, ICameraFactory cameraFactory) { _device = device; _context = _device.ImmediateContext; _camera = cameraFactory.CreateOrhographicCamera(); _buffer = device.CreateVertexBuffer <Vertex2D>(MaxVertices, BufferUsage.Dynamic, BufferAccessFlags.Write); _indices = device.CreateIndexBuffer(CreateIndices()); _sampler = device.CreateSampler(true); _blendState = device.CreateBlendState(); _cameraBuffer = device.CreateConstantBuffer(new Camera { Transform = _camera.ViewProjection }); using var vertexShaderBlob = blobReader.ReadFromFile("Shaders/VertexShader2D.cso"); _vertexShader = device.CreateVertexShader(vertexShaderBlob); using var pixelShaderBlob = blobReader.ReadFromFile("Shaders/PixelShader2D.cso"); _pixelShader = device.CreatePixelShader(pixelShaderBlob); _inputLayout = device.CreateInputLayout(new VertexLayout(3).Append("Position", VertexLayoutTypes.Position2D).Append("Textures", VertexLayoutTypes.Texture2D).Append("Color", VertexLayoutTypes.Float4Color), vertexShaderBlob); }
public Engine(Config config, ICameraFactory cameraFactory, IFileSystem fileSystem) { this.config = config; this.cameraFactory = cameraFactory; this.fileSystem = fileSystem; }