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