def ApparentHeading(X, Y=None): if not isinstance(X, OrientedPoint): raise RuntimeParseError('"apparent heading of X from Y" with X not an OrientedPoint') if Y is None: Y = ego() Y = toVector(Y, '"relative heading of X from Y" with Y not a vector') return apparentHeadingAtPoint(X.position, X.heading, Y)
def ApparentHeading(X, Y=None): """The 'apparent heading of <oriented point> [from <vector>]' operator. If the 'from <vector>' is omitted, the position of ego is used. """ if not isinstance(X, OrientedPoint): raise RuntimeParseError('"apparent heading of X from Y" with X not an OrientedPoint') if Y is None: Y = ego() Y = toVector(Y, '"relative heading of X from Y" with Y not a vector') return apparentHeadingAtPoint(X.position, X.heading, Y)