Add basic Affine3 type
MODIFY
binding-generator/src/settings.rs
binding-generator/src/settings.rs
@@ -35,7 +35,8 @@ pub static FUNC_RENAME: Lazy<HashMap<&str, &str>> = Lazy::new(|| {
"cv_findFundamentalMat_const__InputArrayX_const__InputArrayX_const__OutputArrayX_int_double_double" => "+_mask",
"cv_findHomography_const__InputArrayX_const__InputArrayX_int_double_const__OutputArrayX_int_double" => "+_ext",
"cv_fisheye_initUndistortRectifyMap_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX_int_const__OutputArrayX_const__OutputArrayX" => "fisheye_+",
- "cv_fisheye_projectPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX" => "fisheye_+",
+ "cv_fisheye_projectPoints_const__InputArrayX_const__OutputArrayX_const_Affine3dX_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX" => "fisheye_+",
+ "cv_fisheye_projectPoints_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_double_const__OutputArrayX" => "fisheye_+_vec",
"cv_fisheye_stereoCalibrate_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_const__InputOutputArrayX_Size_const__OutputArrayX_const__OutputArrayX_int_TermCriteria" => "fisheye_+",
"cv_fisheye_stereoRectify_const__InputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX_const__InputArrayX_const__InputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_const__OutputArrayX_int_const_SizeX_double_double" => "fisheye_+",
"cv_fisheye_undistortImage_const__InputArrayX_const__OutputArrayX_const__InputArrayX_const__InputArrayX_const__InputArrayX_const_SizeX" => "fisheye_+",
@@ -722,6 +723,7 @@ pub static DATA_TYPES: Lazy<BTreeSet<&str>> = Lazy::new(|| btreeset! {
});
pub static IMPLEMENTED_GENERICS: Lazy<HashSet<&str>> = Lazy::new(|| hashset! {
+ "cv::Affine3",
"cv::Mat_",
"cv::Matx",
"cv::Point3_",

MODIFY
src/manual/core.rs
src/manual/core.rs
pub use CV_MAKETYPE as CV_MAKE_TYPE;
+pub use affine3::*;
pub use input_output_array::*;
pub use mat::*;
pub use matx::*;
@@ -25,6 +26,7 @@ macro_rules! valid_types {
};
}
+mod affine3;
mod input_output_array;
mod mat;
mod matx;

ADD
src/manual/core/affine3.rs
+use crate::core::{Matx44, ValidMatxType, MatxTrait};
+
+/// [docs.opencv.org](https://docs.opencv.org/master/dd/d99/classcv_1_1Affine3.html)
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct Affine3<T: ValidMatxType> {
+ pub matrix: Matx44<T>,
+}
+
+impl<T: ValidMatxType> Default for Affine3<T> {
+ fn default() -> Self {
+ Self { matrix: Matx44::eye() }
+ }
+}

MODIFY
src_cpp/core.hpp
src_cpp/core.hpp
#include "common.hpp"
#include <opencv2/core.hpp>
+#include <opencv2/core/affine.hpp>
#include <opencv2/core/directx.hpp>
#include <opencv2/core/ocl.hpp>
#include <opencv2/core/va_intel.hpp>

Add basic Affine3 type