| 
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); |