pub mod structured_light {
use crate::{mod_prelude::*, core, sys, types};
pub mod prelude {
pub use { super::StructuredLightPatternTraitConst, super::StructuredLightPatternTrait, super::GrayCodePattern_ParamsTraitConst, super::GrayCodePattern_ParamsTrait, super::GrayCodePatternTraitConst, super::GrayCodePatternTrait, super::SinusoidalPattern_ParamsTraitConst, super::SinusoidalPattern_ParamsTrait, super::SinusoidalPatternTraitConst, super::SinusoidalPatternTrait };
}
pub const DECODE_3D_UNDERWORLD: i32 = 0;
pub const FAPS: i32 = 2;
pub const FTP: i32 = 0;
pub const PSP: i32 = 1;
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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn get_images_for_shadow_masks(&self, black_image: &mut impl core::ToInputOutputArray, white_image: &mut impl core::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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn get_proj_pixel(&self, pattern_images: &impl core::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!(unsafe 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!(unsafe 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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
pub struct GrayCodePattern {
ptr: *mut c_void
}
opencv_type_boxed! { GrayCodePattern }
impl Drop for GrayCodePattern {
#[inline]
fn drop(&mut self) {
extern "C" { fn cv_GrayCodePattern_delete(instance: *mut c_void); }
unsafe { cv_GrayCodePattern_delete(self.as_raw_mut_GrayCodePattern()) };
}
}
unsafe impl Send for GrayCodePattern {}
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() }
}
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() }
}
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() }
}
impl GrayCodePattern {
#[inline]
pub fn create(parameters: &crate::structured_light::GrayCodePattern_Params) -> 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!(unsafe 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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::GrayCodePattern>::opencv_from_extern(ret) };
Ok(ret)
}
}
boxed_cast_base! { GrayCodePattern, core::Algorithm, cv_GrayCodePattern_to_Algorithm }
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_getPropWidth_const(self.as_raw_GrayCodePattern_Params()) };
ret
}
#[inline]
fn height(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_GrayCodePattern_Params_getPropHeight_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_setPropWidth_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_setPropHeight_int(self.as_raw_mut_GrayCodePattern_Params(), val) };
ret
}
}
pub struct GrayCodePattern_Params {
ptr: *mut c_void
}
opencv_type_boxed! { GrayCodePattern_Params }
impl Drop for GrayCodePattern_Params {
#[inline]
fn drop(&mut self) {
extern "C" { fn cv_GrayCodePattern_Params_delete(instance: *mut c_void); }
unsafe { cv_GrayCodePattern_Params_delete(self.as_raw_mut_GrayCodePattern_Params()) };
}
}
unsafe impl Send for GrayCodePattern_Params {}
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() }
}
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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::structured_light::GrayCodePattern_Params::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 core::ToInputArray, wrapped_phase_map: &mut impl core::ToOutputArray, shadow_mask: &mut impl core::ToOutputArray, fundamental: &impl core::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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn unwrap_phase_map(&mut self, wrapped_phase_map: &impl core::ToInputArray, unwrapped_phase_map: &mut impl core::ToOutputArray, cam_size: core::Size, shadow_mask: &impl core::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.opencv_as_extern(), shadow_mask.as_raw__InputArray(), ocvrs_return.as_mut_ptr()) };
return_receive!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn find_pro_cam_matches(&mut self, proj_unwrapped_phase_map: &impl core::ToInputArray, cam_unwrapped_phase_map: &impl core::ToInputArray, matches: &mut impl core::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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
#[inline]
fn compute_data_modulation_term(&mut self, pattern_images: &impl core::ToInputArray, data_modulation_term: &mut impl core::ToOutputArray, shadow_mask: &impl core::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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
pub struct SinusoidalPattern {
ptr: *mut c_void
}
opencv_type_boxed! { SinusoidalPattern }
impl Drop for SinusoidalPattern {
#[inline]
fn drop(&mut self) {
extern "C" { fn cv_SinusoidalPattern_delete(instance: *mut c_void); }
unsafe { cv_SinusoidalPattern_delete(self.as_raw_mut_SinusoidalPattern()) };
}
}
unsafe impl Send for SinusoidalPattern {}
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() }
}
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() }
}
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() }
}
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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { core::Ptr::<crate::structured_light::SinusoidalPattern>::opencv_from_extern(ret) };
Ok(ret)
}
}
boxed_cast_base! { SinusoidalPattern, core::Algorithm, cv_SinusoidalPattern_to_Algorithm }
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_getPropWidth_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn height(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_getPropHeight_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn nbr_of_periods(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_getPropNbrOfPeriods_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn shift_value(&self) -> f32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_getPropShiftValue_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn method_id(&self) -> i32 {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_getPropMethodId_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_getPropNbrOfPixelsBetweenMarkers_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn horizontal(&self) -> bool {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_getPropHorizontal_const(self.as_raw_SinusoidalPattern_Params()) };
ret
}
#[inline]
fn set_markers(&self) -> bool {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_getPropSetMarkers_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_getPropMarkersLocation_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_setPropWidth_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_setPropHeight_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_setPropNbrOfPeriods_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_setPropShiftValue_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_setPropMethodId_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_setPropNbrOfPixelsBetweenMarkers_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_setPropHorizontal_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_setPropSetMarkers_bool(self.as_raw_mut_SinusoidalPattern_Params(), val) };
ret
}
#[inline]
fn set_markers_location(&mut self, mut val: core::Vector<core::Point2f>) {
let ret = unsafe { sys::cv_structured_light_SinusoidalPattern_Params_setPropMarkersLocation_vectorLPoint2fG(self.as_raw_mut_SinusoidalPattern_Params(), val.as_raw_mut_VectorOfPoint2f()) };
ret
}
}
pub struct SinusoidalPattern_Params {
ptr: *mut c_void
}
opencv_type_boxed! { SinusoidalPattern_Params }
impl Drop for SinusoidalPattern_Params {
#[inline]
fn drop(&mut self) {
extern "C" { fn cv_SinusoidalPattern_Params_delete(instance: *mut c_void); }
unsafe { cv_SinusoidalPattern_Params_delete(self.as_raw_mut_SinusoidalPattern_Params()) };
}
}
unsafe impl Send for SinusoidalPattern_Params {}
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() }
}
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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
let ret = unsafe { crate::structured_light::SinusoidalPattern_Params::opencv_from_extern(ret) };
Ok(ret)
}
}
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 core::ToOutputArray, black_images: &impl core::ToInputArray, white_images: &impl core::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!(unsafe 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 core::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!(unsafe ocvrs_return => ret);
let ret = ret.into_result()?;
Ok(ret)
}
}
pub struct StructuredLightPattern {
ptr: *mut c_void
}
opencv_type_boxed! { StructuredLightPattern }
impl Drop for StructuredLightPattern {
#[inline]
fn drop(&mut self) {
extern "C" { fn cv_StructuredLightPattern_delete(instance: *mut c_void); }
unsafe { cv_StructuredLightPattern_delete(self.as_raw_mut_StructuredLightPattern()) };
}
}
unsafe impl Send for StructuredLightPattern {}
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() }
}
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() }
}
impl StructuredLightPattern {
}
boxed_cast_base! { StructuredLightPattern, core::Algorithm, cv_StructuredLightPattern_to_Algorithm }
}