use std::collections::HashMap;
use once_cell::sync::Lazy;
use crate::settings::TypeRefFactory;
use crate::type_ref::TypeRefDesc;
pub struct ModuleTweak {
pub generate_types: Vec<TypeRefFactory>,
}
pub static GENERATOR_MODULE_TWEAKS: Lazy<HashMap<&str, ModuleTweak>> = Lazy::new(|| {
HashMap::from([
(
"core",
ModuleTweak {
generate_types: vec![TypeRefDesc::ptr_of_float],
},
),
(
"aruco",
ModuleTweak {
generate_types: vec![TypeRefDesc::vector_of_cv_vec3f, TypeRefDesc::vector_of_cv_vec3d],
},
),
(
"calib3d",
ModuleTweak {
generate_types: vec![
TypeRefDesc::vector_of_cv_point3i,
TypeRefDesc::vector_of_vector_of_cv_point3i,
TypeRefDesc::vector_of_cv_point3f,
TypeRefDesc::vector_of_vector_of_cv_point3f,
TypeRefDesc::vector_of_cv_point3d,
TypeRefDesc::vector_of_vector_of_cv_point3d,
TypeRefDesc::vector_of_cv_vec3f,
TypeRefDesc::vector_of_vector_of_cv_vec3f,
TypeRefDesc::vector_of_vector_of_double,
TypeRefDesc::vector_of_cv_point2d,
],
},
),
(
"dnn",
ModuleTweak {
generate_types: vec![TypeRefDesc::vector_of_vector_of_int], },
),
(
"features2d",
ModuleTweak {
generate_types: vec![TypeRefDesc::ptr_of_cv_feature2d],
},
),
(
"imgproc",
ModuleTweak {
generate_types: vec![
TypeRefDesc::vector_of_cv_vec4i,
TypeRefDesc::vector_of_vector_of_cv_point,
TypeRefDesc::vector_of_cv_vec2f,
TypeRefDesc::vector_of_cv_vec2d,
TypeRefDesc::vector_of_cv_vec3f,
TypeRefDesc::vector_of_cv_vec3d,
],
},
),
])
});