5 #include "composite_stream_base.hpp" 6 #include "../point_cloud.hpp" 23 using GuardType = HandleGuard<CompositeStreamBase>;
37 template<
class Rep,
class Period>
40 return CreateWaitResult<PointCloud>(InternalWaitFor<PointCloud>(timeSpan, token));
49 template<
class Rep,
class Period>
52 return CreateWaitResult<PointCloud>(InternalWaitFor<PointCloud>(timeSpan));
62 template<
class T,
class Rep,
class Period>
66 return CreateWaitResult<T>(InternalWaitFor<PointCloud>(timeSpan, token));
75 template<
class T,
class Rep,
class Period>
79 return CreateWaitResult<T>(InternalWaitFor<PointCloud>(timeSpan));
90 return CreateWaitResult<PointCloud>(InternalWait<PointCloud>(token));
100 return CreateWaitResult<PointCloud>(InternalWait<PointCloud>());
113 return CreateWaitResult<T>(InternalWait<PointCloud>(token));
125 return CreateWaitResult<T>(InternalWait<PointCloud>());
133 HandleGuard<PointCloud> guard(
nullptr);
135 std::tie(guard, waitStatus) = std::move(waitResultBase);
140 CExports::CVCCompositePurpose purpose = CExports::CVCCP_Custom;
141 CVB_CALL_CAPI_CHECKED(CVCCompositeGetPurpose(guard.Handle(), purpose))
142 if (purpose != CExports::CVCCP_PointCloud)
143 throw std::runtime_error("acquired composite is not a point cloud");
144 auto pointCloud = T::FromHandle(std::move(guard));
145 return std::make_tuple(pointCloud, waitStatus,
NodeMapEnumerator::FromObject(*pointCloud));
WaitStatus
Status after waiting for an image to be returned.
Definition: global.hpp:350
Streams point clouds.
Definition: point_cloud_stream.hpp:18
WaitResultTuple< T > Wait(const CancellationToken &token)
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:110
Base class of all composite based streams.
Definition: decl_composite_stream_base.hpp:30
WaitResultTuple< T > Wait()
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:122
Root namespace for the Image Manager interface.
Definition: version.hpp:11
Lazy enumeration of node maps.
Definition: node_map_enumerator.hpp:30
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:76
WaitResultTuple< PointCloud > Wait(const CancellationToken &token)
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:88
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< 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:38
A token to enable cancellation on wait operations.
Definition: cancellation_token.hpp:19
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:50
WaitResultTuple< PointCloud > Wait()
Waits for ever for the next acquired point cloud.
Definition: point_cloud_stream.hpp:98