LVector3d¶
-
class
LVector3d
¶ Bases:
LVecBase3d
This is a three-component vector distance (as opposed to a three-component point, which represents a particular point in space). Some of the methods are slightly different between
LPoint3
andLVector3
; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.Inheritance diagram
-
LVector3d
(void) = default¶
-
LVector3d
(LVecBase3d const ©)¶
-
LVector3d
(double fill_value)¶
-
LVector3d
(double x, double y, double z)¶
-
LVector3d
(LVecBase2d const ©, double z)¶
-
double
angle_deg
(LVector3d const &other) const¶ Returns the angle between this vector and the other one, expressed in degrees. Both vectors should be initially normalized.
-
double
angle_rad
(LVector3d const &other) const¶ Returns the unsigned angle between this vector and the other one, expressed in radians. Both vectors should be initially normalized.
-
LVector3d
back
(CoordinateSystem cs = ::CS_default)¶ Returns the back vector for the given coordinate system.
-
LVector3d
cross
(LVecBase3d const &other) const¶
-
LVector3d
down
(CoordinateSystem cs = ::CS_default)¶ Returns the down vector for the given coordinate system.
-
LVector3d
forward
(CoordinateSystem cs = ::CS_default)¶ Returns the forward vector for the given coordinate system.
-
static TypeHandle
get_class_type
(void)¶
-
LVector2d
get_xy
(void) const¶ Returns a 2-component vector that shares just the first two components of this vector.
-
LVector2d
get_xz
(void) const¶ Returns a 2-component vector that shares just the first and last components of this vector.
-
LVector2d
get_yz
(void) const¶ Returns a 2-component vector that shares just the last two components of this vector.
-
LVector3d
left
(CoordinateSystem cs = ::CS_default)¶ Returns the left vector for the given coordinate system.
-
LVector3d
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.
-
LVector3d
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.
-
LVector3d
rfu
(double right, double fwd, double up, CoordinateSystem cs = ::CS_default)¶ INLINE_LINMATH static FLOATNAME(LVector3) & rfu(FLOATTYPE right,
Returns a vector that is described by its right, forward, and up components, in whatever way the coordinate system represents that vector.
-
LVector3d
right
(CoordinateSystem cs = ::CS_default)¶ Returns the right vector for the given coordinate system.
-
double
signed_angle_deg
(LVector3d const &other, LVector3d const &ref) const¶ Returns the signed angle between two vectors. The angle is positive if the rotation from this vector to other is clockwise when looking in the direction of the ref vector.
Vectors (except the ref vector) should be initially normalized.
-
double
signed_angle_rad
(LVector3d const &other, LVector3d const &ref) const¶ returns the signed angle between two vectors. The angle is positive if the rotation from this vector to other is clockwise when looking in the direction of the ref vector.
Vectors (except the ref vector) should be initially normalized.
-