pub mod structured_light {
use crate::mod_prelude::*;
use crate::{core, sys, types};
pub mod prelude {
pub use super::{GrayCodePatternTrait, GrayCodePatternTraitConst, GrayCodePattern_ParamsTrait, GrayCodePattern_ParamsTraitConst, SinusoidalPatternTrait, SinusoidalPatternTraitConst, SinusoidalPattern_ParamsTrait, SinusoidalPattern_ParamsTraitConst, StructuredLightPatternTrait, StructuredLightPatternTraitConst};
}
pub const DECODE_3D_UNDERWORLD: i32 = 0;
pub const FAPS: i32 = 2;
pub const FTP: i32 = 0;
pub const PSP: i32 = 1;
pub struct GrayCodePattern {
ptr: *mut c_void,
}
opencv_type_boxed! { GrayCodePattern }
impl Drop for GrayCodePattern {
#[inline]
fn drop(&mut self) {
unsafe { sys::cv_structured_light_GrayCodePattern_delete(self.as_raw_mut_GrayCodePattern()) };
}
}
unsafe impl Send for GrayCodePattern {}
impl GrayCodePattern {
#[inline]
pub fn create(parameters: &impl crate::structured_light::GrayCodePattern_ParamsTraitConst) -> Result<core::Ptr<crate::structured_light::GrayCodePattern>> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_create_const_ParamsR(parameters.as_raw_GrayCodePattern_Params(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::GrayCodePattern>::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn create_def() -> Result<core::Ptr<crate::structured_light::GrayCodePattern>> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_create(ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::GrayCodePattern>::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn create_1(width: i32, height: i32) -> Result<core::Ptr<crate::structured_light::GrayCodePattern>> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_create_int_int(width, height, ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::GrayCodePattern>::opencv_from_extern(ret) };
Ok(ret)
}
}
pub trait GrayCodePatternTraitConst: crate::structured_light::StructuredLightPatternTraitConst {
fn as_raw_GrayCodePattern(&self) -> *const c_void;
#[inline]
fn get_number_of_pattern_images(&self) -> Result<size_t> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_getNumberOfPatternImages_const(self.as_raw_GrayCodePattern(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn get_images_for_shadow_masks(&self, black_image: &mut impl ToInputOutputArray, white_image: &mut impl ToInputOutputArray) -> Result<()> {
input_output_array_arg!(black_image);
input_output_array_arg!(white_image);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_getImagesForShadowMasks_const_const__InputOutputArrayR_const__InputOutputArrayR(self.as_raw_GrayCodePattern(), black_image.as_raw__InputOutputArray(), white_image.as_raw__InputOutputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn get_proj_pixel(&self, pattern_images: &impl ToInputArray, x: i32, y: i32, proj_pix: &mut core::Point) -> Result<bool> {
input_array_arg!(pattern_images);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_getProjPixel_const_const__InputArrayR_int_int_PointR(self.as_raw_GrayCodePattern(), pattern_images.as_raw__InputArray(), x, y, proj_pix, ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
pub trait GrayCodePatternTrait: crate::structured_light::GrayCodePatternTraitConst + crate::structured_light::StructuredLightPatternTrait {
fn as_raw_mut_GrayCodePattern(&mut self) -> *mut c_void;
#[inline]
fn set_white_threshold(&mut self, value: size_t) -> Result<()> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_setWhiteThreshold_size_t(self.as_raw_mut_GrayCodePattern(), value, ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn set_black_threshold(&mut self, value: size_t) -> Result<()> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_setBlackThreshold_size_t(self.as_raw_mut_GrayCodePattern(), value, ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
impl std::fmt::Debug for GrayCodePattern {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("GrayCodePattern")
.finish()
}
}
boxed_cast_base! { GrayCodePattern, core::Algorithm, cv_structured_light_GrayCodePattern_to_Algorithm }
boxed_cast_base! { GrayCodePattern, crate::structured_light::StructuredLightPattern, cv_structured_light_GrayCodePattern_to_StructuredLightPattern }
impl core::AlgorithmTraitConst for GrayCodePattern {
#[inline] fn as_raw_Algorithm(&self) -> *const c_void { self.as_raw() }
}
impl core::AlgorithmTrait for GrayCodePattern {
#[inline] fn as_raw_mut_Algorithm(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { GrayCodePattern, core::AlgorithmTraitConst, as_raw_Algorithm, core::AlgorithmTrait, as_raw_mut_Algorithm }
impl crate::structured_light::StructuredLightPatternTraitConst for GrayCodePattern {
#[inline] fn as_raw_StructuredLightPattern(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::StructuredLightPatternTrait for GrayCodePattern {
#[inline] fn as_raw_mut_StructuredLightPattern(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { GrayCodePattern, crate::structured_light::StructuredLightPatternTraitConst, as_raw_StructuredLightPattern, crate::structured_light::StructuredLightPatternTrait, as_raw_mut_StructuredLightPattern }
impl crate::structured_light::GrayCodePatternTraitConst for GrayCodePattern {
#[inline] fn as_raw_GrayCodePattern(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::GrayCodePatternTrait for GrayCodePattern {
#[inline] fn as_raw_mut_GrayCodePattern(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { GrayCodePattern, crate::structured_light::GrayCodePatternTraitConst, as_raw_GrayCodePattern, crate::structured_light::GrayCodePatternTrait, as_raw_mut_GrayCodePattern }
pub struct GrayCodePattern_Params {
ptr: *mut c_void,
}
opencv_type_boxed! { GrayCodePattern_Params }
impl Drop for GrayCodePattern_Params {
#[inline]
fn drop(&mut self) {
unsafe { sys::cv_structured_light_GrayCodePattern_Params_delete(self.as_raw_mut_GrayCodePattern_Params()) };
}
}
unsafe impl Send for GrayCodePattern_Params {}
impl GrayCodePattern_Params {
#[inline]
pub fn default() -> Result<crate::structured_light::GrayCodePattern_Params> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_GrayCodePattern_Params_Params(ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::structured_light::GrayCodePattern_Params::opencv_from_extern(ret) };
Ok(ret)
}
}
pub trait GrayCodePattern_ParamsTraitConst {
fn as_raw_GrayCodePattern_Params(&self) -> *const c_void;
#[inline]
fn width(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_GrayCodePattern_Params_propWidth_const(self.as_raw_GrayCodePattern_Params()) };
ret
}
#[inline]
fn height(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_GrayCodePattern_Params_propHeight_const(self.as_raw_GrayCodePattern_Params()) };
ret
}
}
pub trait GrayCodePattern_ParamsTrait: crate::structured_light::GrayCodePattern_ParamsTraitConst {
fn as_raw_mut_GrayCodePattern_Params(&mut self) -> *mut c_void;
#[inline]
fn set_width(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_GrayCodePattern_Params_propWidth_const_int(self.as_raw_mut_GrayCodePattern_Params(), val) };
ret
}
#[inline]
fn set_height(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_GrayCodePattern_Params_propHeight_const_int(self.as_raw_mut_GrayCodePattern_Params(), val) };
ret
}
}
impl std::fmt::Debug for GrayCodePattern_Params {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("GrayCodePattern_Params")
.field("width", &crate::structured_light::GrayCodePattern_ParamsTraitConst::width(self))
.field("height", &crate::structured_light::GrayCodePattern_ParamsTraitConst::height(self))
.finish()
}
}
impl crate::structured_light::GrayCodePattern_ParamsTraitConst for GrayCodePattern_Params {
#[inline] fn as_raw_GrayCodePattern_Params(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::GrayCodePattern_ParamsTrait for GrayCodePattern_Params {
#[inline] fn as_raw_mut_GrayCodePattern_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { GrayCodePattern_Params, crate::structured_light::GrayCodePattern_ParamsTraitConst, as_raw_GrayCodePattern_Params, crate::structured_light::GrayCodePattern_ParamsTrait, as_raw_mut_GrayCodePattern_Params }
pub struct SinusoidalPattern {
ptr: *mut c_void,
}
opencv_type_boxed! { SinusoidalPattern }
impl Drop for SinusoidalPattern {
#[inline]
fn drop(&mut self) {
unsafe { sys::cv_structured_light_SinusoidalPattern_delete(self.as_raw_mut_SinusoidalPattern()) };
}
}
unsafe impl Send for SinusoidalPattern {}
impl SinusoidalPattern {
#[inline]
pub fn create(mut parameters: core::Ptr<crate::structured_light::SinusoidalPattern_Params>) -> Result<core::Ptr<crate::structured_light::SinusoidalPattern>> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_create_PtrLParamsG(parameters.as_raw_mut_PtrOfSinusoidalPattern_Params(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::SinusoidalPattern>::opencv_from_extern(ret) };
Ok(ret)
}
#[inline]
pub fn create_def() -> Result<core::Ptr<crate::structured_light::SinusoidalPattern>> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_create(ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::SinusoidalPattern>::opencv_from_extern(ret) };
Ok(ret)
}
}
pub trait SinusoidalPatternTraitConst: crate::structured_light::StructuredLightPatternTraitConst {
fn as_raw_SinusoidalPattern(&self) -> *const c_void;
}
pub trait SinusoidalPatternTrait: crate::structured_light::SinusoidalPatternTraitConst + crate::structured_light::StructuredLightPatternTrait {
fn as_raw_mut_SinusoidalPattern(&mut self) -> *mut c_void;
#[inline]
fn compute_phase_map(&mut self, pattern_images: &impl ToInputArray, wrapped_phase_map: &mut impl ToOutputArray, shadow_mask: &mut impl ToOutputArray, fundamental: &impl ToInputArray) -> Result<()> {
input_array_arg!(pattern_images);
output_array_arg!(wrapped_phase_map);
output_array_arg!(shadow_mask);
input_array_arg!(fundamental);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_computePhaseMap_const__InputArrayR_const__OutputArrayR_const__OutputArrayR_const__InputArrayR(self.as_raw_mut_SinusoidalPattern(), pattern_images.as_raw__InputArray(), wrapped_phase_map.as_raw__OutputArray(), shadow_mask.as_raw__OutputArray(), fundamental.as_raw__InputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn compute_phase_map_def(&mut self, pattern_images: &impl ToInputArray, wrapped_phase_map: &mut impl ToOutputArray) -> Result<()> {
input_array_arg!(pattern_images);
output_array_arg!(wrapped_phase_map);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_computePhaseMap_const__InputArrayR_const__OutputArrayR(self.as_raw_mut_SinusoidalPattern(), pattern_images.as_raw__InputArray(), wrapped_phase_map.as_raw__OutputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn unwrap_phase_map(&mut self, wrapped_phase_map: &impl ToInputArray, unwrapped_phase_map: &mut impl ToOutputArray, cam_size: core::Size, shadow_mask: &impl ToInputArray) -> Result<()> {
input_array_arg!(wrapped_phase_map);
output_array_arg!(unwrapped_phase_map);
input_array_arg!(shadow_mask);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_unwrapPhaseMap_const__InputArrayR_const__OutputArrayR_Size_const__InputArrayR(self.as_raw_mut_SinusoidalPattern(), wrapped_phase_map.as_raw__InputArray(), unwrapped_phase_map.as_raw__OutputArray(), &cam_size, shadow_mask.as_raw__InputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn unwrap_phase_map_def(&mut self, wrapped_phase_map: &impl ToInputArray, unwrapped_phase_map: &mut impl ToOutputArray, cam_size: core::Size) -> Result<()> {
input_array_arg!(wrapped_phase_map);
output_array_arg!(unwrapped_phase_map);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_unwrapPhaseMap_const__InputArrayR_const__OutputArrayR_Size(self.as_raw_mut_SinusoidalPattern(), wrapped_phase_map.as_raw__InputArray(), unwrapped_phase_map.as_raw__OutputArray(), &cam_size, ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn find_pro_cam_matches(&mut self, proj_unwrapped_phase_map: &impl ToInputArray, cam_unwrapped_phase_map: &impl ToInputArray, matches: &mut impl ToOutputArray) -> Result<()> {
input_array_arg!(proj_unwrapped_phase_map);
input_array_arg!(cam_unwrapped_phase_map);
output_array_arg!(matches);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_findProCamMatches_const__InputArrayR_const__InputArrayR_const__OutputArrayR(self.as_raw_mut_SinusoidalPattern(), proj_unwrapped_phase_map.as_raw__InputArray(), cam_unwrapped_phase_map.as_raw__InputArray(), matches.as_raw__OutputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn compute_data_modulation_term(&mut self, pattern_images: &impl ToInputArray, data_modulation_term: &mut impl ToOutputArray, shadow_mask: &impl ToInputArray) -> Result<()> {
input_array_arg!(pattern_images);
output_array_arg!(data_modulation_term);
input_array_arg!(shadow_mask);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_computeDataModulationTerm_const__InputArrayR_const__OutputArrayR_const__InputArrayR(self.as_raw_mut_SinusoidalPattern(), pattern_images.as_raw__InputArray(), data_modulation_term.as_raw__OutputArray(), shadow_mask.as_raw__InputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
impl std::fmt::Debug for SinusoidalPattern {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("SinusoidalPattern")
.finish()
}
}
boxed_cast_base! { SinusoidalPattern, core::Algorithm, cv_structured_light_SinusoidalPattern_to_Algorithm }
boxed_cast_base! { SinusoidalPattern, crate::structured_light::StructuredLightPattern, cv_structured_light_SinusoidalPattern_to_StructuredLightPattern }
impl core::AlgorithmTraitConst for SinusoidalPattern {
#[inline] fn as_raw_Algorithm(&self) -> *const c_void { self.as_raw() }
}
impl core::AlgorithmTrait for SinusoidalPattern {
#[inline] fn as_raw_mut_Algorithm(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { SinusoidalPattern, core::AlgorithmTraitConst, as_raw_Algorithm, core::AlgorithmTrait, as_raw_mut_Algorithm }
impl crate::structured_light::StructuredLightPatternTraitConst for SinusoidalPattern {
#[inline] fn as_raw_StructuredLightPattern(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::StructuredLightPatternTrait for SinusoidalPattern {
#[inline] fn as_raw_mut_StructuredLightPattern(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { SinusoidalPattern, crate::structured_light::StructuredLightPatternTraitConst, as_raw_StructuredLightPattern, crate::structured_light::StructuredLightPatternTrait, as_raw_mut_StructuredLightPattern }
impl crate::structured_light::SinusoidalPatternTraitConst for SinusoidalPattern {
#[inline] fn as_raw_SinusoidalPattern(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::SinusoidalPatternTrait for SinusoidalPattern {
#[inline] fn as_raw_mut_SinusoidalPattern(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { SinusoidalPattern, crate::structured_light::SinusoidalPatternTraitConst, as_raw_SinusoidalPattern, crate::structured_light::SinusoidalPatternTrait, as_raw_mut_SinusoidalPattern }
pub struct SinusoidalPattern_Params {
ptr: *mut c_void,
}
opencv_type_boxed! { SinusoidalPattern_Params }
impl Drop for SinusoidalPattern_Params {
#[inline]
fn drop(&mut self) {
unsafe { sys::cv_structured_light_SinusoidalPattern_Params_delete(self.as_raw_mut_SinusoidalPattern_Params()) };
}
}
unsafe impl Send for SinusoidalPattern_Params {}
impl SinusoidalPattern_Params {
#[inline]
pub fn default() -> Result<crate::structured_light::SinusoidalPattern_Params> {
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_SinusoidalPattern_Params_Params(ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::structured_light::SinusoidalPattern_Params::opencv_from_extern(ret) };
Ok(ret)
}
}
pub trait SinusoidalPattern_ParamsTraitConst {
fn as_raw_SinusoidalPattern_Params(&self) -> *const c_void;
#[inline]
fn width(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propWidth_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn height(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propHeight_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn nbr_of_periods(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propNbrOfPeriods_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn shift_value(&self) -> f32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propShiftValue_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn method_id(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propMethodId_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn nbr_of_pixels_between_markers(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propNbrOfPixelsBetweenMarkers_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn horizontal(&self) -> bool {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propHorizontal_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn set_markers(&self) -> bool {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propSetMarkers_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn markers_location(&self) -> core::Vector<core::Point2f> {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propMarkersLocation_const(self.as_raw_SinusoidalPattern_Params()) };
let ret = unsafe { core::Vector::<core::Point2f>::opencv_from_extern(ret) };
ret
}
}
pub trait SinusoidalPattern_ParamsTrait: crate::structured_light::SinusoidalPattern_ParamsTraitConst {
fn as_raw_mut_SinusoidalPattern_Params(&mut self) -> *mut c_void;
#[inline]
fn set_width(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propWidth_const_int(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_height(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propHeight_const_int(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_nbr_of_periods(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propNbrOfPeriods_const_int(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_shift_value(&mut self, val: f32) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propShiftValue_const_float(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_method_id(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propMethodId_const_int(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_nbr_of_pixels_between_markers(&mut self, val: i32) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propNbrOfPixelsBetweenMarkers_const_int(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_horizontal(&mut self, val: bool) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propHorizontal_const_bool(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_set_markers(&mut self, val: bool) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propSetMarkers_const_bool(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_markers_location(&mut self, val: core::Vector<core::Point2f>) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_propMarkersLocation_const_vectorLPoint2fG(self.as_raw_mut_SinusoidalPattern_Params(), val.as_raw_VectorOfPoint2f()) };
ret
}
}
impl std::fmt::Debug for SinusoidalPattern_Params {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("SinusoidalPattern_Params")
.field("width", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::width(self))
.field("height", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::height(self))
.field("nbr_of_periods", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::nbr_of_periods(self))
.field("shift_value", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::shift_value(self))
.field("method_id", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::method_id(self))
.field("nbr_of_pixels_between_markers", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::nbr_of_pixels_between_markers(self))
.field("horizontal", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::horizontal(self))
.field("set_markers", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::set_markers(self))
.field("markers_location", &crate::structured_light::SinusoidalPattern_ParamsTraitConst::markers_location(self))
.finish()
}
}
impl crate::structured_light::SinusoidalPattern_ParamsTraitConst for SinusoidalPattern_Params {
#[inline] fn as_raw_SinusoidalPattern_Params(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::SinusoidalPattern_ParamsTrait for SinusoidalPattern_Params {
#[inline] fn as_raw_mut_SinusoidalPattern_Params(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { SinusoidalPattern_Params, crate::structured_light::SinusoidalPattern_ParamsTraitConst, as_raw_SinusoidalPattern_Params, crate::structured_light::SinusoidalPattern_ParamsTrait, as_raw_mut_SinusoidalPattern_Params }
pub struct StructuredLightPattern {
ptr: *mut c_void,
}
opencv_type_boxed! { StructuredLightPattern }
impl Drop for StructuredLightPattern {
#[inline]
fn drop(&mut self) {
unsafe { sys::cv_structured_light_StructuredLightPattern_delete(self.as_raw_mut_StructuredLightPattern()) };
}
}
unsafe impl Send for StructuredLightPattern {}
pub trait StructuredLightPatternTraitConst: core::AlgorithmTraitConst {
fn as_raw_StructuredLightPattern(&self) -> *const c_void;
#[inline]
fn decode(&self, pattern_images: &core::Vector<core::Vector<core::Mat>>, disparity_map: &mut impl ToOutputArray, black_images: &impl ToInputArray, white_images: &impl ToInputArray, flags: i32) -> Result<bool> {
output_array_arg!(disparity_map);
input_array_arg!(black_images);
input_array_arg!(white_images);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_StructuredLightPattern_decode_const_const_vectorLvectorLMatGGR_const__OutputArrayR_const__InputArrayR_const__InputArrayR_int(self.as_raw_StructuredLightPattern(), pattern_images.as_raw_VectorOfVectorOfMat(), disparity_map.as_raw__OutputArray(), black_images.as_raw__InputArray(), white_images.as_raw__InputArray(), flags, ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn decode_def(&self, pattern_images: &core::Vector<core::Vector<core::Mat>>, disparity_map: &mut impl ToOutputArray) -> Result<bool> {
output_array_arg!(disparity_map);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_StructuredLightPattern_decode_const_const_vectorLvectorLMatGGR_const__OutputArrayR(self.as_raw_StructuredLightPattern(), pattern_images.as_raw_VectorOfVectorOfMat(), disparity_map.as_raw__OutputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
pub trait StructuredLightPatternTrait: core::AlgorithmTrait + crate::structured_light::StructuredLightPatternTraitConst {
fn as_raw_mut_StructuredLightPattern(&mut self) -> *mut c_void;
#[inline]
fn generate(&mut self, pattern_images: &mut impl ToOutputArray) -> Result<bool> {
output_array_arg!(pattern_images);
return_send!(via ocvrs_return);
unsafe { sys::cv_structured_light_StructuredLightPattern_generate_const__OutputArrayR(self.as_raw_mut_StructuredLightPattern(), pattern_images.as_raw__OutputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
impl std::fmt::Debug for StructuredLightPattern {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_struct("StructuredLightPattern")
.finish()
}
}
boxed_cast_base! { StructuredLightPattern, core::Algorithm, cv_structured_light_StructuredLightPattern_to_Algorithm }
boxed_cast_descendant! { StructuredLightPattern, crate::structured_light::GrayCodePattern, cv_structured_light_StructuredLightPattern_to_GrayCodePattern }
boxed_cast_descendant! { StructuredLightPattern, crate::structured_light::SinusoidalPattern, cv_structured_light_StructuredLightPattern_to_SinusoidalPattern }
impl core::AlgorithmTraitConst for StructuredLightPattern {
#[inline] fn as_raw_Algorithm(&self) -> *const c_void { self.as_raw() }
}
impl core::AlgorithmTrait for StructuredLightPattern {
#[inline] fn as_raw_mut_Algorithm(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { StructuredLightPattern, core::AlgorithmTraitConst, as_raw_Algorithm, core::AlgorithmTrait, as_raw_mut_Algorithm }
impl crate::structured_light::StructuredLightPatternTraitConst for StructuredLightPattern {
#[inline] fn as_raw_StructuredLightPattern(&self) -> *const c_void { self.as_raw() }
}
impl crate::structured_light::StructuredLightPatternTrait for StructuredLightPattern {
#[inline] fn as_raw_mut_StructuredLightPattern(&mut self) -> *mut c_void { self.as_raw_mut() }
}
boxed_ref! { StructuredLightPattern, crate::structured_light::StructuredLightPatternTraitConst, as_raw_StructuredLightPattern, crate::structured_light::StructuredLightPatternTrait, as_raw_mut_StructuredLightPattern }
}