16#include <peak_icv_c/algorithms/calibration/peak_icv_extrinsic_parameters.h>
79 friend peak::common::detail::BackendAccessor<ExtrinsicParameters>;
82 explicit operator peak_icv_extrinsic_parameters()
const;
84 peak_icv_extrinsic_parameters m_extrinsicParameters;
88 : m_extrinsicParameters{ { rotation.
GetX(), rotation.
GetY(), rotation.
GetZ(), {} },
89 { translation.GetX(), translation.GetY(), translation.GetZ(), {} } }
92inline ExtrinsicParameters::ExtrinsicParameters(
const peak_icv_extrinsic_parameters& extrinsicParameters)
93 : m_extrinsicParameters{ extrinsicParameters }
98 return peak::common::detail::BackendAccessor<PointXYZ>::CreateInstance(m_extrinsicParameters.translation);
103 return peak::common::detail::BackendAccessor<PointXYZ>::CreateInstance(m_extrinsicParameters.rotation);
106inline ExtrinsicParameters::operator peak_icv_extrinsic_parameters()
const
108 return m_extrinsicParameters;
113 peak_icv_transformation_matrix_3d transformationMatrixC{};
115 return PEAK_ICV_C_ABI_PREFIX peak_icv_Calibration_Extrinsic_CalculateTransformationMatrix(
116 m_extrinsicParameters,
sizeof(m_extrinsicParameters), &transformationMatrixC);
120 const auto* cArrayBegin = &transformationMatrixC[0][0];
121 const auto* cArrayEnd = (&transformationMatrixC[3][3]) + 1;
122 std::copy(cArrayBegin, cArrayEnd, transformationMatrixCpp.begin());
124 return transformationMatrixCpp;
constexpr T GetY() const
Returns the y-coordinate (second component).
constexpr T GetX() const
Returns the x-coordinate (first component).
This class stores and provides access to the extrinsic parameters, which include the translation,...
TransformationMatrix3D GetTransformationMatrix() const
Calculates the transformation matrix based on rotation and translation.
PointXYZ GetTranslation() const
Provides the translation.
ExtrinsicParameters(const PointXYZ &rotation, const PointXYZ &translation)
Constructs ExtrinsicParameters from a rotation and a translation vector.
PointXYZ GetRotation() const
Provides the rotation.
A point consists of x, y and z coordinate.
float GetZ() const
Returns the z coordinate.
void ExecuteAndMapReturnCodes(const CallableType &callableObject)