CVB++ 15.0
detail_metric_segmentor.hpp
1#pragma once
2
3#include "../_decl/decl_metric_segmentor_range_map_aqs12.hpp"
4#include "../_decl/decl_metric_segmentor_dense_point_cloud_aqs12.hpp"
5
6namespace Cvb
7{
8 CVB_BEGIN_INLINE_NS
9
10 namespace Foundation
11 {
12 namespace Metric
13 {
14 inline std::shared_ptr<RangeMapSegmentor> RangeMapSegmentor::FromHandle(HandleGuard<RangeMapSegmentor> &&guard)
15 {
16 if (!guard.Handle())
17 throw std::runtime_error("handle must not be null");
18
19 return std::make_shared<AQS12RangeMapSegmentor>(std::move(guard), PrivateTag{});
20 }
21
23 DensePointCloudSegmentor::FromHandle(HandleGuard<DensePointCloudSegmentor> &&guard)
24 {
25 if (!guard.Handle())
26 throw std::runtime_error("handle must not be null");
27
29 }
30 } // namespace Metric
31 } // namespace Foundation
32
33 CVB_END_INLINE_NS
34} // namespace Cvb
static std::shared_ptr< DensePointCloudSegmentor > FromHandle(HandleGuard< DensePointCloudSegmentor > &&guard)
Creates a segmentor from a classic API handle.
Definition detail_metric_segmentor.hpp:23
static std::shared_ptr< RangeMapSegmentor > FromHandle(HandleGuard< RangeMapSegmentor > &&guard)
Creates a segmentor from a classic API handle.
Definition detail_metric_segmentor.hpp:14
T make_shared(T... args)
T move(T... args)
Namespace for metric calibration.
Definition decl_metric_aqs12_calibration_piece.hpp:13
Namespace for the Foundation package.
Definition decl_metric_aqs12_calibration_piece.hpp:11
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17