예제 #1
0
    def serialize(self):
        msg = ser.ImageTransform.RectTransformMeta.new_message()
        msg.init("handles", 12)
        msg.init("dimHandles", 4)
        msg.init("dims", 2)

        for n, i in enumerate(self.dims):
            msg.dims[n] = i

        msg.lockedToDim = self.dims_locked
        msg.originCorner = {
            0: "lowerLeft",
            1: "lowerRight",
            2: "upperLeft",
            3: "upperRight"
        }[self.origin_corner]
        msg.originCenter = serialize_point2f(self.origin_center)

        for n, i in enumerate(self.handles):
            self.__serialize_handle(i, msg.handles[n])

        for n, i in enumerate(self.dim_handles):
            self.__serialize_handle(i, msg.dimHandles[n])

        msg.flipX = self.flip_x
        msg.flipY = self.flip_y

        return msg
예제 #2
0
    def test_point2f(self):
        pt = Point2(54.3, 72.9)
        msg = serialize_point2f(pt)

        pt2 = deserialize_point2f(msg)

        self.assertAlmostEqual(pt2.x, pt.x)
        self.assertAlmostEqual(pt2.y, pt.y)
예제 #3
0
    def serialize(self, project: 'Project') -> ser.ImageTransform.KeypointTransformMeta:
        msg = ser.ImageTransform.KeypointTransformMeta.new_message()
        msg.init("keypoints", len(self.__keypoint_positions))
        for n, i in enumerate(self.__keypoint_positions):
            msg.keypoints[n].kpSid = project.scontext.sid_for(i.key_point)
            msg.keypoints[n].position = serialize_point2f(i.image_pos)

        return msg
예제 #4
0
    def serialize(self):
        msg = ser.ImageTransform.KeypointTransformMeta.new_message()
        msg.init("keypoints", len(self.__keypoint_positions))
        for n, i in enumerate(self.__keypoint_positions):
            msg.keypoints[n].kpSid = self._project.scontext.sid_for(i.key_point)
            msg.keypoints[n].position = serialize_point2f(i.image_pos)

        return msg
예제 #5
0
    def serialize(self):
        msg = ser.ImageTransform.RectTransformMeta.new_message()
        msg.init("handles", 12)
        msg.init("dimHandles", 4)
        msg.init("dims", 2)

        for n, i in enumerate(self.dims):
            msg.dims[n] = i

        msg.lockedToDim = self.dims_locked
        msg.originCorner = {0:"lowerLeft", 1:"lowerRight", 2:"upperLeft", 3:"upperRight"}[self.origin_corner]
        msg.originCenter = serialize_point2f(self.origin_center)

        for n, i in enumerate(self.handles):
            self.__serialize_handle(i, msg.handles[n])

        for n, i in enumerate(self.dim_handles):
            self.__serialize_handle(i, msg.dimHandles[n])

        msg.flipX = self.flip_x
        msg.flipY = self.flip_y

        return msg
예제 #6
0
 def __serialize_handle(m, to):
     if m is None:
         to.none = None
     else:
         to.point = serialize_point2f(m)
예제 #7
0
 def __serialize_handle(m: Optional[Vec2], to: ser.Handle.Builder) -> None:
     if m is None:
         to.none = None
     else:
         to.point = serialize_point2f(m)
예제 #8
0
 def __serialize_handle(m, to):
     if m is None:
         to.none = None
     else:
         to.point = serialize_point2f(m)