Data Structures | Macros | Typedefs | Functions
eina_vector.h File Reference

Data Structures

struct  _Eina_Vector2
 
struct  _Eina_Vector3
 

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...
 
static void eina_vector3_set (Eina_Vector3 *dst, double x, double y, double z)
 Set parameters to vector. More...
 
static void eina_vector3_array_set (Eina_Vector3 *dst, const double *v)
 Set array to vector. More...
 
static void eina_vector3_copy (Eina_Vector3 *dst, const Eina_Vector3 *src)
 Copy vector. More...
 
static void eina_vector3_negate (Eina_Vector3 *out, const Eina_Vector3 *v)
 Make negative vector. More...
 
static void eina_vector3_add (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
 Add two vectors. More...
 
static void eina_vector3_subtract (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
 Subtract two vectors. More...
 
static void eina_vector3_scale (Eina_Vector3 *out, const Eina_Vector3 *v, double scale)
 Scale vector. More...
 
static void eina_vector3_multiply (Eina_Vector3 *out, const Eina_Vector3 *a, const Eina_Vector3 *b)
 Multiply two vectors. More...
 
static double eina_vector3_dot_product (const Eina_Vector3 *a, const Eina_Vector3 *b)
 Return the dot product of the two vectors. More...
 
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. More...
 
static double eina_vector3_length_get (const Eina_Vector3 *v)
 Return the length of the given vector. More...
 
static double eina_vector3_length_square_get (const Eina_Vector3 *v)
 Return the length in square of the given vector. More...
 
static double eina_vector3_distance_get (const Eina_Vector3 *a, const Eina_Vector3 *b)
 Return the distance between of two vectors. More...
 
static double eina_vector3_distance_square_get (const Eina_Vector3 *a, const Eina_Vector3 *b)
 Return the distance in square between of two vectors. More...
 
static double eina_vector3_angle_get (const Eina_Vector3 *a, const Eina_Vector3 *b)
 Return the angle between of two vectors. More...
 
static void eina_vector3_normalize (Eina_Vector3 *out, const Eina_Vector3 *v)
 normalize vector. More...
 
static void eina_vector3_transform (Eina_Vector3 *out, const Eina_Matrix3 *m, const Eina_Vector3 *v)
 Transform vector. More...
 
static void eina_vector3_homogeneous_direction_transform (Eina_Vector3 *out, const Eina_Matrix4 *m, const Eina_Vector3 *v)
 Homogeneous direction transform vector. More...
 
static void eina_vector3_homogeneous_position_transform (Eina_Vector3 *out, const Eina_Matrix4 *m, const Eina_Vector3 *v)
 Homogeneous position transform vector. More...
 
static void eina_vector3_quaternion_rotate (Eina_Vector3 *out, const Eina_Vector3 *v, const Eina_Quaternion *q)
 Rotate vector. More...
 
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. More...
 
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. More...
 
static void eina_vector3_homogeneous_position_set (Eina_Vector3 *out, const Eina_Quaternion *v)
 Homogeneous position set. More...
 
static void eina_vector3_homogeneous_direction_set (Eina_Vector3 *out, const Eina_Quaternion *v)
 Homogeneous direction set. More...
 
static Eina_Bool eina_vector3_equivalent (Eina_Vector3 *a, const Eina_Vector3 *b)
 Check the equivalent between of two vectors. More...
 
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. More...