Data Structures | Macros | Typedefs | Functions
Floating point vectors in 2D

2D vector definition and operations More...

Data Structures

struct  _Eina_Vector2
 

Macros

#define EINA_VECTOR2(x, y)   ((Eina_Vector2) {(x), (y)})
 

Typedefs

typedef struct _Eina_Vector2 Eina_Vector2
 
typedef struct _Eina_Vector3 Eina_Vector3
 

Functions

static void eina_vector2_set (Eina_Vector2 *dst, double x, double y)
 Set parameters to vector. More...
 
static void eina_vector2_array_set (Eina_Vector2 *dst, const double *v)
 Set array to vector. More...
 
static void eina_vector2_copy (Eina_Vector2 *dst, const Eina_Vector2 *src)
 Copy vector. More...
 
static void eina_vector2_negate (Eina_Vector2 *out, const Eina_Vector2 *v)
 Make negative vector. More...
 
static void eina_vector2_add (Eina_Vector2 *out, const Eina_Vector2 *a, const Eina_Vector2 *b)
 Add two vectors. More...
 
static void eina_vector2_subtract (Eina_Vector2 *out, const Eina_Vector2 *a, const Eina_Vector2 *b)
 Subtract two vectors. More...
 
static void eina_vector2_scale (Eina_Vector2 *out, const Eina_Vector2 *v, double scale)
 Scale vector. More...
 
static double eina_vector2_dot_product (const Eina_Vector2 *a, const Eina_Vector2 *b)
 Return the dot product of the two vectors. More...
 
static double eina_vector2_length_get (const Eina_Vector2 *v)
 Return the length of the given vector. More...
 
static double eina_vector2_length_square_get (const Eina_Vector2 *v)
 Return the length in square of the given vector. More...
 
static double eina_vector2_distance_get (const Eina_Vector2 *a, const Eina_Vector2 *b)
 Return the distance between of two vectors. More...
 
static double eina_vector2_distance_square_get (const Eina_Vector2 *a, const Eina_Vector2 *b)
 Return the distance in square between of two vectors. More...
 
static void eina_vector2_normalize (Eina_Vector2 *out, const Eina_Vector2 *v)
 normalize vector. More...
 
static void eina_vector2_transform (Eina_Vector2 *out, const Eina_Matrix2 *m, const Eina_Vector2 *v)
 Transform vector. More...
 
static void eina_vector2_homogeneous_position_transform (Eina_Vector2 *out, const Eina_Matrix3 *m, const Eina_Vector2 *v)
 Homogeneous position transform vector. More...
 
static void eina_vector2_homogeneous_direction_transform (Eina_Vector2 *out, const Eina_Matrix3 *m, const Eina_Vector2 *v)
 Homogeneous direction transform vector. More...
 

Detailed Description

2D vector definition and operations

Function Documentation

◆ eina_vector2_set()

static void eina_vector2_set ( Eina_Vector2 dst,
double  x,
double  y 
)
inlinestatic

Set parameters to vector.

Parameters
[out]dstThe resulting vector.
[in]xThe x component.
[in]yThe y component.
Since
1.17

◆ eina_vector2_array_set()

static void eina_vector2_array_set ( Eina_Vector2 dst,
const double *  v 
)
inlinestatic

Set array to vector.

Parameters
[out]dstThe resulting vector.
[in]vThe the array[2] for set.

Set to vector first 2 elements from array.

Since
1.17

◆ eina_vector2_copy()

static void eina_vector2_copy ( Eina_Vector2 dst,
const Eina_Vector2 src 
)
inlinestatic

Copy vector.

Parameters
[out]dstThe vector copy.
[in]srcThe vector for copy.
Since
1.17

◆ eina_vector2_negate()

static void eina_vector2_negate ( Eina_Vector2 out,
const Eina_Vector2 v 
)
inlinestatic

Make negative vector.

Parameters
[out]outThe resulting vector.
[in]vThe current vector.
Since
1.17

◆ eina_vector2_add()

static void eina_vector2_add ( Eina_Vector2 out,
const Eina_Vector2 a,
const Eina_Vector2 b 
)
inlinestatic

Add two vectors.

Parameters
[out]outThe resulting vector.
[in]aThe first member of the add.
[in]bThe second member of the add.
Since
1.17

◆ eina_vector2_subtract()

static void eina_vector2_subtract ( Eina_Vector2 out,
const Eina_Vector2 a,
const Eina_Vector2 b 
)
inlinestatic

Subtract two vectors.

Parameters
[out]outThe resulting vector
[in]aThe first member of the subtract
[in]bThe second member of the subtract
Since
1.17

◆ eina_vector2_scale()

static void eina_vector2_scale ( Eina_Vector2 out,
const Eina_Vector2 v,
double  scale 
)
inlinestatic

Scale vector.

Parameters
[out]outThe resulting vector.
[in]vThe vector for scale.
[in]scaleThe scale value.
Since
1.17

◆ eina_vector2_dot_product()

static double eina_vector2_dot_product ( const Eina_Vector2 a,
const Eina_Vector2 b 
)
inlinestatic

Return the dot product of the two vectors.

Parameters
[in]aThe first member.
[in]bThe second member.
Returns
The dot product.
Since
1.17

◆ eina_vector2_length_get()

static double eina_vector2_length_get ( const Eina_Vector2 v)
inlinestatic

Return the length of the given vector.

Parameters
[in]vThe vector.
Returns
The length.
Since
1.17

◆ eina_vector2_length_square_get()

static double eina_vector2_length_square_get ( const Eina_Vector2 v)
inlinestatic

Return the length in square of the given vector.

Parameters
[in]vThe vector.
Returns
The length in square.
Since
1.17

◆ eina_vector2_distance_get()

static double eina_vector2_distance_get ( const Eina_Vector2 a,
const Eina_Vector2 b 
)
inlinestatic

Return the distance between of two vectors.

Parameters
[in]aThe first vector.
[in]bThe second vector.
Returns
The distance.
Since
1.17

◆ eina_vector2_distance_square_get()

static double eina_vector2_distance_square_get ( const Eina_Vector2 a,
const Eina_Vector2 b 
)
inlinestatic

Return the distance in square between of two vectors.

Parameters
[in]aThe first vector.
[in]bThe second vector.
Returns
The distance in square.
Since
1.17

◆ eina_vector2_normalize()

static void eina_vector2_normalize ( Eina_Vector2 out,
const Eina_Vector2 v 
)
inlinestatic

normalize vector.

Parameters
[out]outThe resulting vector.
[in]vThe vector for normalize.
Since
1.17

◆ eina_vector2_transform()

static void eina_vector2_transform ( Eina_Vector2 out,
const Eina_Matrix2 m,
const Eina_Vector2 v 
)
inlinestatic

Transform vector.

Parameters
[out]outThe resulting vector.
[in]mThe matrix for transform.
[in]vThe vector for transform.
Since
1.17

◆ eina_vector2_homogeneous_position_transform()

static void eina_vector2_homogeneous_position_transform ( Eina_Vector2 out,
const Eina_Matrix3 m,
const Eina_Vector2 v 
)
inlinestatic

Homogeneous position transform vector.

Parameters
[out]outThe resulting vector.
[in]mThe matrix for transform.
[in]vThe vector for transform.
Since
1.17

◆ eina_vector2_homogeneous_direction_transform()

static void eina_vector2_homogeneous_direction_transform ( Eina_Vector2 out,
const Eina_Matrix3 m,
const Eina_Vector2 v 
)
inlinestatic

Homogeneous direction transform vector.

Parameters
[out]outThe resulting vector.
[in]mThe matrix for transform.
[in]vThe vector for transform.
Since
1.17