using System;
using System.Linq;
namespace Multistream
{
class SimpleStreamingWithMock
{
static void Main(string[] args)
{
var flags = DiscoverFlags.IgnoreVins |
DiscoverFlags.IncludeMockTL;
{
if (deviceInfoList.Count < 1)
{
Console.WriteLine("No devices found.");
return;
}
var deviceInfo = deviceInfoList.First();
var foundMock = false;
foreach (var info in deviceInfoList)
{
info.AccessToken.Contains("MockTL");
deviceInfo = info;
foundMock = true;
break;
}
if (!foundMock)
{
Console.WriteLine("Could not find CVMockTL.");
return;
}
{
var stream = ((GenICamDevice)device).GetStream<ImageStream>(0);
stream.Start();
for (int imageIndex = 0; imageIndex < 10; imageIndex++)
{
using (var
image = stream.Wait(out status))
{
{
Console.Write("An unexpected error occurred.");
continue;
}
using (var nodeMaps = NodeMapDictionary.FromImage(image))
{
var bufferNodeMap = nodeMaps["VinBuffer"];
var timestampNode = bufferNodeMap["Timestamp"] as IntegerNode;
var frameIDNode = bufferNodeMap["FrameID"] as IntegerNode;
var sizeFilledNode = bufferNodeMap["SizeFilled"] as IntegerNode;
var isIncompleteNode = bufferNodeMap["IsIncomplete"] as BooleanNode;
var xPaddingNode = bufferNodeMap["XPadding"] as IntegerNode;
var yPaddingNode = bufferNodeMap["YPadding"] as IntegerNode;
Console.WriteLine(
$"Image #{imageIndex}, " +
$"Timestamp: 0x{timestampNode.Value:X8}, " +
$"FrameID: {frameIDNode.Value}, " +
$"Width: {image.Size.Width}, " +
$"Height: {image.Size.Height}, " +
$"SizeFilled: {sizeFilledNode.Value}, " +
$"IsIncomplete: {isIncompleteNode.Value}, " +
$"XPadding: {xPaddingNode.Value}, " +
$"YPadding: {yPaddingNode.Value}"
);
}
}
}
stream.TryAbort();
}
}
}
}
}
static DiscoveryInformationList Discover()