Skip to content

Commit 11c8ff1

Browse files
committed
Update changelog and docs
1 parent 819ec29 commit 11c8ff1

File tree

9 files changed

+1605
-935
lines changed

9 files changed

+1605
-935
lines changed

CHANGES.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
* 0.92.0
2+
* Add `DoubleEndedIterator` impl for `Vector` and simplify trait bounds.
3+
* Type aliases for `Vector` (`VectorOf...`), `Ptr` and `Tuple` are now deprecated.
4+
* Add missing `Mat_` methods, speed up `Mat::at*()` and `Mat_::at*()` methods slightly. Allow calling `at()` method on a `Mat`
5+
with more than 2 dimensions.
6+
* Improved typedef generation that led to changing of some typedef names, e.g. `va_display``VADisplay`. Typedefed types are
7+
now also preserved in function signatures.
8+
* Fix several cases where returned objects were not usable and led to a segfault, e.g. `SparseMap::hdr()`.
9+
* Add a helper to accommodate calling OpenCV functions that can modify a `Mat` in place, use `modify_inplace()` method.
10+
111
* 0.91.3
212
* Add workaround for https://github.com/twistedfall/opencv-rust/issues/548.
313

docs/core.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2525,12 +2525,12 @@ pub mod core {
25252525

25262526
opencv_type_enum! { core::_OutputArray_DepthMask }
25272527

2528-
pub type va_display = *mut c_void;
2529-
pub type va_surface_id = u32;
2528+
pub type VADisplay = *mut c_void;
2529+
pub type VASurfaceID = u32;
25302530
pub type Affine3d = core::Affine3<f64>;
25312531
pub type Affine3f = core::Affine3<f32>;
2532-
pub type Hamming_result_type = i32;
2533-
pub type Hamming_value_type = u8;
2532+
pub type Hamming_ResultType = i32;
2533+
pub type Hamming_ValueType = u8;
25342534
pub type HammingLUT = core::Hamming;
25352535
pub type InputArray<'a> = &'a core::_InputArray;
25362536
pub type InputArrayOfArrays<'a> = core::InputArray<'a>;
@@ -11919,7 +11919,7 @@ pub mod core {
1191911919
/// * size: - size of image represented by VASurfaceID object.
1192011920
/// * dst: - destination OutputArray.
1192111921
#[inline]
11922-
pub unsafe fn convert_from_va_surface(display: core::va_display, surface: core::va_surface_id, size: core::Size, dst: &mut impl ToOutputArray) -> Result<()> {
11922+
pub unsafe fn convert_from_va_surface(display: core::VADisplay, surface: core::VASurfaceID, size: core::Size, dst: &mut impl ToOutputArray) -> Result<()> {
1192311923
output_array_arg!(dst);
1192411924
return_send!(via ocvrs_return);
1192511925
{ sys::cv_va_intel_convertFromVASurface_VADisplay_VASurfaceID_Size_const__OutputArrayR(display, surface, &size, dst.as_raw__OutputArray(), ocvrs_return.as_mut_ptr()) };
@@ -11935,7 +11935,7 @@ pub mod core {
1193511935
/// * surface: - destination VASurfaceID object.
1193611936
/// * size: - size of image represented by VASurfaceID object.
1193711937
#[inline]
11938-
pub unsafe fn convert_to_va_surface(display: core::va_display, src: &impl ToInputArray, surface: core::va_surface_id, size: core::Size) -> Result<()> {
11938+
pub unsafe fn convert_to_va_surface(display: core::VADisplay, src: &impl ToInputArray, surface: core::VASurfaceID, size: core::Size) -> Result<()> {
1193911939
input_array_arg!(src);
1194011940
return_send!(via ocvrs_return);
1194111941
{ sys::cv_va_intel_convertToVASurface_VADisplay_const__InputArrayR_VASurfaceID_Size(display, src.as_raw__InputArray(), surface, &size, ocvrs_return.as_mut_ptr()) };
@@ -11955,7 +11955,7 @@ pub mod core {
1195511955
/// This alternative version of [initialize_context_from_va] function uses the following default values for its arguments:
1195611956
/// * try_interop: true
1195711957
#[inline]
11958-
pub unsafe fn initialize_context_from_va_def(display: core::va_display) -> Result<core::Context> {
11958+
pub unsafe fn initialize_context_from_va_def(display: core::VADisplay) -> Result<core::Context> {
1195911959
return_send!(via ocvrs_return);
1196011960
{ sys::cv_va_intel_ocl_initializeContextFromVA_VADisplay(display, ocvrs_return.as_mut_ptr()) };
1196111961
return_receive!(ocvrs_return => ret);
@@ -11974,7 +11974,7 @@ pub mod core {
1197411974
/// ## C++ default parameters
1197511975
/// * try_interop: true
1197611976
#[inline]
11977-
pub unsafe fn initialize_context_from_va(display: core::va_display, try_interop: bool) -> Result<core::Context> {
11977+
pub unsafe fn initialize_context_from_va(display: core::VADisplay, try_interop: bool) -> Result<core::Context> {
1197811978
return_send!(via ocvrs_return);
1197911979
{ sys::cv_va_intel_ocl_initializeContextFromVA_VADisplay_bool(display, try_interop, ocvrs_return.as_mut_ptr()) };
1198011980
return_receive!(ocvrs_return => ret);
@@ -15956,7 +15956,7 @@ pub mod core {
1595615956

1595715957
/// this will count the bits in a ^ b
1595815958
#[inline]
15959-
fn apply(&self, a: &[u8], b: &[u8]) -> Result<core::Hamming_result_type> {
15959+
fn apply(&self, a: &[u8], b: &[u8]) -> Result<core::Hamming_ResultType> {
1596015960
return_send!(via ocvrs_return);
1596115961
unsafe { sys::cv_Hamming_operator___const_const_unsigned_charX_const_unsigned_charX_int(self.as_raw_Hamming(), a.as_ptr(), b.as_ptr(), a.len().min(b.len()).try_into()?, ocvrs_return.as_mut_ptr()) };
1596215962
return_receive!(unsafe ocvrs_return => ret);
@@ -32512,18 +32512,18 @@ pub mod core {
3251232512

3251332513
/// shape of this array
3251432514
#[inline]
32515-
fn size(&self) -> core::Vector<i32> {
32515+
fn size(&self) -> core::GpuMatND_SizeArray {
3251632516
let ret = unsafe { sys::cv_cuda_GpuMatND_propSize_const(self.as_raw_GpuMatND()) };
32517-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
32517+
let ret = unsafe { core::GpuMatND_SizeArray::opencv_from_extern(ret) };
3251832518
ret
3251932519
}
3252032520

3252132521
/// ! step values
3252232522
/// Their semantics is identical to the semantics of step for Mat.
3252332523
#[inline]
32524-
fn step(&self) -> core::Vector<size_t> {
32524+
fn step(&self) -> core::GpuMatND_StepArray {
3252532525
let ret = unsafe { sys::cv_cuda_GpuMatND_propStep_const(self.as_raw_GpuMatND()) };
32526-
let ret = unsafe { core::Vector::<size_t>::opencv_from_extern(ret) };
32526+
let ret = unsafe { core::GpuMatND_StepArray::opencv_from_extern(ret) };
3252732527
ret
3252832528
}
3252932529

docs/dnn.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -860,12 +860,12 @@ pub mod dnn {
860860
}
861861

862862
#[inline]
863-
pub fn concat(a: &crate::dnn::MatShape, b: &crate::dnn::MatShape) -> Result<core::Vector<i32>> {
863+
pub fn concat(a: &crate::dnn::MatShape, b: &crate::dnn::MatShape) -> Result<crate::dnn::MatShape> {
864864
return_send!(via ocvrs_return);
865865
unsafe { sys::cv_dnn_concat_const_MatShapeR_const_MatShapeR(a.as_raw_VectorOfi32(), b.as_raw_VectorOfi32(), ocvrs_return.as_mut_ptr()) };
866866
return_receive!(unsafe ocvrs_return => ret);
867867
let ret = ret.into_result()?;
868-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
868+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
869869
Ok(ret)
870870
}
871871

@@ -1863,42 +1863,42 @@ pub mod dnn {
18631863
}
18641864

18651865
#[inline]
1866-
pub fn shape_1(mat: &impl core::MatTraitConst) -> Result<core::Vector<i32>> {
1866+
pub fn shape_1(mat: &impl core::MatTraitConst) -> Result<crate::dnn::MatShape> {
18671867
return_send!(via ocvrs_return);
18681868
unsafe { sys::cv_dnn_shape_const_MatR(mat.as_raw_Mat(), ocvrs_return.as_mut_ptr()) };
18691869
return_receive!(unsafe ocvrs_return => ret);
18701870
let ret = ret.into_result()?;
1871-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
1871+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
18721872
Ok(ret)
18731873
}
18741874

18751875
#[inline]
1876-
pub fn shape_2(sz: &impl core::MatSizeTraitConst) -> Result<core::Vector<i32>> {
1876+
pub fn shape_2(sz: &impl core::MatSizeTraitConst) -> Result<crate::dnn::MatShape> {
18771877
return_send!(via ocvrs_return);
18781878
unsafe { sys::cv_dnn_shape_const_MatSizeR(sz.as_raw_MatSize(), ocvrs_return.as_mut_ptr()) };
18791879
return_receive!(unsafe ocvrs_return => ret);
18801880
let ret = ret.into_result()?;
1881-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
1881+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
18821882
Ok(ret)
18831883
}
18841884

18851885
#[inline]
1886-
pub fn shape_3(mat: &impl core::UMatTraitConst) -> Result<core::Vector<i32>> {
1886+
pub fn shape_3(mat: &impl core::UMatTraitConst) -> Result<crate::dnn::MatShape> {
18871887
return_send!(via ocvrs_return);
18881888
unsafe { sys::cv_dnn_shape_const_UMatR(mat.as_raw_UMat(), ocvrs_return.as_mut_ptr()) };
18891889
return_receive!(unsafe ocvrs_return => ret);
18901890
let ret = ret.into_result()?;
1891-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
1891+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
18921892
Ok(ret)
18931893
}
18941894

18951895
#[inline]
1896-
pub fn shape(dims: &i32, n: i32) -> Result<core::Vector<i32>> {
1896+
pub fn shape(dims: &i32, n: i32) -> Result<crate::dnn::MatShape> {
18971897
return_send!(via ocvrs_return);
18981898
unsafe { sys::cv_dnn_shape_const_intX_const_int(dims, n, ocvrs_return.as_mut_ptr()) };
18991899
return_receive!(unsafe ocvrs_return => ret);
19001900
let ret = ret.into_result()?;
1901-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
1901+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
19021902
Ok(ret)
19031903
}
19041904

@@ -1908,12 +1908,12 @@ pub mod dnn {
19081908
/// * a2: -1
19091909
/// * a3: -1
19101910
#[inline]
1911-
pub fn shape_4_def(a0: i32) -> Result<core::Vector<i32>> {
1911+
pub fn shape_4_def(a0: i32) -> Result<crate::dnn::MatShape> {
19121912
return_send!(via ocvrs_return);
19131913
unsafe { sys::cv_dnn_shape_int(a0, ocvrs_return.as_mut_ptr()) };
19141914
return_receive!(unsafe ocvrs_return => ret);
19151915
let ret = ret.into_result()?;
1916-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
1916+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
19171917
Ok(ret)
19181918
}
19191919

@@ -1922,12 +1922,12 @@ pub mod dnn {
19221922
/// * a2: -1
19231923
/// * a3: -1
19241924
#[inline]
1925-
pub fn shape_4(a0: i32, a1: i32, a2: i32, a3: i32) -> Result<core::Vector<i32>> {
1925+
pub fn shape_4(a0: i32, a1: i32, a2: i32, a3: i32) -> Result<crate::dnn::MatShape> {
19261926
return_send!(via ocvrs_return);
19271927
unsafe { sys::cv_dnn_shape_int_int_int_int(a0, a1, a2, a3, ocvrs_return.as_mut_ptr()) };
19281928
return_receive!(unsafe ocvrs_return => ret);
19291929
let ret = ret.into_result()?;
1930-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
1930+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
19311931
Ok(ret)
19321932
}
19331933

@@ -16765,9 +16765,9 @@ pub mod dnn {
1676516765
fn as_raw_ReshapeLayer(&self) -> *const c_void;
1676616766

1676716767
#[inline]
16768-
fn new_shape_desc(&self) -> core::Vector<i32> {
16768+
fn new_shape_desc(&self) -> crate::dnn::MatShape {
1676916769
let ret = unsafe { sys::cv_dnn_ReshapeLayer_propNewShapeDesc_const(self.as_raw_ReshapeLayer()) };
16770-
let ret = unsafe { core::Vector::<i32>::opencv_from_extern(ret) };
16770+
let ret = unsafe { crate::dnn::MatShape::opencv_from_extern(ret) };
1677116771
ret
1677216772
}
1677316773

docs/flann.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,11 +398,11 @@ pub mod flann {
398398
opencv_type_enum! { crate::flann::flann_log_level_t }
399399

400400
/// A bucket in an LSH table
401-
pub type Bucket = core::Vector<crate::flann::feature_index>;
401+
pub type Bucket = core::Vector<crate::flann::FeatureIndex>;
402402
/// The id from which we can get a bucket back in an LSH table
403-
pub type bucket_key = u32;
403+
pub type BucketKey = u32;
404404
/// What is stored in an LSH bucket
405-
pub type feature_index = u32;
405+
pub type FeatureIndex = u32;
406406
#[inline]
407407
pub fn flann_distance_type() -> Result<crate::flann::flann_distance_t> {
408408
return_send!(via ocvrs_return);

docs/gapi.rs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,10 @@ pub mod gapi {
245245
pub type GMat3 = core::Tuple<(crate::gapi::GMat, crate::gapi::GMat, crate::gapi::GMat)>;
246246
pub type GMat4 = core::Tuple<(crate::gapi::GMat, crate::gapi::GMat, crate::gapi::GMat, crate::gapi::GMat)>;
247247
pub type GMatScalar = core::Tuple<(crate::gapi::GMat, crate::gapi::GScalar)>;
248-
pub type ImgProc_cont_method = crate::imgproc::ContourApproximationModes;
248+
pub type ImgProc_ContMethod = crate::imgproc::ContourApproximationModes;
249249
pub type ImgProc_GMat2 = core::Tuple<(crate::gapi::GMat, crate::gapi::GMat)>;
250250
pub type ImgProc_GMat3 = core::Tuple<(crate::gapi::GMat, crate::gapi::GMat, crate::gapi::GMat)>;
251-
pub type ImgProc_retr_mode = crate::imgproc::RetrievalModes;
251+
pub type ImgProc_RetrMode = crate::imgproc::RetrievalModes;
252252
#[inline]
253253
pub fn descr_of_2(mat: &impl core::MatTraitConst) -> Result<crate::gapi::GMatDesc> {
254254
return_send!(via ocvrs_return);
@@ -6886,12 +6886,12 @@ pub mod gapi {
68866886
/// ## C++ default parameters
68876887
/// * args: {}
68886888
#[inline]
6889-
fn apply(&mut self, callback: &impl crate::gapi::Detail_ExtractArgsCallbackTraitConst, mut args: crate::gapi::GCompileArgs) -> Result<core::Vector<crate::gapi::GRunArg>> {
6889+
fn apply(&mut self, callback: &impl crate::gapi::Detail_ExtractArgsCallbackTraitConst, mut args: crate::gapi::GCompileArgs) -> Result<crate::gapi::GRunArgs> {
68906890
return_send!(via ocvrs_return);
68916891
unsafe { sys::cv_GComputation_apply_const_ExtractArgsCallbackR_GCompileArgsRR(self.as_raw_mut_GComputation(), callback.as_raw_Detail_ExtractArgsCallback(), args.as_raw_mut_VectorOfGCompileArg(), ocvrs_return.as_mut_ptr()) };
68926892
return_receive!(unsafe ocvrs_return => ret);
68936893
let ret = ret.into_result()?;
6894-
let ret = unsafe { core::Vector::<crate::gapi::GRunArg>::opencv_from_extern(ret) };
6894+
let ret = unsafe { crate::gapi::GRunArgs::opencv_from_extern(ret) };
68956895
Ok(ret)
68966896
}
68976897

@@ -6901,12 +6901,12 @@ pub mod gapi {
69016901
/// This alternative version of [GComputationTrait::apply] function uses the following default values for its arguments:
69026902
/// * args: {}
69036903
#[inline]
6904-
fn apply_def(&mut self, callback: &impl crate::gapi::Detail_ExtractArgsCallbackTraitConst) -> Result<core::Vector<crate::gapi::GRunArg>> {
6904+
fn apply_def(&mut self, callback: &impl crate::gapi::Detail_ExtractArgsCallbackTraitConst) -> Result<crate::gapi::GRunArgs> {
69056905
return_send!(via ocvrs_return);
69066906
unsafe { sys::cv_GComputation_apply_const_ExtractArgsCallbackR(self.as_raw_mut_GComputation(), callback.as_raw_Detail_ExtractArgsCallback(), ocvrs_return.as_mut_ptr()) };
69076907
return_receive!(unsafe ocvrs_return => ret);
69086908
let ret = ret.into_result()?;
6909-
let ret = unsafe { core::Vector::<crate::gapi::GRunArg>::opencv_from_extern(ret) };
6909+
let ret = unsafe { crate::gapi::GRunArgs::opencv_from_extern(ret) };
69106910
Ok(ret)
69116911
}
69126912

@@ -7763,23 +7763,23 @@ pub mod gapi {
77637763
}
77647764

77657765
#[inline]
7766-
fn out_shapes(&self) -> core::Vector<crate::gapi::GShape> {
7766+
fn out_shapes(&self) -> crate::gapi::GShapes {
77677767
let ret = unsafe { sys::cv_GKernel_propOutShapes_const(self.as_raw_GKernel()) };
7768-
let ret = unsafe { core::Vector::<crate::gapi::GShape>::opencv_from_extern(ret) };
7768+
let ret = unsafe { crate::gapi::GShapes::opencv_from_extern(ret) };
77697769
ret
77707770
}
77717771

77727772
#[inline]
7773-
fn in_kinds(&self) -> core::Vector<crate::gapi::Detail_OpaqueKind> {
7773+
fn in_kinds(&self) -> crate::gapi::GKinds {
77747774
let ret = unsafe { sys::cv_GKernel_propInKinds_const(self.as_raw_GKernel()) };
7775-
let ret = unsafe { core::Vector::<crate::gapi::Detail_OpaqueKind>::opencv_from_extern(ret) };
7775+
let ret = unsafe { crate::gapi::GKinds::opencv_from_extern(ret) };
77767776
ret
77777777
}
77787778

77797779
#[inline]
7780-
fn out_kinds(&self) -> core::Vector<crate::gapi::Detail_OpaqueKind> {
7780+
fn out_kinds(&self) -> crate::gapi::GKinds {
77817781
let ret = unsafe { sys::cv_GKernel_propOutKinds_const(self.as_raw_GKernel()) };
7782-
let ret = unsafe { core::Vector::<crate::gapi::Detail_OpaqueKind>::opencv_from_extern(ret) };
7782+
let ret = unsafe { crate::gapi::GKinds::opencv_from_extern(ret) };
77837783
ret
77847784
}
77857785

@@ -9952,12 +9952,12 @@ pub mod gapi {
99529952
}
99539953

99549954
#[inline]
9955-
fn steps(&self) -> Result<core::Vector<size_t>> {
9955+
fn steps(&self) -> Result<crate::gapi::RMat_View_stepsT> {
99569956
return_send!(via ocvrs_return);
99579957
unsafe { sys::cv_RMat_View_steps_const(self.as_raw_RMat_View(), ocvrs_return.as_mut_ptr()) };
99589958
return_receive!(unsafe ocvrs_return => ret);
99599959
let ret = ret.into_result()?;
9960-
let ret = unsafe { core::Vector::<size_t>::opencv_from_extern(ret) };
9960+
let ret = unsafe { crate::gapi::RMat_View_stepsT::opencv_from_extern(ret) };
99619961
Ok(ret)
99629962
}
99639963

@@ -10041,12 +10041,12 @@ pub mod gapi {
1004110041
fn as_raw_Detail_ExtractArgsCallback(&self) -> *const c_void;
1004210042

1004310043
#[inline]
10044-
fn apply(&self, info: &crate::gapi::GTypesInfo) -> Result<core::Vector<crate::gapi::GRunArg>> {
10044+
fn apply(&self, info: &crate::gapi::GTypesInfo) -> Result<crate::gapi::GRunArgs> {
1004510045
return_send!(via ocvrs_return);
1004610046
unsafe { sys::cv_detail_ExtractArgsCallback_operator___const_const_GTypesInfoR(self.as_raw_Detail_ExtractArgsCallback(), info.as_raw_VectorOfGTypeInfo(), ocvrs_return.as_mut_ptr()) };
1004710047
return_receive!(unsafe ocvrs_return => ret);
1004810048
let ret = ret.into_result()?;
10049-
let ret = unsafe { core::Vector::<crate::gapi::GRunArg>::opencv_from_extern(ret) };
10049+
let ret = unsafe { crate::gapi::GRunArgs::opencv_from_extern(ret) };
1005010050
Ok(ret)
1005110051
}
1005210052

docs/line_descriptor.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,10 @@ pub mod line_descriptor {
118118

119119
opencv_type_enum! { crate::line_descriptor::DrawLinesMatchesFlags }
120120

121-
pub type uint16 = u16;
122-
pub type uint32 = u32;
123-
pub type uint64 = u64;
124-
pub type uint8 = u8;
121+
pub type UINT16 = u16;
122+
pub type UINT32 = u32;
123+
pub type UINT64 = u64;
124+
pub type UINT8 = u8;
125125
/// Draws keylines.
126126
///
127127
/// ## Parameters

docs/surface_matching.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -360,7 +360,7 @@ pub mod surface_matching {
360360

361361
pub const ICP_ICP_SAMPLING_TYPE_GELFAND: i32 = 1;
362362
pub const ICP_ICP_SAMPLING_TYPE_UNIFORM: i32 = 0;
363-
pub type key_type = u32;
363+
pub type KeyType = u32;
364364
pub type Pose3DPtr = core::Ptr<crate::surface_matching::Pose3D>;
365365
pub type PoseCluster3DPtr = core::Ptr<crate::surface_matching::PoseCluster3D>;
366366
/// Constant methods for [crate::surface_matching::ICP]
@@ -907,12 +907,12 @@ pub mod surface_matching {
907907
}
908908

909909
#[inline]
910-
fn clone(&mut self) -> Result<core::Ptr<crate::surface_matching::Pose3D>> {
910+
fn clone(&mut self) -> Result<crate::surface_matching::Pose3DPtr> {
911911
return_send!(via ocvrs_return);
912912
unsafe { sys::cv_ppf_match_3d_Pose3D_clone(self.as_raw_mut_Pose3D(), ocvrs_return.as_mut_ptr()) };
913913
return_receive!(unsafe ocvrs_return => ret);
914914
let ret = ret.into_result()?;
915-
let ret = unsafe { core::Ptr::<crate::surface_matching::Pose3D>::opencv_from_extern(ret) };
915+
let ret = unsafe { crate::surface_matching::Pose3DPtr::opencv_from_extern(ret) };
916916
Ok(ret)
917917
}
918918

0 commit comments

Comments
 (0)