Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
    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)