def make_pose_abs(parent: Pose, child: Pose) -> Pose: """ :param parent: e.g. scene object :param child: e.g. action point :return: absolute pose """ p = Pose() p.position = child.position.rotated(parent.orientation) p.position = make_position_abs(parent.position, p.position) p.orientation = make_orientation_abs(parent.orientation, child.orientation) return p
def make_pose_rel(parent: Pose, child: Pose) -> Pose: """ :param parent: e.g. scene object :param child: e.g. action point :return: relative pose """ p = Pose() p.position = make_position_rel(parent.position, child.position).rotated(parent.orientation, True) p.orientation = make_orientation_rel(parent.orientation, child.orientation) return p