11//! Stream profiles and related operations
22use super :: { OBError , call_ob_function, drop_ob_object, impl_ob_method, orb} ;
3- use crate :: sys:: orb:: OBFormat ;
4-
5- /// Camera intrinsic parameters
6- pub struct OBCameraIntrinsic {
7- inner : orb:: OBCameraIntrinsic ,
8- }
9-
10- impl OBCameraIntrinsic {
11- /// Focal length in pixels along X axis
12- pub fn fx ( & self ) -> f32 {
13- self . inner . fx
14- }
15-
16- /// Focal length in pixels along Y axis
17- pub fn fy ( & self ) -> f32 {
18- self . inner . fy
19- }
20-
21- /// Optical center abscissa
22- pub fn cx ( & self ) -> f32 {
23- self . inner . cx
24- }
25-
26- /// Optical center ordinate
27- pub fn cy ( & self ) -> f32 {
28- self . inner . cy
29- }
30-
31- /// Image width in pixels
32- pub fn width ( & self ) -> i16 {
33- self . inner . width
34- }
35-
36- /// Image height in pixels
37- pub fn height ( & self ) -> i16 {
38- self . inner . height
39- }
40- }
41-
42- impl From < orb:: OBCameraIntrinsic > for OBCameraIntrinsic {
43- fn from ( intrinsic : orb:: OBCameraIntrinsic ) -> Self {
44- OBCameraIntrinsic { inner : intrinsic }
45- }
46- }
3+ use crate :: sys:: orb:: { OBCameraIntrinsic , OBFormat } ;
474
485/// Stream profile
496pub struct OBStreamProfile {
@@ -61,11 +18,11 @@ impl OBStreamProfile {
6118 self . inner
6219 }
6320
64- /// Get video stream profile intrinsic
65- pub fn get_video_intrinsic ( & self ) -> Result < OBCameraIntrinsic , OBError > {
66- let intrinsics = call_ob_function ! ( orb :: ob_video_stream_profile_get_intrinsic , self . inner ) ? ;
67- Ok ( OBCameraIntrinsic :: from ( intrinsics ) )
68- }
21+ impl_ob_method ! (
22+ /// Get video stream profile intrinsic
23+ get_video_intrinsic => OBCameraIntrinsic ,
24+ orb :: ob_video_stream_profile_get_intrinsic ,
25+ ) ;
6926
7027 impl_ob_method ! (
7128 /// Get stream profile format
0 commit comments