1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use num_traits::{One, Zero};

use crate::core::{Matx44, MatxTrait};
use crate::opencv_type_simple_generic;

/// [docs.opencv.org](https://docs.opencv.org/master/dd/d99/classcv_1_1Affine3.html)
#[repr(C)]
#[derive(Copy, Clone)]
pub struct Affine3<T: Copy> {
	pub matrix: Matx44<T>,
}

impl<T: Copy + Zero + One> Default for Affine3<T> {
	fn default() -> Self {
		Self { matrix: Matx44::eye() }
	}
}

opencv_type_simple_generic! { Affine3<Copy> }