def transform_pose(self, pose): pose_rot = quat2rotmat(pose[3:]) pose_trans = xyz2mat(pose[:3]) pose_cam = self.V.dot(pose_trans.T).dot(pose_rot).T return np.concatenate( [mat2xyz(pose_cam), safemat2quat(pose_cam[:3, :3].T)])
def set_position(self, pos): """ Set positions for each part of this InstanceGroup :param pos: New translations """ self.pose_trans = np.ascontiguousarray(xyz2mat(pos))
def set_pose(self, pose, idx): self.instances[idx].pose_rot = np.ascontiguousarray( quat2rotmat(pose[3:])) self.instances[idx].pose_trans = np.ascontiguousarray(xyz2mat( pose[:3]))
def set_position(self, pos): self.pose_trans = np.ascontiguousarray(xyz2mat(pos))