home *** CD-ROM | disk | FTP | other *** search
- #ifndef __ARCBALL_H__
- #define __ARCBALL_H__
-
- 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;
-
- void ArcBall_Init (void);
- void ArcBall_Place (HVect Center,
- double Radius);
- void ArcBall_UseSet (AxisSet axis_Set);
- void ArcBall_Update (void);
- void ArcBall_Value (HMatrix m_Now);
- void ArcBall_Values (double *alpha,
- double *beta,
- double *gamma);
- void ArcBall_BeginDrag (void);
- void ArcBall_EndDrag (void);
- void ArcBall_Mouse (HVect v_Now);
- void ArcBall_CopyMat (HMatrix inm,
- HMatrix outm);
-
- #endif /* __ARCBALL_H__ */
-