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.
LPoint3d(void) = default¶
LPoint3d(double x, double y, double z)¶
LPoint2d get_xy(void) const¶
Returns a 2-component vector that shares just the first two components of this vector.
LPoint2d get_xz(void) const¶
Returns a 2-component vector that shares just the first and last components of this vector.
LPoint2d get_yz(void) const¶
Returns a 2-component vector that shares just the last two components of this vector.
LPoint3d 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.
LPoint3d 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.
LPoint3d project(LVecBase3d 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.
LPoint3d rfu(double right, double fwd, double 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.
- LPoint3d(void) = default¶