eina_vector.h File Reference

## Data Structures

struct | _Eina_Vector2
struct | _Eina_Vector3

## Macros

#define | 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.
static void | eina_vector3_set (Eina_Vector3 *dst, double x, double y, double z)
| Set parameters to vector.
static void | eina_vector3_array_set (Eina_Vector3 *dst, const double *v)
| Set array to vector.
static void | eina_vector3_copy (Eina_Vector3 *dst, const Eina_Vector3 *src)
| Copy vector.
static void | eina_vector3_negate (Eina_Vector3 *out, const Eina_Vector3 *v)
| Make negative vector.
static void | eina_vector3_add (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
| Add two vectors.
static void | eina_vector3_subtract (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
| Subtract two vectors.
static void | eina_vector3_scale (Eina_Vector3 *out, const Eina_Vector3 *v, double scale)
| Scale vector.
static void | eina_vector3_multiply (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
| Multiply two vectors.
static double | eina_vector3_dot_product (const Eina_Vector3 *a, const Eina_Vector3 *b)
| Return the dot product of the two vectors.
static void | eina_vector3_cross_product (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
| Create the cross product of the two vectors.
static double | eina_vector3_length_get (const Eina_Vector3 *v)
| Return the length of the given vector.
static double | eina_vector3_length_square_get (const Eina_Vector3 *v)
| Return the length in square of the given vector.
static double | eina_vector3_distance_get (const Eina_Vector3 *a, const Eina_Vector3 *b)
| Return the distance between of two vectors.
static double | eina_vector3_distance_square_get (const Eina_Vector3 *a, const Eina_Vector3 *b)
| Return the distance in square between of two vectors.
static double | eina_vector3_angle_get (const Eina_Vector3 *a, const Eina_Vector3 *b)
| Return the angle between of two vectors.
static void | eina_vector3_normalize (Eina_Vector3 *out, const Eina_Vector3 *v)
| normalize vector.
static void | eina_vector3_transform (Eina_Vector3 *out, const Eina_Matrix3 *m, const Eina_Vector3 *v)
| Transform vector.
static void | eina_vector3_homogeneous_direction_transform (Eina_Vector3 *out, const Eina_Matrix4 *m, const Eina_Vector3 *v)
| Homogeneous direction transform vector.
static void | eina_vector3_homogeneous_position_transform (Eina_Vector3 *out, const Eina_Matrix4 *m, const Eina_Vector3 *v)
| Homogeneous position transform vector.
static void | eina_vector3_quaternion_rotate (Eina_Vector3 *out, const Eina_Vector3 *v, const Eina_Quaternion *q)
| Rotate vector.
static void | eina_vector3_orthogonal_projection_on_plane (Eina_Vector3 *out, const Eina_Vector3 *v, const Eina_Vector3 *normal)
| Create orthogonal projection on plane between vector and normal.
static void | eina_vector3_plane_by_points (Eina_Quaternion *out, const Eina_Vector3 *a, const Eina_Vector3 *b, const Eina_Vector3 *c)
| Plane by points between three vectors.
static void | eina_vector3_homogeneous_position_set (Eina_Vector3 *out, const Eina_Quaternion *v)
| Homogeneous position set.
static void | eina_vector3_homogeneous_direction_set (Eina_Vector3 *out, const Eina_Quaternion *v)
| Homogeneous direction set.
static Eina_Bool | eina_vector3_equivalent (Eina_Vector3 *a, const Eina_Vector3 *b)
| Check the equivalent between of two vectors.
static Eina_Bool | eina_vector3_triangle_equivalent (Eina_Vector3 *v0, Eina_Vector3 *v1, Eina_Vector3 *v2, Eina_Vector3 *w0, Eina_Vector3 *w1, Eina_Vector3 *w2)
| Check the equivalent between of two triangles of vectors.