- if not self._start_drag_pos: return
- self._np.set_pos(self._start_drag_pos[1] + (pos - self._start_drag_pos[0]))
+ if self._start_drag_pos:
+ d_pos = pos - self._start_drag_pos[0]
+ self._np.set_pos(self._start_drag_pos[1] + d_pos)
+ if self._start_rot_info:
+ start_vec = self._start_rot_info[0] - self._start_rot_info[1]
+ curr_vec = pos - self._start_rot_info[1]
+ d_angle = curr_vec.signed_angle_deg(start_vec, (0, -1, 0))
+ self._np.set_r(self._start_rot_info[2] + d_angle)