Base class of all composite based streams. More...
#include <cvb/driver/composite_stream_base.hpp>
Inherits StreamBase.
Inherited by CompositeStream, ImageStream, and PointCloudStream.
Public Member Functions | |
void * | Handle () const noexcept |
Classic API stream handle. More... | |
virtual void | EngineStart () |
Starts the acquisition engine on the host. More... | |
virtual void | EngineStart (std::int64_t bufferCountToAcquire) |
Starts the acquisition engine on the host. More... | |
template<class Rep , class Period > | |
void | EngineStop (const std::chrono::duration< Rep, Period > &timeout) |
Stops the acquisition engine. More... | |
virtual void | EngineStop () |
Stops the acquisition engine. More... | |
template<class Rep , class Period > | |
bool | TryEngineStop (const std::chrono::duration< Rep, Period > &timeout) noexcept |
Stops the acquisition engine. More... | |
virtual bool | TryEngineStop () noexcept |
Stops the acquisition engine. More... | |
virtual bool | TryEngineStop (const std::chrono::milliseconds &timeout) noexcept |
Stops the acquisition engine. More... | |
virtual void | EngineAbort () |
Stops the acquisition engine immediately. More... | |
virtual bool | TryEngineAbort () noexcept |
Stops the acquisition engine immediately. More... | |
virtual void | DeviceStart () |
Starts the stream on the device. More... | |
virtual void | DeviceStart (std::int64_t bufferCountToAcquire) |
Starts the stream on the device. More... | |
virtual void | DeviceStop () |
Stops the stream in the device. More... | |
virtual bool | TryDeviceStop () noexcept |
Stops the stream in the device. More... | |
virtual void | DeviceAbort () |
Stops the stream in the device immediately. More... | |
virtual bool | TryDeviceAbort () noexcept |
Stops the stream in the device immediately. More... | |
void | DeregisterFlowSetPool () |
Removes an existing flow set pool from the acquisition engine. More... | |
void | RegisterManagedFlowSetPool (int flowSetCount) |
Registers an internal flows set pool. More... | |
void | RegisterExternalFlowSetPool (FlowSetPoolPtr flowSetPoolPtr) |
Registers external memory. More... | |
void | RegisterExternalFlowSetPool (FlowSetPoolPtr flowSetPoolPtr, std::function< void()> releaseCallback) |
Registers external memory. More... | |
int | FlowSetCount () const noexcept |
Gets the number of registered flow sets. More... | |
int | MinRequiredFlowSetCount () const |
Gets minimum number of flow sets required for the acquisition. More... | |
Cvb::Driver::AcquisitionInterface | AcquisitionInterface () const noexcept override |
Gets the interface of this implementation. More... | |
void | Start () override |
Starts the acquisition. More... | |
void | Stop () override |
Stops the acquisition. More... | |
bool | TryStop () noexcept override |
Stops the acquisition. More... | |
void | Abort () override |
Stops the acquisition of images immediately. More... | |
bool | TryAbort () noexcept override |
Stops the acquisition of images immediately. More... | |
bool | IsIndexed () const noexcept override |
Gets whether this stream is an indexed stream. More... | |
Cvb::AcquisitionState | AcquisitionState () const noexcept |
Gets the current acquisition state. More... | |
std::vector< FlowInfo > | FlowSetInfo () const |
Gets the flow set info of this stream. More... | |
NodeMapPtr | NodeMap (const String &name) const |
Gets the NodeMap with the given name. More... | |
std::map< String, NodeMapPtr > | NodeMaps () const |
Gets the dictionary holding all available stream NodeMaps. More... | |
Public Member Functions inherited from StreamBase | |
DevicePtr | Parent () const noexcept |
Gets the parent device of this stream. More... | |
virtual Cvb::Driver::AcquisitionInterface | AcquisitionInterface () const noexcept=0 |
Gets the interface of this implementation. More... | |
virtual void | Start ()=0 |
Starts the acquisition. More... | |
virtual void | Stop ()=0 |
Stops the acquisition. More... | |
virtual bool | TryStop () noexcept=0 |
Stops the acquisition. More... | |
virtual void | Abort ()=0 |
Stops the acquisition of images immediately. More... | |
virtual bool | TryAbort () noexcept=0 |
Stops the acquisition of images immediately. More... | |
virtual bool | IsIndexed () const noexcept=0 |
Gets whether this stream is an indexed stream. More... | |
Base class of all composite based streams.
|
inlineoverridevirtual |
Stops the acquisition of images immediately.
Any | exception derived from std::exception including CvbException. |
This stops the acquisition as fast as possible interrupting the ongoing operation. This might result in partially acquired images. The acquisition is stopped in the device first, then the engine on the host is stopped.
If the underlying driver does not support this, this call behaves as if Stop() had been called.
Implements StreamBase.
|
inlineoverridevirtualnoexcept |
Gets the interface of this implementation.
Does | not throw any exception. |
Implements StreamBase.
|
inlinenoexcept |
Gets the current acquisition state.
Does | not throw any exception. |
|
inline |
Removes an existing flow set pool from the acquisition engine.
Any | exception derived from std::exception including CvbException. |
Removing a flow set pool can be useful in between subsequent registrations to reduce memory consumption. This method must only be called when the stream is in AcquisitionState::Stopped.
|
inlinevirtual |
Stops the stream in the device immediately.
Any | exception derived from std::exception including CvbException. |
This stops the stream in the device as fast as possible interrupting the ongoing operation.
|
inlinevirtual |
Starts the stream on the device.
Any | exception derived from std::exception including CvbException. |
|
inlinevirtual |
Starts the stream on the device.
[in] | bufferCountToAcquire | Number of buffers to acquire. |
Any | exception derived from std::exception including CvbException. |
Same as DeviceStart but for a finite number of buffers.
|
inlinevirtual |
Stops the stream in the device.
Any | exception derived from std::exception including CvbException. |
This stops the stream in the device engine gracefully letting the ongoing operation finish.
|
inlinevirtual |
Stops the acquisition engine immediately.
Any | exception derived from std::exception including CvbException. |
This stops the acquisition engine as fast as possible interrupting the ongoing operation. This might result in partially acquired buffers. EngineAbort will also abort an ongoing EngineStop
|
inlinevirtual |
Starts the acquisition engine on the host.
Any | exception derived from std::exception including CvbException. |
This starts continuous acquisition that needs to be stopped via EngineStop or EngineAbort.
|
inlinevirtual |
Starts the acquisition engine on the host.
[in] | bufferCountToAcquire | Number of buffers to acquire. |
Any | exception derived from std::exception including CvbException. |
Same as EngineStart but for a finite number of buffers. The engine automatically stops after acquiring the given number of buffers.
|
inlinevirtual |
Stops the acquisition engine.
Any | exception derived from std::exception including CvbException. |
This overload uses an infinite timeout
|
inline |
Stops the acquisition engine.
[in] | timeout | Timeout duration. |
Any | exception derived from std::exception including CvbException. |
This stops the acquisition engine gracefully letting the ongoing operation finish. If a graceful finish is not possible within the given timeout the acquisition is aborted, and an exception is thrown.
|
inlinenoexcept |
Gets the number of registered flow sets.
Does | not throw any exception. |
|
inline |
Gets the flow set info of this stream.
Any | exception derived from std::exception including CvbException. |
|
inlinenoexcept |
Classic API stream handle.
Does | not throw any exception. |
It is normally not necessary to work with this handle.
|
inlineoverridevirtualnoexcept |
Gets whether this stream is an indexed stream.
Does | not throw any exception. |
Implements StreamBase.
|
inline |
Gets minimum number of flow sets required for the acquisition.
Any | exception derived from std::exception including CvbException. |
Gets the NodeMap with the given name.
[in] | name | The NodeMap name (String or Cvb::NodeMapID). |
Any | exception derived from std::exception including CvbException. |
Gets the dictionary holding all available stream NodeMaps.
Any | exception derived from std::exception including CvbException. |
|
inline |
Registers external memory.
[in] | flowSetPoolPtr | Memory to register. |
|
inline |
Registers external memory.
[in] | flowSetPoolPtr | Memory to register. |
[in] | releaseCallback | Callback to be called on flowSetPool release |
|
inline |
Registers an internal flows set pool.
[in] | flowSetCount | Number of flow sets to allocate. |
Any | exception derived from std::exception including CvbException. |
Creates an internal flow set pool with the given size. Any previously registered flow set pool will be removed from the acquisition engine after the new flow set pool was created. In order to reduce memory consumption call DeregisterFlowSetPool between consecutive registrations.
|
inlineoverridevirtual |
Starts the acquisition.
Any | exception derived from std::exception including CvbException. |
The acquisition engine is started in on the host first, then the stream on the device is started.
Implements StreamBase.
|
inlineoverridevirtual |
Stops the acquisition.
Any | exception derived from std::exception including CvbException. |
This stops the acquisition gracefully letting the ongoing operation finish. The acquisition is stopped in the device first, then the engine on the host is stopped. The disadvantage may be that this call lasts until the timeout time of the last Wait() call.
Implements StreamBase.
|
inlineoverridevirtualnoexcept |
Stops the acquisition of images immediately.
Does | not throw any exception. |
Same as Abort(), but does not throw.
Implements StreamBase.
|
inlinevirtualnoexcept |
Stops the stream in the device immediately.
Does | not throw any exception. |
Behaves like DeviceAbort, but does not throw.
|
inlinevirtualnoexcept |
Stops the stream in the device.
Does | not throw any exception. |
Behaves like DeviceStop, but does not throw.
|
inlinevirtualnoexcept |
Stops the acquisition engine immediately.
Does | not throw any exception. |
Behaves like EngineAbort, but does not throw.
|
inlinevirtualnoexcept |
Stops the acquisition engine.
Does | not throw any exception. |
Behaves like EngineStop, but does not throw.
|
inlinenoexcept |
Stops the acquisition engine.
[in] | timeout | Timeout duration. |
Does | not throw any exception. |
Behaves like EngineStop, but does not throw.
|
inlinevirtualnoexcept |
Stops the acquisition engine.
[in] | timeout | Timeout in milliseconds. |
Does | not throw any exception. |
Behaves like EngineStop, but does not throw.
|
inlineoverridevirtualnoexcept |
Stops the acquisition.
Does | not throw any exception. |
Same as Stop(), but does not throw.
Implements StreamBase.