def _new(self, center, rotation, intrinsics): cam_new = self.VITAL_LIB['vital_camera_new'] cam_new.argtypes = [ EigenArray.c_ptr_type(3, 1, ctypes.c_double), Rotation.c_ptr_type(ctypes.c_double), CameraIntrinsics.c_ptr_type(), VitalErrorHandle.c_ptr_type() ] cam_new.restype = self.c_ptr_type() # Fill in parameter gaps if center is None: center = EigenArray(3) center[:] = 0 else: center = EigenArray.from_iterable(center) if rotation is None: rotation = Rotation() if intrinsics is None: intrinsics = CameraIntrinsics() with VitalErrorHandle() as eh: return cam_new(center, rotation, intrinsics, eh)
def intrinsics(self): """ :return: a reference to this camera's intrinsics object :rtype: CameraIntrinsics """ cam_int = self.VITAL_LIB['vital_camera_intrinsics'] cam_int.argtypes = [self.c_ptr_type(), VitalErrorHandle.c_ptr_type()] cam_int.restype = CameraIntrinsics.c_ptr_type() with VitalErrorHandle() as eh: c_ptr = cam_int(self, eh) return CameraIntrinsics(from_cptr=c_ptr)
def intrinsics(self): """ :return: a reference to this camera's intrinsics object :rtype: CameraIntrinsics """ cam_int = self.VITAL_LIB['vital_camera_intrinsics'] cam_int.argtypes = [self.c_ptr_type(), VitalErrorHandle.c_ptr_type()] cam_int.restype = CameraIntrinsics.c_ptr_type() with VitalErrorHandle() as eh: c_ptr = cam_int(self, eh) return CameraIntrinsics(from_cptr=c_ptr)
def _new(self, center, rotation, intrinsics): cam_new = self.VITAL_LIB['vital_camera_new'] cam_new.argtypes = [EigenArray.c_ptr_type(3, 1, ctypes.c_double), Rotation.c_ptr_type(ctypes.c_double), CameraIntrinsics.c_ptr_type(), VitalErrorHandle.c_ptr_type()] cam_new.restype = self.c_ptr_type() # Fill in parameter gaps if center is None: center = EigenArray(3) center[:] = 0 else: center = EigenArray.from_iterable(center) if rotation is None: rotation = Rotation() if intrinsics is None: intrinsics = CameraIntrinsics() with VitalErrorHandle() as eh: return cam_new(center, rotation, intrinsics, eh)