5#include "composite_stream_base.hpp"
6#include "../point_cloud.hpp"
18 class PointCloudStream :
public CompositeStreamBase
21 using GuardType = HandleGuard<CompositeStreamBase>;
23 PointCloudStream(HandleGuard<CompositeStreamBase> &&guard, PrivateTag,
const DevicePtr &device = {})
24 : CompositeStreamBase(device,
std::move(guard))
35 template <
class Rep,
class Period>
39 return CreateWaitResult<PointCloud>(InternalWaitFor<PointCloud>(timeSpan, token));
48 template <
class Rep,
class Period>
51 return CreateWaitResult<PointCloud>(InternalWaitFor<PointCloud>(timeSpan));
62 template <
class T,
class Rep,
class Period>
66 return CreateWaitResult<T>(InternalWaitFor<PointCloud>(timeSpan, token));
76 template <
class T,
class Rep,
class Period>
80 return CreateWaitResult<T>(InternalWaitFor<PointCloud>(timeSpan));
91 return CreateWaitResult<PointCloud>(InternalWait<PointCloud>(token));
101 return CreateWaitResult<PointCloud>(InternalWait<PointCloud>());
115 return CreateWaitResult<T>(InternalWait<PointCloud>(token));
128 return CreateWaitResult<T>(InternalWait<PointCloud>());
135 HandleGuard<PointCloud> guard(
nullptr);
142 CExports::CVCCompositePurpose purpose = CExports::CVCCP_Custom;
143 CVB_CALL_CAPI_CHECKED(CVCCompositeGetPurpose(guard.Handle(), purpose))
144 if (purpose != CExports::CVCCP_PointCloud)
146 auto pointCloud = T::FromHandle(
std::move(guard));
18 class PointCloudStream :
public CompositeStreamBase {
…};
A token to enable cancellation on wait operations.
Definition cancellation_token.hpp:20
Streams point clouds.
Definition point_cloud_stream.hpp:19
WaitResultTuple< PointCloud > Wait(const CancellationToken &token)
Waits for ever for the next acquired point cloud.
Definition point_cloud_stream.hpp:89
WaitResultTuple< PointCloud > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan)
Waits for the given time span for the next acquired point cloud.
Definition point_cloud_stream.hpp:49
WaitResultTuple< T > Wait(const CancellationToken &token)
Waits for ever for the next acquired point cloud.
Definition point_cloud_stream.hpp:112
WaitResultTuple< T > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan)
Waits for the given time span for the next acquired point cloud.
Definition point_cloud_stream.hpp:77
WaitResultTuple< PointCloud > Wait()
Waits for ever for the next acquired point cloud.
Definition point_cloud_stream.hpp:99
WaitResultTuple< T > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan, const CancellationToken &token)
Waits for the given time span for the next acquired point cloud.
Definition point_cloud_stream.hpp:63
WaitResultTuple< T > Wait()
Waits for ever for the next acquired point cloud.
Definition point_cloud_stream.hpp:125
WaitResultTuple< PointCloud > WaitFor(const std::chrono::duration< Rep, Period > &timeSpan, const CancellationToken &token)
Waits for the given time span for the next acquired point cloud.
Definition point_cloud_stream.hpp:36
Lazy enumeration of node maps.
Definition node_map_enumerator.hpp:30
static NodeMapEnumerator FromObject(const T &object)
Create a node map enumerator for a given object.
Definition node_map_enumerator.hpp:98
Namespace for driver or device related operations.
Definition decl_composite.hpp:27
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
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
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
std::shared_ptr< Device > DevicePtr
Convenience shared pointer for Device.
Definition global.hpp:98