CVB++ 15.0
decl_matrix_calibrator_3d.hpp
1#pragma once
2
3#include "decl_calibrator_3d.hpp"
4
5namespace Cvb
6{
7
8 CVB_BEGIN_INLINE_NS
9
15 class MatrixCalibrator3D : public Calibrator3D
16 {
17 public:
18 MatrixCalibrator3D(HandleGuard<Calibrator3D> &&guard, Calibrator3D::ProtectedTag) noexcept
19 : Calibrator3D(std::move(guard), Calibrator3D::ProtectedTag{})
20 {
21 }
22
24
30 {
32 Internal::DoResCallShareOut<Calibrator3D>([&](void *&handle) {
33 return CVB_CALL_CAPI(
34 CVC3DCreateMatrixHCalibrator(*reinterpret_cast<const CExports::CVC3DMatrixH *>(&matrix), handle));
35 }));
36 }
37 };
38
39 CVB_END_INLINE_NS
40
41} // namespace Cvb
Double precision row-major 4x4 matrix.
Definition matrix_3d_h.hpp:44
static MatrixCalibrator3DPtr Create(const Cvb::Matrix3DH &matrix)
Creates a calibrator based on a general homography matrix.
Definition decl_matrix_calibrator_3d.hpp:29
T move(T... args)
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
std::shared_ptr< MatrixCalibrator3D > MatrixCalibrator3DPtr
Convenience shared pointer for MatrixCalibrator3D.
Definition core_3d.hpp:64
T dynamic_pointer_cast(T... args)