Skip to content

Commit bd395b1

Browse files
committed
Deprecate type aliases for Vector, Ptr and Tuple
1 parent b5726b3 commit bd395b1

File tree

13 files changed

+65
-76
lines changed

13 files changed

+65
-76
lines changed

binding-generator/src/writer/rust_native/tpl/smart_ptr/rust.tpl.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#[deprecated = "Use the the non-alias form `{{rust_full}}` instead, removal in Nov 2024"]
12
pub type {{rust_localalias}} = {{rust_full}};
23

34
ptr_extern! { {{inner_rust_full}},

binding-generator/src/writer/rust_native/tpl/tuple/rust.tpl.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#[deprecated = "Use the the non-alias form `{{rust_full}}` instead, removal in Nov 2024"]
12
pub type {{rust_localalias}} = {{rust_full}};
23

34
impl {{rust_full}} {

binding-generator/src/writer/rust_native/tpl/vector/rust.tpl.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#[deprecated = "Use the the non-alias form `{{rust_full}}` instead, removal in Nov 2024"]
12
pub type {{rust_localalias}} = {{rust_full}};
23

34
impl {{rust_full}} {

examples/hough_circle.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ use std::env::args;
44
use std::sync::atomic::{AtomicI32, Ordering};
55
use std::sync::Arc;
66

7-
use opencv::core::{find_file, Point, Point2i, Size2i, BORDER_DEFAULT};
7+
use opencv::core::{find_file, Point, Point2i, Size2i, Vec3f, Vector, BORDER_DEFAULT};
88
use opencv::highgui::{create_trackbar, imshow, named_window, wait_key, WINDOW_AUTOSIZE};
99
use opencv::imgcodecs::{imread, IMREAD_COLOR};
1010
use opencv::imgproc::{circle, cvt_color_def, gaussian_blur, hough_circles, COLOR_BGR2GRAY, HOUGH_GRADIENT};
1111
use opencv::prelude::*;
12-
use opencv::types::VectorOfVec3f;
1312
use opencv::Result;
1413

1514
opencv::opencv_branch_4! {
@@ -32,7 +31,7 @@ const MAX_ACCUMULATOR_THRESHOLD: i32 = 200;
3231

3332
fn hough_detection(src_gray: &Mat, src_display: &Mat, canny_threshold: i32, accumulator_threshold: i32) -> Result<()> {
3433
// Will hold the results of the detection
35-
let mut circles = VectorOfVec3f::new();
34+
let mut circles = Vector::<Vec3f>::new();
3635

3736
// Runs the actual detection
3837
hough_circles(

examples/hough_lines.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,11 @@ use std::env::args;
44
use std::f64::consts::PI;
55
use std::sync::Mutex;
66

7-
use opencv::core::{find_file, Point, Point2f};
7+
use opencv::core::{find_file, Point, Point2f, Vec2f, Vec4i, Vector};
88
use opencv::highgui::{create_trackbar, imshow, named_window, wait_key_def, WINDOW_AUTOSIZE};
99
use opencv::imgcodecs::{imread, IMREAD_COLOR};
1010
use opencv::imgproc::{canny_def, cvt_color_def, hough_lines_def, hough_lines_p, line, COLOR_BGR2GRAY, COLOR_GRAY2BGR};
1111
use opencv::prelude::*;
12-
use opencv::types::{VectorOfVec2f, VectorOfVec4i};
1312
use opencv::Result;
1413

1514
opencv::opencv_branch_4! {
@@ -92,7 +91,7 @@ fn main() -> Result<()> {
9291
}
9392

9493
fn standard_hough(edges: &Mat, s_trackbar: i32) -> Result<()> {
95-
let mut s_lines = VectorOfVec2f::new();
94+
let mut s_lines = Vector::<Vec2f>::new();
9695
let mut standard_hough = Mat::default();
9796

9897
cvt_color_def(edges, &mut standard_hough, COLOR_GRAY2BGR)?;
@@ -118,7 +117,7 @@ fn standard_hough(edges: &Mat, s_trackbar: i32) -> Result<()> {
118117
}
119118

120119
fn probabilistic_hough(edges: &Mat, p_trackbar: i32) -> Result<()> {
121-
let mut p_lines = VectorOfVec4i::new();
120+
let mut p_lines = Vector::<Vec4i>::new();
122121
let mut probabalistic_hough = Mat::default();
123122

124123
cvt_color_def(edges, &mut probabalistic_hough, COLOR_GRAY2BGR)?;

tests/boxed.rs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use std::ffi::c_void;
22
use std::mem::transmute;
33

4-
use opencv::core::{Algorithm, KeyPoint, Scalar, Vec4f};
4+
use opencv::core::{Algorithm, KeyPoint, Ptr, Scalar, Vec4f, Vector};
5+
use opencv::features2d::Feature2D;
56
use opencv::prelude::*;
6-
use opencv::types::{PtrOfFeature2D, VectorOfVec4f};
77
use opencv::Result;
88

99
#[test]
@@ -23,16 +23,16 @@ fn layout() -> Result<()> {
2323
fn into_raw() -> Result<()> {
2424
{
2525
#[inline(never)]
26-
fn into_raw(a: VectorOfVec4f) -> *mut c_void {
26+
fn into_raw(a: Vector<Vec4f>) -> *mut c_void {
2727
a.into_raw()
2828
}
2929

30-
let mut a = VectorOfVec4f::new();
30+
let mut a = Vector::<Vec4f>::new();
3131
a.push(Vec4f::all(1.));
3232
a.push(Vec4f::all(2.));
3333
a.push(Vec4f::all(3.));
3434
let ptr = into_raw(a);
35-
let b = unsafe { VectorOfVec4f::from_raw(ptr) };
35+
let b = unsafe { Vector::<Vec4f>::from_raw(ptr) };
3636
assert_eq!(3, b.len());
3737
assert_eq!(Vec4f::all(1.), b.get(0)?);
3838
assert_eq!(Vec4f::all(2.), b.get(1)?);
@@ -89,7 +89,7 @@ fn smart_ptr_cast_base() -> Result<()> {
8989
let d = AKAZE::create_def()?;
9090
assert!(Feature2DTraitConst::empty(&d)?);
9191
assert_eq!("Feature2D.AKAZE", Feature2DTraitConst::get_default_name(&d)?);
92-
let a = PtrOfFeature2D::from(d);
92+
let a = Ptr::<Feature2D>::from(d);
9393
assert!(Feature2DTraitConst::empty(&a)?);
9494
assert_eq!("Feature2D.AKAZE", Feature2DTraitConst::get_default_name(&a)?);
9595
Ok(())
@@ -112,9 +112,10 @@ fn cast_base() -> Result<()> {
112112
#[test]
113113
fn cast_descendant() -> Result<()> {
114114
#![cfg(ocvrs_has_module_rgbd)]
115-
use opencv::rgbd::{OdometryFrame, RgbdFrame};
116115
use std::convert::TryFrom;
117116

117+
use opencv::rgbd::{OdometryFrame, RgbdFrame};
118+
118119
let image = Mat::new_rows_cols_with_default(1, 2, i32::opencv_type(), 1.into())?;
119120
let depth = Mat::default();
120121
let mask = Mat::default();
@@ -136,13 +137,11 @@ fn cast_descendant() -> Result<()> {
136137
#[test]
137138
fn cast_descendant_fail() -> Result<()> {
138139
#![cfg(ocvrs_has_module_stitching)]
139-
use opencv::{
140-
core,
141-
stitching::{Detail_Blender, Detail_FeatherBlender, Detail_MultiBandBlender},
142-
Error,
143-
};
144140
use std::convert::TryFrom;
145141

142+
use opencv::stitching::{Detail_Blender, Detail_FeatherBlender, Detail_MultiBandBlender};
143+
use opencv::{core, Error};
144+
146145
let child = Detail_FeatherBlender::new(43.)?;
147146
assert_eq!(43., child.sharpness()?);
148147
let base = Detail_Blender::from(child);

tests/dnn.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22

33
use matches::assert_matches;
44

5-
use opencv::{
6-
core,
7-
dnn::{DictValue, LayerParams, Net},
8-
prelude::*,
9-
types::VectorOfMat,
10-
Error, Result,
11-
};
5+
use opencv::core::Vector;
6+
use opencv::dnn::{DictValue, LayerParams, Net};
7+
use opencv::prelude::*;
8+
use opencv::{core, Error, Result};
129

1310
/// Specialization, passing Vector of boxed objects
1411
#[test]
@@ -38,7 +35,7 @@ fn net() -> Result<()> {
3835
let res = net.add_layer("layer", "type", &mut params)?;
3936
assert_ne!(-1, res);
4037
assert!(!net.empty()?);
41-
let mut blobs = VectorOfMat::new();
38+
let mut blobs = Vector::<Mat>::new();
4239
blobs.push(Mat::default());
4340
params.set_blobs(blobs);
4441
let blobs = params.blobs();

tests/input_output_array.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ use opencv::core::{
1212
};
1313
use opencv::core::{_InputArray, _InputOutputArray, _OutputArray};
1414
use opencv::prelude::*;
15-
use opencv::types::{VectorOff64, VectorOfu8};
1615
use opencv::{core, Result};
1716

1817
#[test]
@@ -170,7 +169,7 @@ fn input_output_array() -> Result<()> {
170169
let mat = Mat::new_rows_cols_with_default(1, 3, u8::opencv_type(), Scalar::all(3.))?;
171170
let umat = mat.get_umat_def(ACCESS_READ)?;
172171
{
173-
let mut trg = VectorOfu8::new();
172+
let mut trg = Vector::<u8>::new();
174173
core::add(&mat_expr, &umat, &mut trg, &core::no_array(), -1)?;
175174
assert_eq!(3, trg.len());
176175
assert_eq!(4, trg.get(0)?);
@@ -179,7 +178,7 @@ fn input_output_array() -> Result<()> {
179178
}
180179

181180
{
182-
let mut trg = VectorOfu8::new();
181+
let mut trg = Vector::<u8>::new();
183182
core::add(&&mat_expr, &&umat, &mut &mut trg, &core::no_array(), -1)?;
184183
assert_eq!(3, trg.len());
185184
assert_eq!(4, trg.get(0)?);
@@ -189,7 +188,7 @@ fn input_output_array() -> Result<()> {
189188
}
190189

191190
{
192-
let mut t = VectorOff64::new();
191+
let mut t = Vector::<f64>::new();
193192
core::add(&2.5, &4., &mut t, &core::no_array(), -1)?;
194193
assert_eq!(6.5, t.get(0)?);
195194
}

tests/marshalling.rs

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
//! Contains all tests that cover marshalling types to and from C++
22
3-
use opencv::core::{self, Scalar};
3+
use opencv::core;
4+
use opencv::core::{Scalar, Tuple};
45
use opencv::prelude::*;
56
use opencv::Result;
67

78
/// Passing simple struct as argument
89
#[test]
910
fn simple_struct_arg() -> Result<()> {
10-
use opencv::{
11-
core::{Point, Size},
12-
imgproc,
13-
};
11+
#![cfg(ocvrs_has_module_imgproc)]
12+
13+
use opencv::core::{Point, Size};
14+
use opencv::imgproc;
1415

15-
let res = imgproc::get_structuring_element(imgproc::MORPH_CROSS, Size { width: 100, height: 100 }, Point { x: 50, y: 50 })?;
16+
let res = imgproc::get_structuring_element(imgproc::MORPH_CROSS, Size::new(100, 100), Point::new(50, 50))?;
1617
assert_eq!(res.typ(), 0);
1718
let size = res.size()?;
1819
assert_eq!(size.width, 100);
@@ -208,10 +209,8 @@ fn simple_struct_return_infallible() -> Result<()> {
208209
fn tuple() -> Result<()> {
209210
#[cfg(all(ocvrs_has_module_imgproc, ocvrs_opencv_branch_4))]
210211
{
211-
use opencv::types::TupleOfi32_f32;
212-
213212
let src_tuple = (10, 20.);
214-
let tuple = TupleOfi32_f32::new(src_tuple);
213+
let tuple = Tuple::<(i32, f32)>::new(src_tuple);
215214
assert_eq!(10, tuple.get_0());
216215
assert_eq!(20., tuple.get_1());
217216
assert_eq!(src_tuple, tuple.into_tuple());
@@ -220,23 +219,21 @@ fn tuple() -> Result<()> {
220219
#[cfg(ocvrs_has_module_objdetect)]
221220
{
222221
use opencv::core::Rect;
223-
use opencv::types::TupleOfRect_i32;
224222

225223
let src_tuple = (Rect::new(1, 2, 3, 4), 98);
226-
let tuple = TupleOfRect_i32::new(src_tuple);
224+
let tuple = Tuple::<(Rect, i32)>::new(src_tuple);
227225
assert_eq!(Rect::new(1, 2, 3, 4), tuple.get_0());
228226
assert_eq!(98, tuple.get_1());
229227
assert_eq!(src_tuple, tuple.into_tuple());
230228
}
231229

232230
#[cfg(all(ocvrs_has_module_stitching, ocvrs_opencv_branch_4))]
233231
{
234-
use opencv::core::{AccessFlag, UMatUsageFlags};
235-
use opencv::types::TupleOfUMat_u8;
232+
use opencv::core::{AccessFlag, UMat, UMatUsageFlags};
236233

237234
let mat = Mat::new_rows_cols_with_default(10, 20, f64::opencv_type(), Scalar::all(76.))?;
238235
let src_tuple = (mat.get_umat(AccessFlag::ACCESS_READ, UMatUsageFlags::USAGE_DEFAULT)?, 8);
239-
let tuple = TupleOfUMat_u8::new(src_tuple);
236+
let tuple = Tuple::<(UMat, u8)>::new(src_tuple);
240237
assert_eq!(10, tuple.get_0().rows());
241238
assert_eq!(8, tuple.get_1());
242239
let (res_umat, res_val) = tuple.into_tuple();

tests/mat.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ use std::mem;
33

44
use matches::assert_matches;
55

6-
use opencv::core::{MatConstIterator, MatIter, Point, Point2d, Rect, Scalar, Size, Vec2b, Vec2s, Vec3d, Vec3f, Vec4w};
6+
use opencv::core::{MatConstIterator, MatIter, Point, Point2d, Rect, Scalar, Size, Vec2b, Vec2s, Vec3d, Vec3f, Vec4w, Vector};
77
use opencv::prelude::*;
8-
use opencv::types::{VectorOfMat, VectorOfi32};
98
use opencv::{core, imgproc, Error, Result};
10-
119
const PIXEL: &[u8] = include_bytes!("pixel.png");
1210

1311
#[test]
@@ -43,7 +41,7 @@ fn mat_create() -> Result<()> {
4341
#[test]
4442
fn mat_from_iter() -> Result<()> {
4543
{
46-
let mut vec = VectorOfi32::new();
44+
let mut vec = Vector::<i32>::new();
4745
vec.push(1);
4846
vec.push(2);
4947
vec.push(3);
@@ -115,7 +113,7 @@ fn mat_nd() -> Result<()> {
115113
}
116114

117115
{
118-
let dims = VectorOfi32::from_iter(vec![2, 3, 4, 5, 6, 7]);
116+
let dims = Vector::<i32>::from_iter(vec![2, 3, 4, 5, 6, 7]);
119117
let mut mat = Mat::new_nd_vec_with_default(&dims, Vec4w::opencv_type(), 0.into())?;
120118
assert_eq!(-1, mat.rows());
121119
assert_eq!(-1, mat.cols());
@@ -451,7 +449,7 @@ fn mat_vec() -> Result<()> {
451449
}
452450

453451
{
454-
let mut dims = VectorOfi32::new();
452+
let mut dims = Vector::<i32>::new();
455453
dims.push(3);
456454
dims.push(3);
457455
dims.push(3);
@@ -545,7 +543,7 @@ fn mat_continuous() -> Result<()> {
545543

546544
#[test]
547545
fn mat_merge_split() -> Result<()> {
548-
let mut src = VectorOfMat::new();
546+
let mut src = Vector::<Mat>::new();
549547
src.push(Mat::new_rows_cols_with_default(1, 3, u8::opencv_type(), 1.into())?);
550548
src.push(Mat::new_rows_cols_with_default(1, 3, u8::opencv_type(), 2.into())?);
551549
let mut merged = Mat::default();
@@ -554,7 +552,7 @@ fn mat_merge_split() -> Result<()> {
554552
assert_eq!(merged.at_2d::<Vec2b>(0, 1)?[0], 1);
555553
assert_eq!(merged.at_2d::<Vec2b>(0, 2)?[1], 2);
556554

557-
let mut split = VectorOfMat::new();
555+
let mut split = Vector::<Mat>::new();
558556
core::split(&merged, &mut split)?;
559557
assert_eq!(2, split.len());
560558
let mat = split.get(0)?;

0 commit comments

Comments
 (0)