Tizen Native API
Dali::Vector3 Struct Reference

A three dimensional vector. More...

## Public Member Functions

Vector3 ()
Constructor.
Vector3 (float x, float y, float z)
Constructor.
Vector3 (const float *array)
Conversion constructor from an array of three floats.
Vector3 (const Vector2 &vec2)
Constructor.
Vector3 (const Vector4 &vec4)
Constructor.
Vector3operator= (const float *array)
Assignment operator.
Vector3operator= (const Vector2 &rhs)
Assignment operator.
Vector3operator= (const Vector4 &rhs)
Assignment operator.
Vector3 operator+ (const Vector3 &rhs) const
Vector3operator+= (const Vector3 &rhs)
Vector3 operator- (const Vector3 &rhs) const
Subtraction operator.
Vector3operator-= (const Vector3 &rhs)
Subtraction assignment operator.
Vector3 operator* (const Vector3 &rhs) const
Multiplication operator.
Vector3 operator* (float rhs) const
Multiplication operator.
Vector3operator*= (const Vector3 &rhs)
Multiplication assignment operator.
Vector3operator*= (float rhs)
Multiplication assignment operator.
Vector3operator*= (const Quaternion &rhs)
Multiplication assignment operator.
Vector3 operator/ (const Vector3 &rhs) const
Division operator.
Vector3 operator/ (float rhs) const
Division operator.
Vector3operator/= (const Vector3 &rhs)
Division assignment operator.
Vector3operator/= (float rhs)
Division assignment operator.
Vector3 operator- () const
Unary negation operator.
bool operator== (const Vector3 &rhs) const
Equality operator.
bool operator!= (const Vector3 &rhs) const
Inequality operator.
const float & operator[] (const unsigned int index) const
float & operator[] (const unsigned int index)
float Dot (const Vector3 &other) const
Returns the dot product of this vector and another vector.
Vector3 Cross (const Vector3 &other) const
Returns the cross produce of this vector and another vector.
float Length () const
Returns the length of the vector.
float LengthSquared () const
Returns the length of the vector squared.
void Normalize ()
Sets the vector to be unit length, whilst maintaining its direction.
void Clamp (const Vector3 &min, const Vector3 &max)
Clamps the vector between minimum and maximum vectors.
const float * AsFloat () const
Returns the contents of the vector as an array of 3 floats.
float * AsFloat ()
Returns the contents of the vector as an array of 3 floats.
const Vector2GetVectorXY () const
Returns the x & y components (or width & height, or r & g) as a Vector2.
Vector2GetVectorXY ()
Returns the x & y components (or width & height, or r & g) as a Vector2.
const Vector2GetVectorYZ () const
Returns the y & z components (or height & depth, or g & b) as a Vector2.
Vector2GetVectorYZ ()
Returns the y & z components (or height & depth, or g & b) as a Vector2.

## Static Public Attributes

static const Vector3 ONE
(1.0f,1.0f,1.0f)
static const Vector3 XAXIS
Vector representing the X axis.
static const Vector3 YAXIS
Vector representing the Y axis.
static const Vector3 ZAXIS
Vector representing the Z axis.
static const Vector3 NEGATIVE_XAXIS
Vector representing the negative X axis.
static const Vector3 NEGATIVE_YAXIS
Vector representing the negative Y axis.
static const Vector3 NEGATIVE_ZAXIS
Vector representing the negative Z axis.
static const Vector3 ZERO
(0.0f, 0.0f, 0.0f)

## Detailed Description

A three dimensional vector.

Since :
2.4

## Constructor & Destructor Documentation

 Dali::Vector3::Vector3 ( )

Constructor.

Since :
2.4
 Dali::Vector3::Vector3 ( float x, float y, float z ) ` [explicit]`

Constructor.

Since :
2.4
Parameters:
 [in] x x or width component [in] y y or height component [in] z z or depth component
 Dali::Vector3::Vector3 ( const float * array ) ` [explicit]`

Conversion constructor from an array of three floats.

Since :
2.4
Parameters:
 [in] array Array of xyz
 Dali::Vector3::Vector3 ( const Vector2 & vec2 ) ` [explicit]`

Constructor.

Since :
2.4
Parameters:
 [in] vec2 Vector2 to create this vector from
 Dali::Vector3::Vector3 ( const Vector4 & vec4 ) ` [explicit]`

Constructor.

Since :
2.4
Parameters:
 [in] vec4 Vector4 to create this vector from

## Member Function Documentation

 const float* Dali::Vector3::AsFloat ( ) const

Returns the contents of the vector as an array of 3 floats.

The order of the values in this array are as follows: 0: x (or width, or r) 1: y (or height, or g) 2: z (or depth, or b)

Since :
2.4
Returns:
The vector contents as an array of 3 floats.
Note:
Inlined for performance reasons (generates less code than a function call)
 float* Dali::Vector3::AsFloat ( )

Returns the contents of the vector as an array of 3 floats.

The order of the values in this array are as follows: 0: x (or width, or r) 1: y (or height, or g) 2: z (or depth, or b)

Since :
2.4
Returns:
The vector contents as an array of 3 floats.
Note:
Inlined for performance reasons (generates less code than a function call)
 void Dali::Vector3::Clamp ( const Vector3 & min, const Vector3 & max )

Clamps the vector between minimum and maximum vectors.

Since :
2.4
Parameters:
 [in] min The minimum vector [in] max The maximum vector
 Vector3 Dali::Vector3::Cross ( const Vector3 & other ) const

Returns the cross produce of this vector and another vector.

The cross produce of two vectors is a vector which is perpendicular to the plane of the two vectors. This is great for calculating normals and making matrices orthogonal.

Since :
2.4
Parameters:
 [in] other The other vector
Returns:
The cross product
 float Dali::Vector3::Dot ( const Vector3 & other ) const

Returns the dot product of this vector and another vector.

The dot product is the length of one vector in the direction of another vector. This is great for lighting, threshold testing the angle between two unit vectors, calculating the distance between two points in a particular direction.

Since :
2.4
Parameters:
 [in] other The other vector
Returns:
The dot product
 const Vector2& Dali::Vector3::GetVectorXY ( ) const

Returns the x & y components (or width & height, or r & g) as a Vector2.

Since :
2.4
Returns:
The partial vector contents as Vector2 (x,y)
Note:
Inlined for performance reasons (generates less code than a function call)
 Vector2& Dali::Vector3::GetVectorXY ( )

Returns the x & y components (or width & height, or r & g) as a Vector2.

Since :
2.4
Returns:
The partial vector contents as Vector2 (x,y)
Note:
Inlined for performance reasons (generates less code than a function call)
 const Vector2& Dali::Vector3::GetVectorYZ ( ) const

Returns the y & z components (or height & depth, or g & b) as a Vector2.

Since :
2.4
Returns:
The partial vector contents as Vector2 (y,z)
Note:
Inlined for performance reasons (generates less code than a function call)
 Vector2& Dali::Vector3::GetVectorYZ ( )

Returns the y & z components (or height & depth, or g & b) as a Vector2.

Since :
2.4
Returns:
The partial vector contents as Vector2 (y,z)
Note:
Inlined for performance reasons (generates less code than a function call)
 float Dali::Vector3::Length ( ) const

Returns the length of the vector.

Since :
2.4
Returns:
The length of the vector
 float Dali::Vector3::LengthSquared ( ) const

Returns the length of the vector squared.

This is more efficient than Length() for threshold testing as it avoids the use of a square root.

Since :
2.4
Returns:
The length of the vector squared.
 void Dali::Vector3::Normalize ( )

Sets the vector to be unit length, whilst maintaining its direction.

Since :
2.4
 bool Dali::Vector3::operator!= ( const Vector3 & rhs ) const

Inequality operator.

utilises appropriate machine epsilon values;

Since :
2.4
Parameters:
 [in] rhs The vector to test against
Returns:
True if the vectors are not equal
 Vector3 Dali::Vector3::operator* ( const Vector3 & rhs ) const

Multiplication operator.

Since :
2.4
Parameters:
 [in] rhs The vector to multiply
Returns:
A vector containing the result of the multiplication
 Vector3 Dali::Vector3::operator* ( float rhs ) const

Multiplication operator.

Since :
2.4
Parameters:
 [in] rhs The float value to scale the vector
Returns:
A vector containing the result of the scaling
 Vector3& Dali::Vector3::operator*= ( const Vector3 & rhs )

Multiplication assignment operator.

Since :
2.4
Parameters:
 [in] rhs The vector to multiply
Returns:
Itself
 Vector3& Dali::Vector3::operator*= ( float rhs )

Multiplication assignment operator.

Since :
2.4
Parameters:
 [in] rhs The float value to scale the vector
Returns:
Itself
 Vector3& Dali::Vector3::operator*= ( const Quaternion & rhs )

Multiplication assignment operator.

Since :
2.4
Parameters:
 [in] rhs The Quaternion value to multiply the vector by
Returns:
Itself
 Vector3 Dali::Vector3::operator+ ( const Vector3 & rhs ) const

Since :
2.4
Parameters:
Returns:
A vector containing the result of the addition
 Vector3& Dali::Vector3::operator+= ( const Vector3 & rhs )

Since :
2.4
Parameters:
Returns:
Itself
 Vector3 Dali::Vector3::operator- ( const Vector3 & rhs ) const

Subtraction operator.

Since :
2.4
Parameters:
 [in] rhs The vector to subtract
Returns:
A vector containing the result of the subtraction
 Vector3 Dali::Vector3::operator- ( ) const

Unary negation operator.

Since :
2.4
Returns:
A vector containg the negation
 Vector3& Dali::Vector3::operator-= ( const Vector3 & rhs )

Subtraction assignment operator.

Since :
2.4
Parameters:
 [in] rhs The vector to subtract
Returns:
Itself
 Vector3 Dali::Vector3::operator/ ( const Vector3 & rhs ) const

Division operator.

Since :
2.4
Parameters:
 [in] rhs The vector to divide
Returns:
A vector containing the result of the division
 Vector3 Dali::Vector3::operator/ ( float rhs ) const

Division operator.

Since :
2.4
Parameters:
 [in] rhs The float value to scale the vector by
Returns:
A vector containing the result of the scaling
 Vector3& Dali::Vector3::operator/= ( const Vector3 & rhs )

Division assignment operator.

Since :
2.4
Parameters:
 [in] rhs The vector to divide
Returns:
Itself
 Vector3& Dali::Vector3::operator/= ( float rhs )

Division assignment operator.

Since :
2.4
Parameters:
 [in] rhs The float value to scale the vector by
Returns:
Itself
 Vector3& Dali::Vector3::operator= ( const float * array )

Assignment operator.

Since :
2.4
Parameters:
 [in] array Array of floats
Returns:
Itself
 Vector3& Dali::Vector3::operator= ( const Vector2 & rhs )

Assignment operator.

Since :
2.4
Parameters:
 [in] rhs Vector to assign.
Returns:
Itself
 Vector3& Dali::Vector3::operator= ( const Vector4 & rhs )

Assignment operator.

Since :
2.4
Parameters:
 [in] rhs Vector to assign.
Returns:
Itself
 bool Dali::Vector3::operator== ( const Vector3 & rhs ) const

Equality operator.

utilises appropriate machine epsilon values;

Since :
2.4
Parameters:
 [in] rhs The vector to test against
Returns:
True if the vectors are equal
 const float& Dali::Vector3::operator[] ( const unsigned int index ) const

Asserts if index is out of range. Should be 0, 1 or 2

Since :
2.4
Parameters:
 [in] index Subscript index
Returns:
The float at the given index.
 float& Dali::Vector3::operator[] ( const unsigned int index )