Common Vision Blox 15.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Friends Modules Pages
ImageManager/Cvb.Net/Multipart

This example program is located in your CVB installation under %CVB%Tutorial/ImageManager/Cvb.Net/Multipart.

Program.cs:

// Example for acquiring multi part images.

using System;
namespace Multipart
{
class Multipart
{
static void Main(string[] args)
{
using (var devices = DeviceFactory.Discover(DiscoverFlags.IgnoreVins))
{
using (var device = DeviceFactory.Open(devices[0], AcquisitionStack.GenTL))
{
var stream = ((GenICamDevice)device).GetStream<CompositeStream>(0);
stream.Start();
for (int i = 0; i < 10; i++)
{
WaitStatus status;
using (Composite composite = stream.Wait(out status))
{
using (var nodeMaps = NodeMapDictionary.FromComposite(composite))
{
Console.WriteLine($"Acquired composite: {i} with purpose: {composite.Purpose}");
foreach (var part in composite)
{
Console.WriteLine($"Part of composite is of type {part.GetType()}");
// using the type you can check which specific object is in the part
// at this point you can cast the part to a specific object e.g.:
// if (part.GetType() == typeof(Image))
// var img = (Image)part;
}
}
}
Console.WriteLine();
}
stream.Abort();
}
}
}
}
}
static Device Open(DiscoveryInformation info, AcquisitionStack acquisitionStack=AcquisitionStack.PreferVin)
static DiscoveryInformationList Discover()
static NodeMapDictionary FromComposite(Composite composite)