The Vector struct represents a three-component mathematical vector or point such as a direction or position in three-dimensional space. More...
Public Member Functions | |
float | angleTo (const Vector &other) const |
The angle between this vector and the specified vector in radians. More... | |
Vector | cross (const Vector &other) const |
The cross product of this vector and the specified vector. More... | |
float | distanceTo (const Vector &other) const |
The distance between the point represented by this Vector object and a point represented by the specified Vector object. More... | |
float | dot (const Vector &other) const |
The dot product of this vector with another vector. More... | |
bool | isValid () const |
Returns true if all of the vector's components are finite. More... | |
float | magnitude () const |
The magnitude, or length, of this vector. More... | |
float | magnitudeSquared () const |
The square of the magnitude, or length, of this vector. More... | |
Vector | normalized () const |
A normalized copy of this vector. More... | |
bool | operator!= (const Vector &other) const |
Compare Vector inequality component-wise. More... | |
Vector | operator* (float scalar) const |
Multiply vector by a scalar. More... | |
Vector & | operator*= (float scalar) |
Multiply vector by a scalar and assign the product. More... | |
Vector | operator+ (const Vector &other) const |
Add vectors component-wise. More... | |
Vector & | operator+= (const Vector &other) |
Add vectors component-wise and assign the sum. More... | |
Vector | operator- () const |
A copy of this vector pointing in the opposite direction. More... | |
Vector | operator- (const Vector &other) const |
Subtract vectors component-wise. More... | |
Vector & | operator-= (const Vector &other) |
Subtract vectors component-wise and assign the difference. More... | |
Vector | operator/ (float scalar) const |
Divide vector by a scalar. More... | |
Vector & | operator/= (float scalar) |
Divide vector by a scalar and assign the quotient. More... | |
bool | operator== (const Vector &other) const |
Compare Vector equality component-wise. More... | |
float | operator[] (unsigned int index) const |
Index vector components numerically. More... | |
float | pitch () const |
The pitch angle in radians. More... | |
float | roll () const |
The roll angle in radians. More... | |
const float * | toFloatPointer () const |
Cast the vector to a float array. More... | |
std::string | toString () const |
Returns a string containing this vector in a human readable format: (x, y, z). More... | |
template<typename Vector3Type > | |
const Vector3Type | toVector3 () const |
Convert a Leap::Vector to another 3-component Vector type. More... | |
template<typename Vector4Type > | |
const Vector4Type | toVector4 (float w=0.0f) const |
Convert a Leap::Vector to another 4-component Vector type. More... | |
Vector () | |
Creates a new Vector with all components set to zero. More... | |
Vector (float _x, float _y, float _z) | |
Creates a new Vector with the specified component values. More... | |
Vector (const Vector &vector) | |
Copies the specified Vector. More... | |
float | yaw () const |
The yaw angle in radians. More... | |
Static Public Member Functions | |
static const Vector & | backward () |
The unit vector pointing backward along the positive z-axis: (0, 0, 1) More... | |
static const Vector & | down () |
The unit vector pointing down along the negative y-axis: (0, -1, 0) More... | |
static const Vector & | forward () |
The unit vector pointing forward along the negative z-axis: (0, 0, -1) More... | |
static const Vector & | left () |
The unit vector pointing left along the negative x-axis: (-1, 0, 0) More... | |
static const Vector & | right () |
The unit vector pointing right along the positive x-axis: (1, 0, 0) More... | |
static const Vector & | up () |
The unit vector pointing up along the positive y-axis: (0, 1, 0) More... | |
static const Vector & | xAxis () |
The x-axis unit vector: (1, 0, 0) More... | |
static const Vector & | yAxis () |
The y-axis unit vector: (0, 1, 0) More... | |
static const Vector & | zAxis () |
The z-axis unit vector: (0, 0, 1) More... | |
static const Vector & | zero () |
The zero vector: (0, 0, 0) More... | |
Public Attributes | |
float | x |
The horizontal component. More... | |
float | y |
The vertical component. More... | |
float | z |
The depth component. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &out, const Vector &vector) |
Writes the vector to the output stream using a human readable format: (x, y, z). More... | |
The Vector struct represents a three-component mathematical vector or point such as a direction or position in three-dimensional space.
The Leap Motion software employs a right-handed Cartesian coordinate system. Values given are in units of real-world millimeters. The origin is centered at the center of the Leap Motion Controller. The x- and z-axes lie in the horizontal plane, with the x-axis running parallel to the long edge of the device. The y-axis is vertical, with positive values increasing upwards (in contrast to the downward orientation of most computer graphics coordinate systems). The z-axis has positive values increasing away from the computer screen.
|
inline |
|
inline |
The angle between this vector and the specified vector in radians.
The angle is measured in the plane formed by the two vectors. The angle returned is always the smaller of the two conjugate angles. Thus A.angleTo(B) == B.angleTo(A)
and is always a positive value less than or equal to pi radians (180 degrees).
If either vector has zero length, then this function returns zero.
other | A Vector object. |
|
inlinestatic |
The unit vector pointing backward along the positive z-axis: (0, 0, 1)
The cross product of this vector and the specified vector.
The cross product is a vector orthogonal to both original vectors. It has a magnitude equal to the area of a parallelogram having the two vectors as sides. The direction of the returned vector is determined by the right-hand rule. Thus A.cross(B) == -B.cross(A).
other | A Vector object. |
|
inline |
The distance between the point represented by this Vector object and a point represented by the specified Vector object.
other | A Vector object. |
|
inline |
The dot product of this vector with another vector.
The dot product is the magnitude of the projection of this vector onto the specified vector.
other | A Vector object. |
|
inlinestatic |
The unit vector pointing down along the negative y-axis: (0, -1, 0)
|
inlinestatic |
The unit vector pointing forward along the negative z-axis: (0, 0, -1)
|
inline |
Returns true if all of the vector's components are finite.
If any component is NaN or infinite, then this returns false.
|
inlinestatic |
The unit vector pointing left along the negative x-axis: (-1, 0, 0)
|
inline |
The magnitude, or length, of this vector.
The magnitude is the L2 norm, or Euclidean distance between the origin and the point represented by the (x, y, z) components of this Vector object.
|
inline |
The square of the magnitude, or length, of this vector.
|
inline |
|
inline |
|
inline |
|
inline |
Multiply vector by a scalar and assign the product.
Add vectors component-wise and assign the sum.
|
inline |
Subtract vectors component-wise and assign the difference.
|
inline |
|
inline |
Divide vector by a scalar and assign the quotient.
|
inline |
|
inline |
|
inline |
The pitch angle in radians.
Pitch is the angle between the negative z-axis and the projection of the vector onto the y-z plane. In other words, pitch represents rotation around the x-axis. If the vector points upward, the returned angle is between 0 and pi radians (180 degrees); if it points downward, the angle is between 0 and -pi radians.
|
inlinestatic |
The unit vector pointing right along the positive x-axis: (1, 0, 0)
|
inline |
The roll angle in radians.
Roll is the angle between the y-axis and the projection of the vector onto the x-y plane. In other words, roll represents rotation around the z-axis. If the vector points to the left of the y-axis, then the returned angle is between 0 and pi radians (180 degrees); if it points to the right, the angle is between 0 and -pi radians.
Use this function to get roll angle of the plane to which this vector is a normal. For example, if this vector represents the normal to the palm, then this function returns the tilt or roll of the palm plane compared to the horizontal (x-z) plane.
|
inline |
Cast the vector to a float array.
|
inline |
Returns a string containing this vector in a human readable format: (x, y, z).
|
inline |
Convert a Leap::Vector to another 3-component Vector type.
The specified type must define a constructor that takes the x, y, and z components as separate parameters.
|
inline |
Convert a Leap::Vector to another 4-component Vector type.
The specified type must define a constructor that takes the x, y, z, and w components as separate parameters. (The homogeneous coordinate, w, is set to zero by default, but you should typically set it to one for vectors representing a position.)
|
inlinestatic |
The unit vector pointing up along the positive y-axis: (0, 1, 0)
|
inlinestatic |
|
inline |
The yaw angle in radians.
Yaw is the angle between the negative z-axis and the projection of the vector onto the x-z plane. In other words, yaw represents rotation around the y-axis. If the vector points to the right of the negative z-axis, then the returned angle is between 0 and pi radians (180 degrees); if it points to the left, the angle is between 0 and -pi radians.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
friend |
Writes the vector to the output stream using a human readable format: (x, y, z).
float x |
The horizontal component.
float y |
The vertical component.
float z |
The depth component.