Floating point vectors in 2D

- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

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

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

## 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] | dst | The resulting vector.
  [in] | x | The x component.
  [in] | y | The 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] | dst | The resulting vector.
  [in] | v | The 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] | dst | The vector copy.
  [in] | src | The 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] | out | The resulting vector.
  [in] | v | The 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] | out | The resulting vector.
  [in] | a | The first member of the add.
  [in] | b | The 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] | out | The resulting vector
  [in] | a | The first member of the subtract
  [in] | b | The 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] | out | The resulting vector.
  [in] | v | The vector for scale.
  [in] | scale | The 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] | a | The first member.
  [in] | b | The 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] | v | The 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] | v | The 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] | a | The first vector.
  [in] | b | The 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] | a | The first vector.
  [in] | b | The 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] | out | The resulting vector.
  [in] | v | The 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] | out | The resulting vector.
  [in] | m | The matrix for transform.
  [in] | v | The 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] | out | The resulting vector.
  [in] | m | The matrix for transform.
  [in] | v | The 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] | out | The resulting vector.
  [in] | m | The matrix for transform.
  [in] | v | The vector for transform.

Since
  1.17