|
Tizen(Headed) Native API
6.5
|
Classes for basic math.
Classes | |
| struct | Dali::AngleAxis |
| An angle & axis pair. More... | |
| struct | Dali::Power< mantissa, exponent > |
| Compiles time template to calculate base to the power of N. More... | |
| struct | Dali::Power< mantissa, 1 > |
| Compiles time template to calculate base to the power of N. More... | |
| struct | Dali::Power< mantissa, 0 > |
| Compiles time template to calculate base to the power of N. More... | |
| struct | Dali::Log< number, base > |
| Compiles time template to calculate base logarithm of N. More... | |
| struct | Dali::Log< 1, base > |
| Compiles time template to calculate base logarithm of N. More... | |
| struct | Dali::Log< 0, base > |
| Compiles time template to calculate base logarithm of N. More... | |
| struct | Dali::Epsilon< N > |
| Compiles time template to calculate the machine epsilon for a given floating point number. More... | |
| struct | Dali::Epsilon< 1 > |
| Compiles time template to calculate the machine epsilon for a given floating point number. More... | |
| struct | Dali::Epsilon< 0 > |
| Compiles time template to calculate the machine epsilon for a given floating point number. More... | |
| struct | Dali::Degree |
| An angle in degrees. More... | |
| class | Dali::Matrix |
| The Matrix class represents transformations and projections. More... | |
| class | Dali::Matrix3 |
| A 3x3 matrix. More... | |
| class | Dali::Quaternion |
| The Quaternion class encapsulates the mathematics of the quaternion. More... | |
| struct | Dali::Radian |
| An angle in radians. More... | |
| struct | Dali::Rect< T > |
| Template class to create and operate on rectangles. More... | |
| class | Dali::Uint16Pair |
| Simple class for passing around pairs of small unsigned integers. More... | |
| struct | Dali::Vector2 |
| A two dimensional vector. More... | |
| struct | Dali::Vector3 |
| A three dimensional vector. More... | |
| struct | Dali::Vector4 |
| A four dimensional vector. More... | |
Functions | |
| bool | Dali::operator== (const Dali::AngleAxis &lhs, const Dali::AngleAxis &rhs) |
| Compares two angle axis for equality. | |
| std::ostream & | Dali::operator<< (std::ostream &o, const Dali::AngleAxis &angleAxis) |
| Prints an angle axis. | |
| bool | Dali::operator== (const Degree &lhs, const Degree &rhs) |
| Compares equality between two degrees. | |
| bool | Dali::operator!= (const Degree &lhs, const Degree &rhs) |
| Compares inequality between two degrees. | |
| Degree | Dali::Clamp (Degree angle, float min, float max) |
| Clamps a radian value. | |
| uint32_t | Dali::NextPowerOfTwo (uint32_t i) |
| Returns the next power of two. | |
| bool | Dali::IsPowerOfTwo (uint32_t i) |
| Whether a number is power of two. | |
| template<typename T > | |
| const T & | Dali::Clamp (const T &value, const T &min, const T &max) |
| Clamp a value. | |
| template<typename T > | |
| void | Dali::ClampInPlace (T &value, const T &min, const T &max) |
| Clamp a value directly. | |
| template<typename T > | |
| const T | Dali::Lerp (const float offset, const T &low, const T &high) |
| Linear interpolation between two values. | |
| float | Dali::GetRangedEpsilon (float a, float b) |
| Get an epsilon that is valid for the given range. | |
| bool | Dali::EqualsZero (float value) |
| Helper function to compare equality of a floating point value with zero. | |
| bool | Dali::Equals (float a, float b) |
| Helper function to compare equality of two floating point values. | |
| bool | Dali::Equals (float a, float b, float epsilon) |
| Helper function to compare equality of two floating point values. | |
| float | Dali::Round (float value, int32_t pos) |
| Get an float that is rounded at specified place of decimals. | |
| float | Dali::WrapInDomain (float x, float start, float end) |
| Wrap x in domain (start) to (end). | |
| float | Dali::ShortestDistanceInDomain (float a, float b, float start, float end) |
| Find the shortest distance (magnitude) and direction (sign) from (a) to (b) in domain (start) to (end). | |
| template<typename T > | |
| int32_t | Dali::Sign (T value) |
| Extracts the sign of a number. | |
| DALI_CORE_API std::ostream & | Dali::operator<< (std::ostream &o, const Matrix &matrix) |
| Prints a matrix. | |
| DALI_CORE_API std::ostream & | Dali::operator<< (std::ostream &o, const Matrix3 &matrix) |
| Prints a 3x3 matrix. | |
| DALI_CORE_API std::ostream & | Dali::operator<< (std::ostream &o, const Quaternion &quaternion) |
| Prints a Quaternion. | |
| bool | Dali::operator== (Radian lhs, Radian rhs) |
| Compares equality between two radians. | |
| bool | Dali::operator!= (Radian lhs, Radian rhs) |
| Compares inequality between two radians. | |
| bool | Dali::operator== (Radian lhs, Degree rhs) |
| Compares equality between a radian and degree. | |
| bool | Dali::operator!= (Radian lhs, Degree rhs) |
| Compares inequality between a radian and a degree. | |
| bool | Dali::operator== (Degree lhs, Radian rhs) |
| Compares equality between a degree and a radian. | |
| bool | Dali::operator!= (Degree lhs, Radian rhs) |
| Compares inequality between a degree and a radian. | |
| bool | Dali::operator> (Radian lhs, Radian rhs) |
| Compares greater than between two radians. | |
| bool | Dali::operator> (Radian lhs, Degree rhs) |
| Compares greater than between a radian and a degree. | |
| bool | Dali::operator> (Degree lhs, Radian rhs) |
| Compares greater than between a radian and a degree. | |
| bool | Dali::operator< (Radian lhs, Radian rhs) |
| Compares less than between two radians. | |
| bool | Dali::operator< (Radian lhs, Degree rhs) |
| Compares less than between a radian and a degree. | |
| bool | Dali::operator< (Degree lhs, Radian rhs) |
| Compares less than between a degree and a radian. | |
| Radian | Dali::operator* (Radian lhs, float rhs) |
| Multiplies Radian with a float. | |
| Radian | Dali::operator- (Radian in) |
| Negates the radian. | |
| Radian | Dali::Clamp (Radian angle, float min, float max) |
| Clamps a radian value. | |
| template<typename T > | |
| bool | Dali::operator== (const Rect< T > &lhs, const Rect< T > &rhs) |
| Equality operator. | |
| template<typename T > | |
| bool | Dali::operator!= (const Rect< T > &lhs, const Rect< T > &rhs) |
| Inequality operator. | |
| template<> | |
| bool | Dali::operator== (const Rect< float > &lhs, const Rect< float > &rhs) |
| Equality operator specialization for float. | |
| template<typename T > | |
| std::ostream & | Dali::operator<< (std::ostream &stream, const Rect< T > &rectangle) |
| Converts the value of the rectangle into a string and insert in to an output stream. | |
| DALI_CORE_API std::ostream & | Dali::operator<< (std::ostream &o, const Vector2 &vector) |
| Print a Vector2. | |
| Vector2 | Dali::Min (const Vector2 &a, const Vector2 &b) |
| Returns a vector with components set to the minimum of the corresponding component in a and b. | |
| Vector2 | Dali::Max (const Vector2 &a, const Vector2 &b) |
| Returns a vector with components set to the maximum of the corresponding component in a and b. | |
| DALI_CORE_API Vector2 | Dali::Clamp (const Vector2 &v, const float &min, const float &max) |
| Clamps each of vector v's components between minimum and maximum values. | |
| DALI_CORE_API std::ostream & | Dali::operator<< (std::ostream &o, const Vector3 &vector) |
| Prints a Vector3. | |
| Vector3 | Dali::Min (const Vector3 &a, const Vector3 &b) |
| Returns a vector with components set to the minimum of the corresponding component in a and b. | |
| Vector3 | Dali::Max (const Vector3 &a, const Vector3 &b) |
| Returns a vector with components set to the maximum of the corresponding component in a and b. | |
| DALI_CORE_API Vector3 | Dali::Clamp (const Vector3 &v, const float &min, const float &max) |
| Clamps each of vector v's components between minimum and maximum values. | |
| DALI_CORE_API std::ostream & | Dali::operator<< (std::ostream &o, const Vector4 &vector) |
| Print a Vector4. | |
| Vector4 | Dali::Min (const Vector4 &a, const Vector4 &b) |
| Returns a vector with components set to the minimum of the corresponding component in a and b. | |
| Vector4 | Dali::Max (const Vector4 &a, const Vector4 &b) |
| Returns a vector with components set to the maximum of the corresponding component in a and b. | |
| DALI_CORE_API Vector4 | Dali::Clamp (const Vector4 &v, const float &min, const float &max) |
| Clamps each of vector v's components between minimum and maximum values. | |
Namespaces | |
| namespace | Dali::Random |
Provides methods to generate and use random values. | |
Typedefs | |
| typedef Vector2 | Dali::Size |
| Size is an alias of Dali::Vector2. | |
| typedef Rect< int32_t > | Dali::Viewport |
| Typedef for a viewport ( a rectangle representing a screen area ). | |
Typedef Documentation
| typedef Vector2 Dali::Size |
Size is an alias of Dali::Vector2.
- Since:
- 2.4, DALi version 1.0.0
| typedef Rect<int32_t> Dali::Viewport |
Typedef for a viewport ( a rectangle representing a screen area ).
- Since:
- 2.4, DALi version 1.0.0
Function Documentation
| const T& Dali::Clamp | ( | const T & | value, |
| const T & | min, | ||
| const T & | max | ||
| ) |
Clamp a value.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] value The value to clamp. [in] min The minimum allowed value. [in] max The maximum allowed value.
- Returns:
- T the clamped value
| Degree Dali::Clamp | ( | Degree | angle, |
| float | min, | ||
| float | max | ||
| ) |
Clamps a radian value.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
angle to clamp min value max value
- Returns:
- The resulting radian
| Radian Dali::Clamp | ( | Radian | angle, |
| float | min, | ||
| float | max | ||
| ) |
Clamps a radian value.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
angle to clamp min value max value
- Returns:
- The resulting radian
| DALI_CORE_API Vector2 Dali::Clamp | ( | const Vector2 & | v, |
| const float & | min, | ||
| const float & | max | ||
| ) |
Clamps each of vector v's components between minimum and maximum values.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] v A vector [in] min The minimum value [in] max The maximum value
- Returns:
- A vector containing the clamped components of v
| DALI_CORE_API Vector3 Dali::Clamp | ( | const Vector3 & | v, |
| const float & | min, | ||
| const float & | max | ||
| ) |
Clamps each of vector v's components between minimum and maximum values.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] v A vector [in] min The minimum value [in] max The maximum value
- Returns:
- A vector containing the clamped components of v
| DALI_CORE_API Vector4 Dali::Clamp | ( | const Vector4 & | v, |
| const float & | min, | ||
| const float & | max | ||
| ) |
Clamps each of vector v's components between minimum and maximum values.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] v A vector [in] min The minimum value [in] max The maximum value
- Returns:
- A vector containing the clamped components of v
| void Dali::ClampInPlace | ( | T & | value, |
| const T & | min, | ||
| const T & | max | ||
| ) |
Clamp a value directly.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in,out] value The value that will be clamped. [in] min The minimum allowed value. [in] max The maximum allowed value.
| bool Dali::Equals | ( | float | a, |
| float | b | ||
| ) |
Helper function to compare equality of two floating point values.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a the first value to compare [in] b the second value to compare
- Returns:
- true if the values are equal within a minimal epsilon for their values
| bool Dali::Equals | ( | float | a, |
| float | b, | ||
| float | epsilon | ||
| ) |
Helper function to compare equality of two floating point values.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a the first value to compare [in] b the second value to compare [in] epsilon the minimum epsilon value that will be used to consider the values different
- Returns:
- true if the difference between the values is less than the epsilon
| bool Dali::EqualsZero | ( | float | value | ) |
Helper function to compare equality of a floating point value with zero.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] value the value to compare
- Returns:
- true if the value is equal to zero
| float Dali::GetRangedEpsilon | ( | float | a, |
| float | b | ||
| ) |
Get an epsilon that is valid for the given range.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a the first value in the range [in] b the second value in the range.
- Returns:
- a suitable epsilon
| bool Dali::IsPowerOfTwo | ( | uint32_t | i | ) |
Whether a number is power of two.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] i Input number
- Returns:
- True if i is power of two.
| const T Dali::Lerp | ( | const float | offset, |
| const T & | low, | ||
| const T & | high | ||
| ) |
Linear interpolation between two values.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] offset The offset through the range lowtohigh. This value is clamped between 0 and 1.[in] low Lowest value in range [in] high Highest value in range
- Returns:
- A value between low and high.
| Vector2 Dali::Max | ( | const Vector2 & | a, |
| const Vector2 & | b | ||
| ) |
Returns a vector with components set to the maximum of the corresponding component in a and b.
If a=0,1 and b=1,0 returns a vector of 1,1.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a A vector [in] b A vector
- Returns:
- A vector containing the maximum of each component from a and b
| Vector3 Dali::Max | ( | const Vector3 & | a, |
| const Vector3 & | b | ||
| ) |
Returns a vector with components set to the maximum of the corresponding component in a and b.
If a=0,1 and b=1,0 returns a vector of 1,1.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a A vector [in] b A vector
- Returns:
- A vector containing the maximum of each component from a and b
| Vector4 Dali::Max | ( | const Vector4 & | a, |
| const Vector4 & | b | ||
| ) |
Returns a vector with components set to the maximum of the corresponding component in a and b.
If a=0,1,2,3 and b=4,0,1,2 returns a vector of 4,1,2,3.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a A vector [in] b A vector
- Returns:
- A vector containing the maximum of each component from a and b
| Vector2 Dali::Min | ( | const Vector2 & | a, |
| const Vector2 & | b | ||
| ) |
Returns a vector with components set to the minimum of the corresponding component in a and b.
If a=0,1 and b=1,0 returns a vector of 0,0.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a A vector [in] b A vector
- Returns:
- A vector containing the minimum of each component from a and b
| Vector3 Dali::Min | ( | const Vector3 & | a, |
| const Vector3 & | b | ||
| ) |
Returns a vector with components set to the minimum of the corresponding component in a and b.
If a=0,1,2 and b=2,1,0 returns a vector of 2,1,2.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a A vector [in] b A vector
- Returns:
- A vector containing the minimum of each component from a and b
| Vector4 Dali::Min | ( | const Vector4 & | a, |
| const Vector4 & | b | ||
| ) |
Returns a vector with components set to the minimum of the corresponding component in a and b.
If a=0,1,2,3 and b=4,0,1,2 returns a vector of 0,0,1,2.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] a A vector [in] b A vector
- Returns:
- A vector containing the minimum of each component from a and b
| uint32_t Dali::NextPowerOfTwo | ( | uint32_t | i | ) |
Returns the next power of two.
In case of numbers which are already a power of two this function returns the original number. If i is zero returns 1.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] i Input number
- Returns:
- The next power of two or i itself in case it's a power of two
| bool Dali::operator!= | ( | const Degree & | lhs, |
| const Degree & | rhs | ||
| ) |
| bool Dali::operator!= | ( | Radian | lhs, |
| Radian | rhs | ||
| ) |
| bool Dali::operator!= | ( | Radian | lhs, |
| Degree | rhs | ||
| ) |
| bool Dali::operator!= | ( | Degree | lhs, |
| Radian | rhs | ||
| ) |
| bool Dali::operator!= | ( | const Rect< T > & | lhs, |
| const Rect< T > & | rhs | ||
| ) |
Inequality operator.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] lhs The first rectangle [in] rhs The second rectangle
- Returns:
- True if rectangles are not identical
| Radian Dali::operator* | ( | Radian | lhs, |
| float | rhs | ||
| ) |
| Radian Dali::operator- | ( | Radian | in | ) |
Negates the radian.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] in Radian to negate
- Returns:
- The negative angle
| bool Dali::operator< | ( | Radian | lhs, |
| Radian | rhs | ||
| ) |
| bool Dali::operator< | ( | Radian | lhs, |
| Degree | rhs | ||
| ) |
| bool Dali::operator< | ( | Degree | lhs, |
| Radian | rhs | ||
| ) |
| std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Dali::AngleAxis & | angleAxis | ||
| ) |
Prints an angle axis.
- Since:
- 3.0, DALi version 1.1.33
- Parameters:
-
[in] o The output stream operator [in] angleAxis The angle axis to print
- Returns:
- The output stream operator
| DALI_CORE_API std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Matrix3 & | matrix | ||
| ) |
Prints a 3x3 matrix.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] o The output stream operator [in] matrix The matrix to print
- Returns:
- The output stream operator
| std::ostream& Dali::operator<< | ( | std::ostream & | stream, |
| const Rect< T > & | rectangle | ||
| ) |
Converts the value of the rectangle into a string and insert in to an output stream.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] stream The output stream operator [in] rectangle the rectangle to output
- Returns:
- The output stream operator
| DALI_CORE_API std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Matrix & | matrix | ||
| ) |
Prints a matrix.
It is printed in memory order.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] o The output stream operator [in] matrix The matrix to print
- Returns:
- The output stream operator
| DALI_CORE_API std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Vector2 & | vector | ||
| ) |
Print a Vector2.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] o The output stream operator [in] vector The vector to print
- Returns:
- The output stream operator
| DALI_CORE_API std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Quaternion & | quaternion | ||
| ) |
Prints a Quaternion.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] o The output stream operator [in] quaternion The quaternion to print
- Returns:
- The output stream operator
| DALI_CORE_API std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Vector3 & | vector | ||
| ) |
Prints a Vector3.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] o The output stream operator [in] vector The vector to print
- Returns:
- The output stream operator
| DALI_CORE_API std::ostream& Dali::operator<< | ( | std::ostream & | o, |
| const Vector4 & | vector | ||
| ) |
Print a Vector4.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] o The output stream operator [in] vector The vector to print
- Returns:
- The output stream operator
| bool Dali::operator== | ( | const Dali::AngleAxis & | lhs, |
| const Dali::AngleAxis & | rhs | ||
| ) |
Compares two angle axis for equality.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
lhs angle axis rhs angle axis
- Returns:
- True if they are equal
| bool Dali::operator== | ( | const Degree & | lhs, |
| const Degree & | rhs | ||
| ) |
| bool Dali::operator== | ( | Radian | lhs, |
| Radian | rhs | ||
| ) |
| bool Dali::operator== | ( | Radian | lhs, |
| Degree | rhs | ||
| ) |
| bool Dali::operator== | ( | Degree | lhs, |
| Radian | rhs | ||
| ) |
| bool Dali::operator== | ( | const Rect< T > & | lhs, |
| const Rect< T > & | rhs | ||
| ) |
Equality operator.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] lhs First operand [in] rhs Second operand
- Returns:
- True if boxes are exactly same
| bool Dali::operator== | ( | const Rect< float > & | lhs, |
| const Rect< float > & | rhs | ||
| ) |
Equality operator specialization for float.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] lhs The first rectangle [in] rhs The second rectangle
- Returns:
- True if rectangles are exactly same
| bool Dali::operator> | ( | Radian | lhs, |
| Radian | rhs | ||
| ) |
| bool Dali::operator> | ( | Radian | lhs, |
| Degree | rhs | ||
| ) |
| bool Dali::operator> | ( | Degree | lhs, |
| Radian | rhs | ||
| ) |
| float Dali::Round | ( | float | value, |
| int32_t | pos | ||
| ) |
Get an float that is rounded at specified place of decimals.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] value float value [in] pos decimal place
- Returns:
- a rounded float
| float Dali::ShortestDistanceInDomain | ( | float | a, |
| float | b, | ||
| float | start, | ||
| float | end | ||
| ) |
Find the shortest distance (magnitude) and direction (sign) from (a) to (b) in domain (start) to (end).
(\ / start) (\ / end)
|-a b<----|
Knowing the shortest distance is useful with wrapped domains to solve problems such as determining the closest object to a given point, or determining whether turning left or turning right is the shortest route to get from angle 10 degrees to angle 350 degrees (clearly in a 0-360 degree domain, turning left 20 degrees is quicker than turning right 340 degrees).
The value returned holds the distance and the direction from value a to value b. For instance in the above example it would return -20. i.e. subtract 20 from current value (10) to reach target wrapped value (350).
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
a the current value b the target value start the start of the domain end the end of the domain
- Returns:
- the shortest direction (the sign) and distance (the magnitude)
- Note:
- Assumes both (a) and (b) are already within the domain (start) to (end).
| int32_t Dali::Sign | ( | T | value | ) |
Extracts the sign of a number.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] value The value we want to extract the sign
- Returns:
- -1 for negative values, +1 for positive values and 0 if value is 0
| float Dali::WrapInDomain | ( | float | x, |
| float | start, | ||
| float | end | ||
| ) |
Wrap x in domain (start) to (end).
This works like a floating point version of the % modulo operation. But with an offset (start).
For instance a domain is specified as: start: 2 end: 8
2 8 (\ / start) (\ / end) |----x |
The value x will be confined to this domain. If x is below 2 e.g. 0, then it is wrapped to 6. If x is above or equal to 8 e.g. 8.1 then it is wrapped to 2.1.
Domain wrapping is useful for various problems from calculating positions in a space that repeats, to computing angles that range from 0 to 360.
- Since:
- 2.4, DALi version 1.0.0
- Parameters:
-
[in] x the point to be wrapped within the domain [in] start The start of the domain [in] end The end of the domain
- Returns:
- the wrapped value over the domain (start) (end)
- Note:
- If start = end (i.e. size of domain 0), then wrapping will not occur and result will always be equal to start.