www.pudn.com > feb98 > GLquat.h


#ifndef __gluquat__ 
#define __gluquat__ 
 
 
#if defined (WIN32) 
#include  
#endif 
 
#include  
#include  
 
 
// Quaternion Structure 
// quaternion is represented as (w,[x,y,z]) 
// where: w       - scalar part 
//        x, y, z - vector part 
typedef struct tag_GL_QUAT {  
  GLfloat w, x, y, z; 
} GL_QUAT; 
 
 
 
// define APIENTRY and CALLBACK to null string if we aren't on Win32 
#if !defined(WIN32) 
#define APIENTRY 
#define CALLBACK 
#endif 
 
#ifdef __cplusplus 
extern "C" { 
#endif 
 
 
extern void APIENTRY gluQuatToMat_EXT(GL_QUAT *, GLfloat m[4][4]); 
extern void APIENTRY gluEulerToQuat_EXT(GLfloat, GLfloat, GLfloat, GL_QUAT * ); 
extern void APIENTRY gluMatToQuat_EXT(GLfloat m[4][4], GL_QUAT *); 
extern void APIENTRY gluQuatSlerp_EXT(GL_QUAT * , GL_QUAT * , GLfloat, GL_QUAT *); 
extern void APIENTRY gluQuatLerp_EXT(GL_QUAT *, GL_QUAT *, GLfloat, GL_QUAT *); 
extern void APIENTRY gluQuatNormalize_EXT(GL_QUAT *); 
extern void APIENTRY gluQuatGetValue_EXT(GL_QUAT*, GLfloat*, GLfloat*, GLfloat*, GLfloat*); 
extern void APIENTRY gluQuatSetValue_EXT(GL_QUAT *, GLfloat, GLfloat, GLfloat, GLfloat); 
extern void APIENTRY gluQuatScaleAngle_EXT(GL_QUAT *, GLfloat); 
extern void APIENTRY gluQuatInverse_EXT(GL_QUAT *); 
extern void APIENTRY gluQuatSetFromAx_EXT(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat,  
										  GLfloat, GL_QUAT *); 
extern void APIENTRY gluQuatMul_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatAdd_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatSub_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatDiv_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatCopy_EXT(GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatSquare_EXT(GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatSqrt_EXT(GL_QUAT*, GL_QUAT*); 
extern GLfloat APIENTRY gluQuatDot_EXT(GL_QUAT*, GL_QUAT*); 
extern GLfloat APIENTRY gluQuatLength_EXT(GL_QUAT*); 
extern void APIENTRY gluQuatNegate_EXT(GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatExp_EXT(GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatLog_EXT(GL_QUAT*, GL_QUAT*); 
extern void APIENTRY gluQuatLnDif_EXT(GL_QUAT*, GL_QUAT*, GL_QUAT*); 
 
 
 
 
 
 
 
#ifdef __cplusplus 
} 
 
#endif 
 
 
#endif  // __gluquat__