@@ -208,6 +208,10 @@ cdef class Matrix3f:
208
208
else :
209
209
return " "
210
210
211
+ @matrix_name.setter
212
+ def matrix_name (self , str name ):
213
+ self .mat.matrix_name.set(name.encode())
214
+
211
215
@property
212
216
def nbElem (self ):
213
217
return self .mat.nbElem
@@ -346,6 +350,10 @@ cdef class Matrix4f:
346
350
else :
347
351
return " "
348
352
353
+ @matrix_name.setter
354
+ def matrix_name (self , str name ):
355
+ self .mat.matrix_name.set(name.encode())
356
+
349
357
@property
350
358
def m (self ):
351
359
nbElem = self .nbElem
@@ -734,10 +742,18 @@ cdef class Resolution:
734
742
def width (self ):
735
743
return self .width
736
744
745
+ @width.setter
746
+ def width (self , value ):
747
+ self .width = value
748
+
737
749
@property
738
750
def height (self ):
739
751
return self .height
740
752
753
+ @height.setter
754
+ def height (self , value ):
755
+ self .height = value
756
+
741
757
def __richcmp__ (Resolution left , Resolution right , int op ):
742
758
if op == 2 :
743
759
return left.width== right.width and left.height== right.height
@@ -753,38 +769,86 @@ cdef class CameraParameters:
753
769
def fx (self ):
754
770
return self .camera_params.fx
755
771
772
+ @fx.setter
773
+ def fx (self , float fx_ ):
774
+ self .camera_params.fx = fx_
775
+
756
776
@property
757
777
def fy (self ):
758
778
return self .camera_params.fy
759
779
780
+ @fy.setter
781
+ def fy (self , float fy_ ):
782
+ self .camera_params.fy = fy_
783
+
760
784
@property
761
785
def cx (self ):
762
786
return self .camera_params.cx
763
787
788
+ @cx.setter
789
+ def cx (self , float cx_ ):
790
+ self .camera_params.cx = cx_
791
+
764
792
@property
765
793
def cy (self ):
766
794
return self .camera_params.cy
767
795
796
+ @cy.setter
797
+ def cy (self , float cy_ ):
798
+ self .camera_params.cy = cy_
799
+
768
800
@property
769
801
def disto (self ):
770
- return self .camera_params.disto
802
+ cdef np.ndarray arr = np.zeros(5 )
803
+ for i in range (5 ):
804
+ arr[i] = self .camera_params.disto[i]
805
+ return arr
806
+
807
+ def set_disto (self , float value1 , float value2 , float value3 , float value4 , float value5 ):
808
+ self .camera_params.disto[0 ] = value1
809
+ self .camera_params.disto[1 ] = value2
810
+ self .camera_params.disto[2 ] = value3
811
+ self .camera_params.disto[3 ] = value4
812
+ self .camera_params.disto[4 ] = value5
771
813
772
814
@property
773
815
def v_fov (self ):
774
816
return self .camera_params.v_fov
775
817
818
+ @v_fov.setter
819
+ def v_fov (self , float v_fov_ ):
820
+ self .camera_params.v_fov = v_fov_
821
+
776
822
@property
777
823
def h_fov (self ):
778
824
return self .camera_params.h_fov
779
825
826
+ @h_fov.setter
827
+ def h_fov (self , float h_fov_ ):
828
+ self .camera_params.h_fov = h_fov_
829
+
780
830
@property
781
831
def d_fov (self ):
782
832
return self .camera_params.d_fov
783
833
834
+ @d_fov.setter
835
+ def d_fov (self , float d_fov_ ):
836
+ self .camera_params.d_fov = d_fov_
837
+
784
838
@property
785
839
def image_size (self ):
786
- return self .camera_params.image_size
840
+ return Resolution(self .camera_params.image_size.width, self .camera_params.image_size.height)
841
+
842
+ @image_size.setter
843
+ def image_size (self , Resolution size_ ):
844
+ self .camera_params.image_size.width = size_.width
845
+ self .camera_params.image_size.height = size_.height
787
846
847
+ def set_up (self , float fx_ , float fy_ , float cx_ , float cy_ ) :
848
+ self .camera_params.fx = fx_
849
+ self .camera_params.fy = fy_
850
+ self .camera_params.cx = cx_
851
+ self .camera_params.cy = cy_
788
852
789
853
cdef class CalibrationParameters:
790
854
cdef c_CalibrationParameters calibration
@@ -810,21 +874,43 @@ cdef class CalibrationParameters:
810
874
arr[i] = self .calibration.R[i]
811
875
return arr
812
876
877
+ def set_R (self , float value1 , float value2 , float value3 ) :
878
+ self .calibration.R[0 ] = value1
879
+ self .calibration.R[1 ] = value2
880
+ self .calibration.R[3 ] = value3
881
+ self .set()
882
+
813
883
@property
814
884
def T (self ):
815
885
cdef np.ndarray arr = np.zeros(3 )
816
886
for i in range (3 ):
817
887
arr[i] = self .calibration.T[i]
818
888
return arr
819
889
890
+ def set_T (self , float value1 , float value2 , float value3 ) :
891
+ self .calibration.T[0 ] = value1
892
+ self .calibration.T[1 ] = value2
893
+ self .calibration.T[2 ] = value3
894
+ self .set()
895
+
820
896
@property
821
897
def left_cam (self ):
822
898
return self .py_left_cam
823
899
900
+ @left_cam.setter
901
+ def left_cam (self , CameraParameters left_cam_ ) :
902
+ self .calibration.left_cam = left_cam_.camera_params
903
+ self .set()
904
+
824
905
@property
825
906
def right_cam (self ):
826
907
return self .py_right_cam
827
908
909
+ @right_cam.setter
910
+ def right_cam (self , CameraParameters right_cam_ ) :
911
+ self .calibration.right_cam = right_cam_.camera_params
912
+ self .set()
913
+
828
914
829
915
cdef class CameraInformation:
830
916
cdef CalibrationParameters py_calib
@@ -850,7 +936,7 @@ cdef class CameraInformation:
850
936
851
937
@property
852
938
def camera_model (self ):
853
- return self .camera_model
939
+ return MODEL( self .camera_model)
854
940
855
941
@property
856
942
def calibration_parameters (self ):
@@ -875,49 +961,47 @@ cdef class CameraInformation:
875
961
876
962
cdef class Mat:
877
963
cdef c_Mat mat
878
- def __cinit__ (self ):
879
- self .mat = c_Mat( )
964
+ def __cinit__ (self , width = 0 , height = 0 , mat_type = MAT_TYPE.MAT_TYPE_32F_C1, memory_type = MEM.MEM_CPU ):
965
+ c_Mat(width, height, < c_MAT_TYPE > (mat_type.value), < c_MEM > (memory_type.value)).move( self .mat )
880
966
881
967
def init_mat_type (self , width , height , mat_type , memory_type = MEM.MEM_CPU):
882
968
if isinstance (mat_type, MAT_TYPE) and isinstance (memory_type, MEM):
883
- self .mat = c_Mat(width, height, mat_type.value, memory_type.value)
969
+ c_Mat(width, height, < c_MAT_TYPE > ( mat_type.value), < c_MEM > ( memory_type.value)).move( self .mat )
884
970
else :
885
971
raise TypeError (" Argument are not of MAT_TYPE or MEM type." )
886
972
887
973
def init_mat_cpu (self , width , height , mat_type , ptr , step , memory_type = MEM.MEM_CPU):
888
974
if isinstance (mat_type, MAT_TYPE) and isinstance (memory_type, MEM):
889
- self .mat = c_Mat(width, height, mat_type.value, ptr.encode(), step, memory_type.value)
975
+ c_Mat(width, height, < c_MAT_TYPE > ( mat_type.value) , ptr.encode(), step, < c_MEM > ( memory_type.value)).move( self .mat )
890
976
else :
891
977
raise TypeError (" Argument are not of MAT_TYPE or MEM type." )
892
978
893
979
def init_mat_cpu_gpu (self , width , height , mat_type , ptr_cpu , step_cpu , ptr_gpu , step_gpu ):
894
980
if isinstance (mat_type, MAT_TYPE):
895
- self .mat = c_Mat(width, height, mat_type.value, ptr_cpu.encode(), step_cpu, ptr_gpu.encode(), step_gpu)
981
+ c_Mat(width, height, mat_type.value, ptr_cpu.encode(), step_cpu, ptr_gpu.encode(), step_gpu).move( self .mat )
896
982
else :
897
983
raise TypeError (" Argument is not of MAT_TYPE type." )
898
984
899
985
def init_mat_resolution (self , Resolution resolution , mat_type , memory_type ):
900
986
if isinstance (mat_type, MAT_TYPE) and isinstance (memory_type, MEM):
901
- self .mat = c_Mat(c_Resolution(resolution.width, resolution.height), mat_type.value, memory_type.value)
987
+ c_Mat(c_Resolution(resolution.width, resolution.height), mat_type.value, memory_type.value).move( self .mat )
902
988
else :
903
989
raise TypeError (" Argument are not of MAT_TYPE or MEM type." )
904
990
905
991
def init_mat_resolution_cpu (self , Resolution resolution , mat_type , ptr , step , memory_type = MEM.MEM_CPU):
906
992
if isinstance (mat_type, MAT_TYPE) and isinstance (memory_type, MEM):
907
- self .mat = c_Mat(c_Resolution(resolution.width, resolution.height), mat_type.value, ptr.encode(),
908
- step, memory_type.value)
993
+ c_Mat(c_Resolution(resolution.width, resolution.height), mat_type.value, ptr.encode(), step, memory_type.value).move(self .mat)
909
994
else :
910
995
raise TypeError (" Argument are not of MAT_TYPE or MEM type." )
911
996
912
997
def init_mat_resolution_cpu_gpu (self , Resolution resolution , mat_type , ptr_cpu , step_cpu , ptr_gpu , step_gpu ):
913
998
if isinstance (mat_type, MAT_TYPE):
914
- self .mat = matResolution(c_Resolution(resolution.width, resolution.height), mat_type.value, ptr_cpu.encode(),
915
- step_cpu, ptr_gpu.encode(), step_gpu)
999
+ matResolution(c_Resolution(resolution.width, resolution.height), mat_type.value, ptr_cpu.encode(), step_cpu, ptr_gpu.encode(), step_gpu).move(self .mat)
916
1000
else :
917
1001
raise TypeError (" Argument is not of MAT_TYPE type." )
918
1002
919
1003
def init_mat (self , Mat matrix ):
920
- self .mat = c_Mat(matrix.mat)
1004
+ c_Mat(matrix.mat).move( self .mat)
921
1005
922
1006
def alloc_size (self , width , height , mat_type , memory_type = MEM.MEM_CPU):
923
1007
if isinstance (mat_type, MAT_TYPE) and isinstance (memory_type, MEM):
@@ -1151,10 +1235,18 @@ cdef class Mat:
1151
1235
else :
1152
1236
return " "
1153
1237
1238
+ @name.setter
1239
+ def name (self , str name_ ):
1240
+ self .mat.name.set(name_.encode())
1241
+
1154
1242
@property
1155
1243
def verbose (self ):
1156
1244
return self .mat.verbose
1157
1245
1246
+ @verbose.setter
1247
+ def verbose (self , bool verbose_ ):
1248
+ self .mat.verbose = verbose_
1249
+
1158
1250
def __repr__ (self ):
1159
1251
return self .get_infos()
1160
1252
@@ -1437,6 +1529,10 @@ cdef class Texture:
1437
1529
else :
1438
1530
return " "
1439
1531
1532
+ @name.setter
1533
+ def name (self , str name_ ):
1534
+ self .texture.name.set(name_.encode())
1535
+
1440
1536
def get_data (self , Mat py_mat ):
1441
1537
py_mat.mat = self .texture.data
1442
1538
return py_mat
@@ -1618,7 +1714,14 @@ cdef class Plane:
1618
1714
1619
1715
@property
1620
1716
def type (self ):
1621
- return self .plane.type
1717
+ return PLANE_TYPE(self .plane.type)
1718
+
1719
+ @type .setter
1720
+ def type (self , type_ ):
1721
+ if isinstance (type_, PLANE_TYPE) :
1722
+ self .plane.type = < c_PLANE_TYPE> (type_.value)
1723
+ else :
1724
+ raise TypeError (" Argument is not of PLANE_TYPE type" )
1622
1725
1623
1726
def get_normal (self ):
1624
1727
normal = self .plane.getNormal()
@@ -2225,7 +2328,7 @@ cdef class Pose:
2225
2328
def timestamp (self , unsigned long long timestamp ):
2226
2329
self .pose.timestamp = timestamp
2227
2330
2228
- def pose_data (self , Transform pose_data ):
2331
+ def pose_data (self , Transform pose_data = Transform() ):
2229
2332
pose_data.transform = self .pose.pose_data
2230
2333
pose_data.mat = self .pose.pose_data
2231
2334
return pose_data
@@ -2312,7 +2415,7 @@ cdef class IMUData:
2312
2415
raise TypeError (" Argument is not of bool type." )
2313
2416
return arr
2314
2417
2315
- def pose_data (self , Transform pose_data ):
2418
+ def pose_data (self , Transform pose_data = Transform() ):
2316
2419
pose_data.transform = self .imuData.pose_data
2317
2420
pose_data.mat = self .imuData.pose_data
2318
2421
return pose_data
0 commit comments