gimpvector

Name

gimpvector -- Utilities to set up and manipulate vectors.

Synopsis


struct      GimpVector2;
struct      GimpVector3;
struct      GimpVector4;
void        gimp_vector2_set                (GimpVector2 *vector,
                                             gdouble x,
                                             gdouble y);
void        gimp_vector2_add                (GimpVector2 *result,
                                             GimpVector2 *vector1,
                                             GimpVector2 *vector2);
void        gimp_vector2_sub                (GimpVector2 *result,
                                             GimpVector2 *vector1,
                                             GimpVector2 *vector2);
void        gimp_vector2_neg                (GimpVector2 *vector);
void        gimp_vector2_mul                (GimpVector2 *vector,
                                             gdouble factor);
gdouble     gimp_vector2_inner_product      (GimpVector2 *vector1,
                                             GimpVector2 *vector2);
GimpVector2 gimp_vector2_cross_product      (GimpVector2 *vector1,
                                             GimpVector2 *vector2);
void        gimp_vector2_normalize          (GimpVector2 *vector);
gdouble     gimp_vector2_length             (GimpVector2 *vector);
void        gimp_vector2_rotate             (GimpVector2 *vector,
                                             gdouble alpha);
void        gimp_vector3_set                (GimpVector3 *vector,
                                             gdouble x,
                                             gdouble y,
                                             gdouble z);
void        gimp_vector3_add                (GimpVector3 *result,
                                             GimpVector3 *vector1,
                                             GimpVector3 *vector2);
void        gimp_vector3_sub                (GimpVector3 *result,
                                             GimpVector3 *vector1,
                                             GimpVector3 *vector2);
void        gimp_vector3_neg                (GimpVector3 *vector);
void        gimp_vector3_mul                (GimpVector3 *vector,
                                             gdouble factor);
gdouble     gimp_vector3_inner_product      (GimpVector3 *vector1,
                                             GimpVector3 *vector2);
GimpVector3 gimp_vector3_cross_product      (GimpVector3 *vector1,
                                             GimpVector3 *vector2);
void        gimp_vector3_normalize          (GimpVector3 *vector);
gdouble     gimp_vector3_length             (GimpVector3 *vector);
void        gimp_vector3_rotate             (GimpVector3 *vector,
                                             gdouble alpha,
                                             gdouble beta,
                                             gdouble gamma);
void        gimp_vector_3d_to_2d            (gint sx,
                                             gint sy,
                                             gint w,
                                             gint h,
                                             gdouble *x,
                                             gdouble *y,
                                             GimpVector3 *vp,
                                             GimpVector3 *p);
void        gimp_vector_2d_to_3d            (gint sx,
                                             gint sy,
                                             gint w,
                                             gint h,
                                             gint x,
                                             gint y,
                                             GimpVector3 *vp,
                                             GimpVector3 *p);

Description

Utilities to set up and manipulate vectors.

Details

struct GimpVector2

struct GimpVector2
{
  gdouble x, y;
};


struct GimpVector3

struct GimpVector3
{
  gdouble x, y, z;
};


struct GimpVector4

struct GimpVector4
{
  gdouble x, y, z, w;
};


gimp_vector2_set ()

void        gimp_vector2_set                (GimpVector2 *vector,
                                             gdouble x,
                                             gdouble y);

vector : 
x : 
y : 


gimp_vector2_add ()

void        gimp_vector2_add                (GimpVector2 *result,
                                             GimpVector2 *vector1,
                                             GimpVector2 *vector2);

result : 
vector1 : 
vector2 : 


gimp_vector2_sub ()

void        gimp_vector2_sub                (GimpVector2 *result,
                                             GimpVector2 *vector1,
                                             GimpVector2 *vector2);

result : 
vector1 : 
vector2 : 


gimp_vector2_neg ()

void        gimp_vector2_neg                (GimpVector2 *vector);

vector : 


gimp_vector2_mul ()

void        gimp_vector2_mul                (GimpVector2 *vector,
                                             gdouble factor);

vector : 
factor : 


gimp_vector2_inner_product ()

gdouble     gimp_vector2_inner_product      (GimpVector2 *vector1,
                                             GimpVector2 *vector2);

vector1 : 
vector2 : 
Returns : 


gimp_vector2_cross_product ()

GimpVector2 gimp_vector2_cross_product      (GimpVector2 *vector1,
                                             GimpVector2 *vector2);

vector1 : 
vector2 : 
Returns : 


gimp_vector2_normalize ()

void        gimp_vector2_normalize          (GimpVector2 *vector);

vector : 


gimp_vector2_length ()

gdouble     gimp_vector2_length             (GimpVector2 *vector);

vector : 
Returns : 


gimp_vector2_rotate ()

void        gimp_vector2_rotate             (GimpVector2 *vector,
                                             gdouble alpha);

vector : 
alpha : 


gimp_vector3_set ()

void        gimp_vector3_set                (GimpVector3 *vector,
                                             gdouble x,
                                             gdouble y,
                                             gdouble z);

vector : 
x : 
y : 
z : 


gimp_vector3_add ()

void        gimp_vector3_add                (GimpVector3 *result,
                                             GimpVector3 *vector1,
                                             GimpVector3 *vector2);

result : 
vector1 : 
vector2 : 


gimp_vector3_sub ()

void        gimp_vector3_sub                (GimpVector3 *result,
                                             GimpVector3 *vector1,
                                             GimpVector3 *vector2);

result : 
vector1 : 
vector2 : 


gimp_vector3_neg ()

void        gimp_vector3_neg                (GimpVector3 *vector);

vector : 


gimp_vector3_mul ()

void        gimp_vector3_mul                (GimpVector3 *vector,
                                             gdouble factor);

vector : 
factor : 


gimp_vector3_inner_product ()

gdouble     gimp_vector3_inner_product      (GimpVector3 *vector1,
                                             GimpVector3 *vector2);

vector1 : 
vector2 : 
Returns : 


gimp_vector3_cross_product ()

GimpVector3 gimp_vector3_cross_product      (GimpVector3 *vector1,
                                             GimpVector3 *vector2);

vector1 : 
vector2 : 
Returns : 


gimp_vector3_normalize ()

void        gimp_vector3_normalize          (GimpVector3 *vector);

vector : 


gimp_vector3_length ()

gdouble     gimp_vector3_length             (GimpVector3 *vector);

vector : 
Returns : 


gimp_vector3_rotate ()

void        gimp_vector3_rotate             (GimpVector3 *vector,
                                             gdouble alpha,
                                             gdouble beta,
                                             gdouble gamma);

vector : 
alpha : 
beta : 
gamma : 


gimp_vector_3d_to_2d ()

void        gimp_vector_3d_to_2d            (gint sx,
                                             gint sy,
                                             gint w,
                                             gint h,
                                             gdouble *x,
                                             gdouble *y,
                                             GimpVector3 *vp,
                                             GimpVector3 *p);

sx : 
sy : 
w : 
h : 
x : 
y : 
vp : 
p : 


gimp_vector_2d_to_3d ()

void        gimp_vector_2d_to_3d            (gint sx,
                                             gint sy,
                                             gint w,
                                             gint h,
                                             gint x,
                                             gint y,
                                             GimpVector3 *vp,
                                             GimpVector3 *p);

sx : 
sy : 
w : 
h : 
x : 
y : 
vp : 
p : 

See Also

GimpMatrix3

GimpMatrix4