The Vector struct represents a threecomponent mathematical vector or point such as a direction or position in threedimensional 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 componentwise. 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 componentwise. More...  
Vector &  operator+= (const Vector &other) 
Add vectors componentwise 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 componentwise. More...  
Vector &  operator= (const Vector &other) 
Subtract vectors componentwise 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 componentwise. 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 3component Vector type. More...  
template<typename Vector4Type >  
const Vector4Type  toVector4 (float w=0.0f) const 
Convert a Leap::Vector to another 4component 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 zaxis: (0, 0, 1) More...  
static const Vector &  down () 
The unit vector pointing down along the negative yaxis: (0, 1, 0) More...  
static const Vector &  forward () 
The unit vector pointing forward along the negative zaxis: (0, 0, 1) More...  
static const Vector &  left () 
The unit vector pointing left along the negative xaxis: (1, 0, 0) More...  
static const Vector &  right () 
The unit vector pointing right along the positive xaxis: (1, 0, 0) More...  
static const Vector &  up () 
The unit vector pointing up along the positive yaxis: (0, 1, 0) More...  
static const Vector &  xAxis () 
The xaxis unit vector: (1, 0, 0) More...  
static const Vector &  yAxis () 
The yaxis unit vector: (0, 1, 0) More...  
static const Vector &  zAxis () 
The zaxis 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 threecomponent mathematical vector or point such as a direction or position in threedimensional space.
The Leap Motion software employs a righthanded Cartesian coordinate system. Values given are in units of realworld millimeters. The origin is centered at the center of the Leap Motion Controller. The x and zaxes lie in the horizontal plane, with the xaxis running parallel to the long edge of the device. The yaxis is vertical, with positive values increasing upwards (in contrast to the downward orientation of most computer graphics coordinate systems). The zaxis 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 zaxis: (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 righthand 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 yaxis: (0, 1, 0)

inlinestatic 
The unit vector pointing forward along the negative zaxis: (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 xaxis: (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 componentwise and assign the sum.

inline 
Subtract vectors componentwise 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 zaxis and the projection of the vector onto the yz plane. In other words, pitch represents rotation around the xaxis. 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 xaxis: (1, 0, 0)

inline 
The roll angle in radians.
Roll is the angle between the yaxis and the projection of the vector onto the xy plane. In other words, roll represents rotation around the zaxis. If the vector points to the left of the yaxis, 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 (xz) 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 3component 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 4component 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 yaxis: (0, 1, 0)

inlinestatic 

inline 
The yaw angle in radians.
Yaw is the angle between the negative zaxis and the projection of the vector onto the xz plane. In other words, yaw represents rotation around the yaxis. If the vector points to the right of the negative zaxis, 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.