9#include "../global.hpp"
10#include "../string.hpp"
11#include "../genapi/genapi.hpp"
70 class NonStreamingDevice;
138 enum class StreamType
157 explicit Flow(
size_t size = 0,
void *buffer =
nullptr)
157 explicit Flow(
size_t size = 0,
void *buffer =
nullptr) {
…}
168 inline StreamType StreamTypeFor() noexcept
172 "unsupported stream type");
173 return StreamType::Legacy;
177 inline StreamType StreamTypeFor<class Stream>() noexcept
179 return StreamType::Legacy;
183 inline StreamType StreamTypeFor<CompositeStream>() noexcept
185 return StreamType::Composite;
189 inline StreamType StreamTypeFor<ImageStream>() noexcept
191 return StreamType::Image;
195 inline StreamType StreamTypeFor<PointCloudStream>() noexcept
197 return StreamType::PointCloud;
242 DeviceIP = CExports::DO_DISCOVER_INFO_DEVICE_NET_IP,
325 IncludeMockTL = 1 << 13
347 Vin = CExports::DO_AT_LEVEL_VIN,
362 Void = CExports::CVNO_DATA_VOID,
364 Int64 = CExports::CVNO_DATA_INTEGER64,
408 Auto = CExports::RINGBUFFER_LOCKMODE_AUTO,
418 On = CExports::RINGBUFFER_LOCKMODE_ON
631 using Driver::StreamType;
633 using Driver::VinImage;
Base class of all composite based streams.
Definition decl_composite_stream_base.hpp:30
Streams composites.
Definition composite_stream.hpp:19
Implementation of the device control interface.
Definition decl_device_control.hpp:92
Special device image.
Definition decl_device_image.hpp:24
Digital I/O operations on a device.
Definition decl_digital_io.hpp:19
A device representing an image stream based on single image files.
Definition decl_emu_device.hpp:27
FlowSetPool class to set external buffers as set of flows.
Definition flow_set_pool.hpp:65
A device representing a GenICam compliant device.
Definition decl_genicam_device.hpp:19
Image rectangle operations on a device.
Definition decl_image_rect.hpp:18
Streams images.
Definition image_stream.hpp:19
A stream with a finite number of images, which can also be accessed via an index.
Definition decl_indexed_stream.hpp:20
MultiPart image class.
Definition multi_part_image.hpp:23
Single notify event observable.
Definition decl_notify_observable.hpp:118
Streams point clouds.
Definition point_cloud_stream.hpp:19
Ring buffer operations on a device.
Definition decl_ring_buffer.hpp:18
Stream image that is returned, when the ring buffer interface is available on a device.
Definition decl_ring_buffer_image.hpp:24
Implementation of the software trigger.
Definition decl_software_trigger.hpp:16
Base class of all streams.
Definition stream_base.hpp:19
Represents one acquisition stream of a device.
Definition decl_stream.hpp:33
Base class of all stream related images.
Definition stream_image.hpp:32
A device representing a video stream from the hard disk.
Definition decl_video_device.hpp:27
A device representing a video interface driver (vin).
Definition decl_vin_device.hpp:30
Lazy enumeration of node maps.
Definition node_map_enumerator.hpp:30
Namespace with constant strings for NodeMapIDs.
Definition driver.hpp:557
static const Cvb::String Factory
The name of the node map that gives access to CVB's GenTL enumeration.
Definition driver.hpp:561
static const Cvb::String VinBuffer
The name of the node map that represents the video interface driver buffer.
Definition driver.hpp:574
static const Cvb::String VinDevice
The name of the node map that represents the video interface driver.
Definition driver.hpp:572
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:568
static const Cvb::String Device
The name of the node map that represents the remote device, i.e. camera.
Definition driver.hpp:559
static const Cvb::String Interface
Definition driver.hpp:566
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:563
static const Cvb::String DataStream
The name of the node map that gives access to the GenTL streaming interface (grab/acquisition).
Definition driver.hpp:570
Namespace for driver or device related operations.
Definition decl_composite.hpp:27
DeviceState
States the device can be in.
Definition driver.hpp:377
@ DeviceReconnect
Device was reconnected (communication regained).
Definition driver.hpp:381
@ DeviceImageGeometryChanged
Device width, height, plane number and/or data type changed.
Definition driver.hpp:383
@ NewMetaData
New meta data arrived.
Definition driver.hpp:385
@ DeviceDisconnected
Device was disconnected (communication lost).
Definition driver.hpp:379
DeviceControlOperation
Operation on driver specific parameter.
Definition driver.hpp:528
@ GetMinimum
Gets the minimal supported value for the parameter.
Definition driver.hpp:534
@ GetMaxiumum
Gets the maximal supported value for the parameter.
Definition driver.hpp:536
@ Verify
Verify the given value for the parameter.
Definition driver.hpp:538
@ Set
Set information in the device.
Definition driver.hpp:532
@ Get
Get information from the device.
Definition driver.hpp:530
std::shared_ptr< GenICamDevice > GenICamDevicePtr
Convenience shared pointer for GenICamDevice.
Definition driver.hpp:76
std::shared_ptr< IndexedStream > IndexedStreamPtr
Convenience shared pointer for IndexedStream.
Definition driver.hpp:100
std::shared_ptr< VideoDevice > VideoDevicePtr
Convenience shared pointer for VideoDevice.
Definition driver.hpp:64
std::shared_ptr< DeviceControl > DeviceControlPtr
Convenience shared pointer for DeviceControl.
Definition driver.hpp:32
PlaybackMode
Defines how frames are acquired by this video device.
Definition driver.hpp:423
@ FrameByFrame
The Stream::Wait() method always returns the next image in the video stream.
Definition driver.hpp:425
std::shared_ptr< BufferImage > BufferImagePtr
Convenience shared pointer for BufferImage.
Definition driver.hpp:92
AcquisitionStack
Defines the acquisition stack when opening the device.
Definition driver.hpp:273
@ PreferGenTL
Definition driver.hpp:285
@ GenTL
Use GenTL acquisition stack or fail.
Definition driver.hpp:281
@ PreferVin
Definition driver.hpp:279
@ Vin
Use Vin acquisition stack or fail.
Definition driver.hpp:275
RingBufferLockMode
Lock mode options for the ring buffer.
Definition driver.hpp:402
@ Auto
Definition driver.hpp:408
@ On
Definition driver.hpp:418
std::shared_ptr< CompositeStream > CompositeStreamPtr
Convenience shared pointer for CompositeStream.
Definition driver.hpp:116
std::shared_ptr< StreamImage > StreamImagePtr
Convenience shared pointer for StreamImage.
Definition driver.hpp:84
std::shared_ptr< Stream > StreamPtr
Convenience shared pointer for Stream.
Definition driver.hpp:96
std::shared_ptr< ImageRect > ImageRectPtr
Convenience shared pointer for SoftwareTrigger.
Definition driver.hpp:52
std::shared_ptr< NonStreamingDevice > NonStreamingDevicePtr
Convenience shared pointer for NonStreamingDevice.
Definition driver.hpp:72
std::shared_ptr< PointCloudStream > PointCloudStreamPtr
Convenience shared pointer for PointCloudStream.
Definition driver.hpp:120
std::shared_ptr< VideoImage > VideoImagePtr
Convenience shared pointer for VideoImage.
Definition driver.hpp:124
std::shared_ptr< NotifyObservable > NotifyObservablePtr
Convenience shared pointer for NotifyObservable.
Definition driver.hpp:48
std::shared_ptr< DigitalIO > DigitalIOPtr
Convenience shared pointer for DigitalIO.
Definition driver.hpp:40
std::shared_ptr< EmuDevice > EmuDevicePtr
Convenience shared pointer for EmuDevice.
Definition driver.hpp:68
ModuleLayer
Level of an access token entry.
Definition driver.hpp:341
@ TransportLayerStream
GenTL Producer stream module.
Definition driver.hpp:355
@ TransportLayerSystem
GenTL Producer system module.
Definition driver.hpp:349
@ TransportLayerDevice
GenTL Producer device module.
Definition driver.hpp:353
@ Unknown
Invalid or not filled yet.
Definition driver.hpp:343
@ System
Discovery system module (root).
Definition driver.hpp:345
@ TransportLayerInterface
GenTL Producer interface module.
Definition driver.hpp:351
std::shared_ptr< MultiPartImage > MultiPartImagePtr
Convenience shared pointer for StreamImage.
Definition driver.hpp:88
DiscoveryProperties
Properties which can be queried from a DiscoveryInformation entry.
Definition driver.hpp:204
@ TransportLayerPath
File path of the CTI file(GenTL Producer library).
Definition driver.hpp:264
@ TransportLayerVendor
Vendor name of the GenTL Producer.
Definition driver.hpp:266
@ DeviceSerialNumber
Device only : Serial number.
Definition driver.hpp:238
@ DeviceTransportLayerType
Definition driver.hpp:234
@ DeviceAccessStatus
Definition driver.hpp:260
@ DeviceIP
Ethernet device only : IP address.
Definition driver.hpp:242
@ DeviceMac
Ethernet device only : MAC address.
Definition driver.hpp:240
@ DeviceSubnetMask
Ethernet device only : Subnet mask.
Definition driver.hpp:244
@ DeviceModel
Device only : Model name.
Definition driver.hpp:252
@ DeviceUsbProductId
USB device only : USB product identifier.
Definition driver.hpp:248
@ InterfaceMac
Ethernet interface only: MAC address.
Definition driver.hpp:212
@ InterfaceSubNetList
Definition driver.hpp:210
@ UsbPortPath
Port path of USB device.
Definition driver.hpp:268
@ DeviceUsername
Device only : User configured name.
Definition driver.hpp:236
@ InterfaceDriverType
Definition driver.hpp:226
@ InterfaceDisplayName
Interface only: Human readable name of the interface.
Definition driver.hpp:220
@ DeviceUsbVendorId
USB device only: USB vendor identifier.
Definition driver.hpp:246
@ DeviceId
Device only : GenTL identifier of the interface.
Definition driver.hpp:254
@ DeviceVendor
Device only : Vendor name.
Definition driver.hpp:250
@ InterfaceId
Interface only: GenTL identifier of the interface.
Definition driver.hpp:228
@ InterfaceTLType
Definition driver.hpp:218
@ TransportLayerId
Unique identifier of the GenTL Producer.
Definition driver.hpp:262
std::shared_ptr< ImageStream > ImageStreamPtr
Convenience shared pointer for ImageStream.
Definition driver.hpp:112
std::shared_ptr< CompositeStreamBase > CompositeStreamBasePtr
Convenience shared pointer for CompositeStreamBase.
Definition driver.hpp:108
std::shared_ptr< FlowSetPool > FlowSetPoolPtr
Convenience shared pointer for FlowSetPool.
Definition driver.hpp:28
NotifyDataType
Data type delivered by the event.
Definition driver.hpp:360
@ String
String value.
Definition driver.hpp:368
@ Boolean
Boolean node.
Definition driver.hpp:372
@ Binary
Byte array.
Definition driver.hpp:370
@ Void
No data.
Definition driver.hpp:362
@ Float64
Double value.
Definition driver.hpp:366
@ Int64
64 bit integer.
Definition driver.hpp:364
std::shared_ptr< SoftwareTrigger > SoftwareTriggerPtr
Convenience shared pointer for SoftwareTrigger.
Definition driver.hpp:44
StreamInfo
Queryable stream information.
Definition driver.hpp:453
@ NumBuffersCorruptOnArrival
Definition driver.hpp:494
@ NumBuffersLostTransfer
Count that only contains lost images during transfer.
Definition driver.hpp:479
@ NumBuffersLost
Definition driver.hpp:477
@ NumBuffersAnnounced
Definition driver.hpp:511
@ NumPacketsReceived
Definition driver.hpp:521
@ NumBuffersCorruptOnDelivery
Definition driver.hpp:502
@ NumBuffersAcquired
The number of images buffers acquired since start of the last acquisition start.
Definition driver.hpp:465
@ NumBuffersPending
Number of images acquired, but not retrieved via the stream's wait method.
Definition driver.hpp:485
@ NumBuffersQueued
Definition driver.hpp:516
@ NumBuffersDelivered
Definition driver.hpp:472
@ NumBuffersLostLocked
Count that only contains lost images due to ring buffer overflow.
Definition driver.hpp:481
@ NumBuffersBeingFilled
Number of buffer currently being filled by the acquisition engine.
Definition driver.hpp:518
@ NumResends
Number of resend requests sent since start of the last acquisition.
Definition driver.hpp:523
@ NumTriggersLost
Gets how many trigger signals where ignored by the device due to e.g. over-triggering.
Definition driver.hpp:504
@ NumBuffersLocked
Number of images currently in locked state.
Definition driver.hpp:483
@ IsCameraDetected
Definition driver.hpp:463
std::shared_ptr< DeviceImage > DeviceImagePtr
Convenience shared pointer for DeviceImage.
Definition driver.hpp:56
std::shared_ptr< EmuImage > EmuImagePtr
Convenience shared pointer for EmuImage.
Definition driver.hpp:128
DiscoverFlags
Flags controlling the discovery process.
Definition driver.hpp:293
@ IgnoreVins
Ignore vin-drivers in discovery.
Definition driver.hpp:317
@ UpToLevelTL
Limit discovery depth to transport library level.
Definition driver.hpp:309
@ UpToLevelInterface
Limit discovery depth to interface library level.
Definition driver.hpp:311
@ UpToLevelVin
Limit discovery depth to vin-driver level.
Definition driver.hpp:307
@ UpToLevelStream
Limit discovery depth to stream level.
Definition driver.hpp:315
@ UpToLevelDevice
Limit discovery depth to device level.
Definition driver.hpp:313
@ UpToLevelSystem
Limit discovery depth to system level(factory).
Definition driver.hpp:305
@ IgnoreGevFD
Ignore filter driver for GEVTL GenTL Producer.
Definition driver.hpp:323
@ IgnoreTLs
Ignore GenTL producers in discovery.
Definition driver.hpp:319
@ IgnoreGevSD
Ignore socket driver for GEVTL GenTL Producer.
Definition driver.hpp:321
@ FindAll
Default flags to find all devices and vin-drivers.
Definition driver.hpp:295
@ IncludeInaccessible
Normally inaccessible devices are filtered out : this flag includes them.
Definition driver.hpp:303
@ IncludeEmpty
Definition driver.hpp:301
std::shared_ptr< VinImage > VinImagePtr
Convenience shared pointer for VinImage.
Definition driver.hpp:132
std::shared_ptr< RingBufferImage > RingBufferImagePtr
Convenience shared pointer for RingBufferImage.
Definition driver.hpp:80
std::shared_ptr< StreamBase > StreamBasePtr
Convenience shared pointer for StreamBase.
Definition driver.hpp:104
AcquisitionState
Specifies current state of the acquisition engine.
Definition driver.hpp:544
@ Stopping
The engine is in the process of stopping.
Definition driver.hpp:548
@ Started
The engine is started.
Definition driver.hpp:546
@ Stopped
The engine is stopped.
Definition driver.hpp:552
@ AbortingStop
The engine is aborting an ongoing stop.
Definition driver.hpp:550
std::shared_ptr< VinDevice > VinDevicePtr
Convenience shared pointer for VinDevice.
Definition driver.hpp:60
std::tuple< std::shared_ptr< T >, WaitStatus, NodeMapEnumerator > WaitResultTuple
Tuple holding multiple return values after waiting for a specific payload data.
Definition driver.hpp:579
std::shared_ptr< RingBuffer > RingBufferPtr
Convenience shared pointer for RingBuffer.
Definition driver.hpp:36
AcquisitionInterface
Known acquisition CVB interfaces.
Definition driver.hpp:437
@ Grab2
Ring buffer / queue based acquisition.
Definition driver.hpp:441
@ Grabber
Basic grabber interface for single image acquisition.
Definition driver.hpp:439
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
std::string String
String for wide characters or unicode characters.
Definition string.hpp:49
WaitStatus
Status after waiting for an image to be returned.
Definition global.hpp:396
@ Ok
Everything is fine, a new image arrived.
Definition global.hpp:398
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