getrelativepoint vs. getrelativevector

Is there any difference in these functions math wise (other than the return type?)

The docs don’t seem to clarify:

getRelativePoint
LPoint3f NodePath::get_relative_point(NodePath const &other, LVecBase3f const &point) const;

Description: Given that the indicated point is in the coordinate system of the other node, returns the same point in this node's coordinate system.

getRelativeVector
LVector3f NodePath::get_relative_vector(NodePath const &other, LVecBase3f const &vec) const;

Description: Given that the indicated vector is in the coordinate system of the other node, returns the same vector in this node's coordinate system.

Any help appreciated!

There is a semantic difference between a “point” and a “vector”. A point represents a specific location in space, but does not include a sense of direction. A vector represents a specific direction, but does not include a sense of location.

This semantic difference is implicit throughout Panda, even in the use of two different classes: Point3() and Vec3(). For instance, Point3() + Vec3() -> Point3(), and Point3() - Point3() -> Vec3().

So, getRelativePoint() converts a relative location, while getRelativeVector() converts a relative direction.

David