CVB++ 15.0
decl_factors_calibrator_3d.hpp
1#pragma once
2
3#include "decl_laser_plane_calibrator_3d.hpp"
4
5namespace Cvb
6{
7
8 CVB_BEGIN_INLINE_NS
9
15 class FactorsCalibrator3D : public LaserPlaneCalibrator3D
16 {
17 public:
18 FactorsCalibrator3D(HandleGuard<Calibrator3D> &&guard, Calibrator3D::ProtectedTag) noexcept
19 : LaserPlaneCalibrator3D(std::move(guard), Calibrator3D::ProtectedTag{})
20 {
21 }
22
24
31 static FactorsCalibrator3DPtr Create(double x, double y, double z)
32 {
33 return Create(Factors3D{x, y, z});
34 }
35
37
43 {
45 Internal::DoResCallShareOut<Calibrator3D>([&](void *&handle) {
46 return CVB_CALL_CAPI(
47 CVC3DCreateFactorsCalibrator(*reinterpret_cast<CExports::CVC3DFactors *>(&factors), handle));
48 }));
49 }
50 };
51
52 CVB_END_INLINE_NS
53
54} // namespace Cvb
static FactorsCalibrator3DPtr Create(Factors3D factors)
Creates a simple calibrator based on factors.
Definition decl_factors_calibrator_3d.hpp:42
static FactorsCalibrator3DPtr Create(double x, double y, double z)
Creates a simple calibrator based on factors.
Definition decl_factors_calibrator_3d.hpp:31
T move(T... args)
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
std::shared_ptr< FactorsCalibrator3D > FactorsCalibrator3DPtr
Convenience shared pointer for FactorsCalibrator3D.
Definition core_3d.hpp:60
T dynamic_pointer_cast(T... args)
Factor components to be applied in the 3D domain.
Definition core_3d.hpp:16