-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBaslerCameraPlugin.cs
67 lines (53 loc) · 1.5 KB
/
BaslerCameraPlugin.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ViDi2.Training.UI;
using Basler.Pylon;
namespace ViDi2.Camera
{
public class BaslerCameraPlugin : ICameraProvider , IPlugin
{
public string Name
{
get { return "Basler"; }
}
List<ICamera> cameras = new List<ICamera>();
public System.Collections.ObjectModel.ReadOnlyCollection<ICamera> Discover()
{
cameras.Clear();
List<ICameraInfo> allCameras = CameraFinder.Enumerate();
foreach (ICameraInfo cameraInfo in allCameras)
{
string t = cameraInfo[CameraInfoKey.FullName];
cameras.Add(new BaslerCamera(cameraInfo, this));
}
return cameras.AsReadOnly();
}
public System.Collections.ObjectModel.ReadOnlyCollection<ICamera> Cameras
{
get { return cameras.AsReadOnly(); }
}
public void DeInitialize()
{
foreach(var camera in Cameras)
{
camera.Close();
}
}
public string Description
{
get { return "Provides Basler Camera Connectivity"; }
}
IPluginContext context;
public void Initialize(IPluginContext context)
{
this.context = context;
}
public int Version
{
get { return 0; }
}
}
}