This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). Some of the methods are slightly different between
LVector3; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.
LPoint3f(void) = default¶
LPoint3f(float x, float y, float z)¶
LPoint2f get_xy(void) const¶
Returns a 2-component vector that shares just the first two components of this vector.
LPoint2f get_xz(void) const¶
Returns a 2-component vector that shares just the first and last components of this vector.
LPoint2f get_yz(void) const¶
Returns a 2-component vector that shares just the last two components of this vector.
LPoint3f normalized(void) const¶
Normalizes the vector and returns the normalized vector as a copy. If the vector was a zero-length vector, a zero length vector will be returned.
LPoint3f const &origin(CoordinateSystem cs = ::CS_default)¶
Returns the origin of the indicated coordinate system. This is always 0, 0, 0 with all of our existing coordinate systems; it’s hard to imagine it ever being different.
LPoint3f project(LVecBase3f const &onto) const¶
Returns a new vector representing the projection of this vector onto another one. The resulting vector will be a scalar multiple of onto.
LPoint3f rfu(float right, float fwd, float up, CoordinateSystem cs = ::CS_default)¶
Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.
- LPoint3f(void) = default¶