9#include "../global.hpp"
10#include "../string.hpp"
11#include "../genapi/genapi.hpp"
70class NonStreamingDevice;
157 explicit Flow(
size_t size = 0,
void* buffer =
nullptr)
168inline StreamType StreamTypeFor() noexcept
174 return StreamType::Legacy;
178inline StreamType StreamTypeFor<class Stream>() noexcept
180 return StreamType::Legacy;
184inline StreamType StreamTypeFor<CompositeStream>() noexcept
186 return StreamType::Composite;
190inline StreamType StreamTypeFor<ImageStream>() noexcept
192 return StreamType::Image;
196inline StreamType StreamTypeFor<PointCloudStream>() noexcept
198 return StreamType::PointCloud;
213 InterfaceMac = CExports::DO_DISCOVER_INFO_INTERFACE_NET_MAC,
229 InterfaceId = CExports::DO_DISCOVER_INFO_INTERFACE_ID,
241 DeviceMac = CExports::DO_DISCOVER_INFO_DEVICE_NET_MAC,
243 DeviceIP = CExports::DO_DISCOVER_INFO_DEVICE_NET_IP,
251 DeviceVendor = CExports::DO_DISCOVER_INFO_DEVICE_VENDOR,
253 DeviceModel = CExports::DO_DISCOVER_INFO_DEVICE_MODEL,
255 DeviceId = CExports::DO_DISCOVER_INFO_DEVICE_ID,
269 UsbPortPath = CExports::DO_DISCOVER_INFO_DEVICE_USB_PORT_PATH
326 IncludeMockTL = 1 << 13
344 Unknown = CExports::DO_AT_LEVEL_UNKNOWN,
346 System = CExports::DO_AT_LEVEL_SYSTEM,
348 Vin = CExports::DO_AT_LEVEL_VIN,
363 Void = CExports::CVNO_DATA_VOID,
365 Int64 = CExports::CVNO_DATA_INTEGER64,
367 Float64 = CExports::CVNO_DATA_FLOAT64,
369 String = CExports::CVNO_DATA_STRING,
371 Binary = CExports::CVNO_DATA_BINARY,
373 Boolean = CExports::CVNO_DATA_BOOL8,
408 Auto = CExports::RINGBUFFER_LOCKMODE_AUTO,
417 On = CExports::RINGBUFFER_LOCKMODE_ON
527 Get = CExports::DC_GET,
529 Set = CExports::DC_SET,
535 Verify = CExports::DC_VERIFY
611using Driver::StreamType;
626using Driver::VinImage;
634namespace NodeMapID = Driver::NodeMapID;
Buffer class implementing a buffer.
Definition: buffer.hpp:14
Component class is a container for CVB objects.
Definition: decl_composite.hpp:45
Generic CVB physical device.
Definition: decl_device.hpp:39
Base class of all composite based streams.
Definition: decl_composite_stream_base.hpp:32
Streams composites.
Definition: composite_stream.hpp:21
Implementation of the device control interface.
Definition: decl_device_control.hpp:98
Special device image.
Definition: decl_device_image.hpp:26
Digital I/O operations on a device.
Definition: decl_digital_io.hpp:24
A device representing an image stream based on single image files.
Definition: decl_emu_device.hpp:34
FlowSetPool class to set external buffers as set of flows.
Definition: flow_set_pool.hpp:67
A device representing a GenICam compliant device.
Definition: decl_genicam_device.hpp:20
Image rectangle operations on a device.
Definition: decl_image_rect.hpp:18
Streams images.
Definition: image_stream.hpp:20
A stream with a finite number of images, which can also be accessed via an index.
Definition: decl_indexed_stream.hpp:26
MultiPart image class.
Definition: multi_part_image.hpp:23
Single notify event observable.
Definition: decl_notify_observable.hpp:98
Streams point clouds.
Definition: point_cloud_stream.hpp:20
Ring buffer operations on a device.
Definition: decl_ring_buffer.hpp:22
Stream image that is returned, when the ring buffer interface is available on a device.
Definition: decl_ring_buffer_image.hpp:29
Implementation of the software trigger.
Definition: decl_software_trigger.hpp:16
Base class of all streams.
Definition: stream_base.hpp:20
Represents one acquisition stream of a device.
Definition: decl_stream.hpp:38
Base class of all stream related images.
Definition: stream_image.hpp:33
A device representing a video stream from the hard disk.
Definition: decl_video_device.hpp:32
A device representing a video interface driver (vin).
Definition: decl_vin_device.hpp:37
Lazy enumeration of node maps.
Definition: node_map_enumerator.hpp:31
The Common Vision Blox image.
Definition: decl_image.hpp:45
A point cloud object.
Definition: decl_point_cloud.hpp:49
static const Cvb::String Factory
The name of the node map that gives access to CVB's GenTL enumeration.
Definition: driver.hpp:558
static const Cvb::String VinBuffer
The name of the node map that represents the video interface driver buffer.
Definition: driver.hpp:570
static const Cvb::String TLDevice
The name of the node map that gives access to the GenTL's side of the device (the proxy).
Definition: driver.hpp:564
static const Cvb::String Interface
The name of the node map that gives access to the GenTL interface (e.g. the NIC) of the currently ope...
Definition: driver.hpp:562
static const Cvb::String System
The name of the node map that gives access to the GenTL system (the TL itself) of the currently opene...
Definition: driver.hpp:560
static const Cvb::String DataStream
The name of the node map that gives access to the GenTL streaming interface (grab/acquisition).
Definition: driver.hpp:566
DeviceState
States the device can be in.
Definition: driver.hpp:378
@ DeviceReconnect
Device was reconnected (communication regained).
@ DeviceImageGeometryChanged
Device width, height, plane number and/or data type changed.
@ NewMetaData
New meta data arrived.
@ DeviceDisconnected
Device was disconnected (communication lost).
DeviceControlOperation
Operation on driver specific parameter.
Definition: driver.hpp:525
@ GetMinimum
Gets the minimal supported value for the parameter.
@ GetMaxiumum
Gets the maximal supported value for the parameter.
@ Verify
Verify the given value for the parameter.
@ Set
Set information in the device.
@ Get
Get information from the device.
PlaybackMode
Defines how frames are acquired by this video device.
Definition: driver.hpp:422
@ FrameByFrame
The Stream::Wait() method always returns the next image in the video stream.
AcquisitionStack
Defines the acquisition stack when opening the device.
Definition: driver.hpp:274
@ GenTL
Use GenTL acquisition stack or fail.
@ Vin
Use Vin acquisition stack or fail.
RingBufferLockMode
Lock mode options for the ring buffer.
Definition: driver.hpp:402
ModuleLayer
Level of an access token entry.
Definition: driver.hpp:342
@ TransportLayerStream
GenTL Producer stream module.
@ TransportLayerSystem
GenTL Producer system module.
@ TransportLayerDevice
GenTL Producer device module.
@ TransportLayerInterface
GenTL Producer interface module.
DiscoveryProperties
Properties which can be queried from a DiscoveryInformation entry.
Definition: driver.hpp:205
@ TransportLayerPath
File path of the CTI file(GenTL Producer library).
@ TransportLayerVendor
Vendor name of the GenTL Producer.
@ DeviceSerialNumber
Device only : Serial number.
@ DeviceTransportLayerType
@ DeviceIP
Ethernet device only : IP address.
@ DeviceMac
Ethernet device only : MAC address.
@ DeviceSubnetMask
Ethernet device only : Subnet mask.
@ DeviceModel
Device only : Model name.
@ DeviceUsbProductId
USB device only : USB product identifier.
@ InterfaceMac
Ethernet interface only: MAC address.
@ UsbPortPath
Port path of USB device.
@ DeviceUsername
Device only : User configured name.
@ InterfaceDisplayName
Interface only: Human readable name of the interface.
@ DeviceUsbVendorId
USB device only: USB vendor identifier.
@ DeviceId
Device only : GenTL identifier of the interface.
@ DeviceVendor
Device only : Vendor name.
@ InterfaceId
Interface only: GenTL identifier of the interface.
@ TransportLayerId
Unique identifier of the GenTL Producer.
NotifyDataType
Data type delivered by the event.
Definition: driver.hpp:361
StreamInfo
Queryable stream information.
Definition: driver.hpp:452
@ NumBuffersCorruptOnArrival
@ NumBuffersLostTransfer
Count that only contains lost images during transfer.
@ NumPacketsReceived
For packet based protocols this contains the actual number of packets received (parts of a whole imag...
@ NumBuffersCorruptOnDelivery
@ NumBuffersAcquired
The number of images buffers acquired since start of the last acquisition start.
@ NumBuffersPending
Number of images acquired, but not retrieved via the stream's wait method.
@ NumBuffersLostLocked
Count that only contains lost images due to ring buffer overflow.
@ NumBuffersBeingFilled
Number of buffer currently being filled by the acquisition engine.
@ NumResends
Number of resend requests sent since start of the last acquisition.
@ NumTriggersLost
Gets how many trigger signals where ignored by the device due to e.g. over-triggering.
@ NumBuffersLocked
Number of images currently in locked state.
DiscoverFlags
Flags controlling the discovery process.
Definition: driver.hpp:294
@ IgnoreVins
Ignore vin-drivers in discovery.
@ UpToLevelTL
Limit discovery depth to transport library level.
@ UpToLevelInterface
Limit discovery depth to interface library level.
@ UpToLevelVin
Limit discovery depth to vin-driver level.
@ UpToLevelStream
Limit discovery depth to stream level.
@ UpToLevelDevice
Limit discovery depth to device level.
@ UpToLevelSystem
Limit discovery depth to system level(factory).
@ IgnoreGevFD
Ignore filter driver for GEVTL GenTL Producer.
@ IgnoreTLs
Ignore GenTL producers in discovery.
@ IgnoreGevSD
Ignore socket driver for GEVTL GenTL Producer.
@ FindAll
Default flags to find all devices and vin-drivers.
@ IncludeInaccessible
Normally inaccessible devices are filtered out : this flag includes them.
AcquisitionState
Specifies current state of the acquisition engine.
Definition: driver.hpp:541
@ Stopping
The engine is in the process of stopping.
@ Started
The engine is started.
@ Stopped
The engine is stopped.
@ AbortingStop
The engine is aborting an ongoing stop.
AcquisitionInterface
Known acquisition CVB interfaces.
Definition: driver.hpp:436
@ Grab2
Ring buffer / queue based acquisition.
@ Grabber
Basic grabber interface for single image acquisition.
Root namespace for the Image Manager interface.
Definition: c_barcode.h:24
std::string String
String for wide characters or unicode characters.
Definition: string.hpp:56
WaitStatus
Status after waiting for an image to be returned.
Definition: global.hpp:376
@ Ok
Everything is fine, a new image arrived.
Struct handling the size and buffer of a flow.
Definition: driver.hpp:149
size_t Size
Flow size in bytes.
Definition: driver.hpp:151
Flow(size_t size=0, void *buffer=nullptr)
Constructor.
Definition: driver.hpp:157
void * Buffer
The buffer.
Definition: driver.hpp:154
A combined result returned after waiting for a image.
Definition: driver.hpp:393
WaitStatus Status
The status.
Definition: driver.hpp:395
std::shared_ptr< T > Image
The returned image by wait if applicable cast to the provided type.
Definition: driver.hpp:397