mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-22 04:22:29 +00:00
a0dfbce3ba
-Yosh
26 lines
757 B
C
26 lines
757 B
C
#ifndef ARCBALLH
|
|
#define ARCBALLH
|
|
|
|
typedef struct {double x, y, z, w;} Quat;
|
|
enum QuatPart {X, Y, Z, W, QuatLen};
|
|
typedef Quat HVect;
|
|
typedef double HMatrix[QuatLen][QuatLen];
|
|
|
|
typedef enum AxisSet{NoAxes, CameraAxes, BodyAxes, OtherAxes, NSets} AxisSet;
|
|
typedef double *ConstraintSet;
|
|
|
|
extern Quat qOne;
|
|
|
|
extern void ArcBall_Init();
|
|
extern void ArcBall_Place(HVect Center, double Radius);
|
|
extern void ArcBall_UseSet(AxisSet axis_Set);
|
|
extern void ArcBall_Update(void);
|
|
extern void ArcBall_Value(HMatrix m_Now);
|
|
extern void ArcBall_Values(double *alpha,double *beta,double *gamma);
|
|
extern void ArcBall_BeginDrag(void);
|
|
extern void ArcBall_EndDrag(void);
|
|
extern void ArcBall_Mouse(HVect v_Now);
|
|
extern void ArcBall_CopyMat(HMatrix inm,HMatrix outm);
|
|
|
|
#endif
|