home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 March / ENTER.ISO / files / fwp-0.0.6-win32-installer.exe / quat.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-01-12  |  2.6 KB  |  62 lines

  1. /* -*- c -*- */
  2. #ifndef INCLUDED_LIB3DS_QUAT_H
  3. #define INCLUDED_LIB3DS_QUAT_H
  4. /*
  5.  * The 3D Studio File Format Library
  6.  * Copyright (C) 1996-2001 by J.E. Hoffmann <je-h@gmx.net>
  7.  * All rights reserved.
  8.  *
  9.  * This program is  free  software;  you can redistribute it and/or modify it
  10.  * under the terms of the  GNU Lesser General Public License  as published by 
  11.  * the  Free Software Foundation;  either version 2.1 of the License,  or (at 
  12.  * your option) any later version.
  13.  *
  14.  * This  program  is  distributed in  the  hope that it will  be useful,  but
  15.  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  16.  * or  FITNESS FOR A  PARTICULAR PURPOSE.  See the  GNU Lesser General Public  
  17.  * License for more details.
  18.  *
  19.  * You should  have received  a copy of the GNU Lesser General Public License
  20.  * along with  this program;  if not, write to the  Free Software Foundation,
  21.  * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  *
  23.  * $Id: quat.h,v 1.5 2001/01/12 10:29:17 jeh Exp $
  24.  */
  25.  
  26. #ifndef INCLUDED_LIB3DS_TYPES_H
  27. #include <lib3ds/types.h>
  28. #endif
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34. extern LIB3DSAPI void lib3ds_quat_zero(Lib3dsQuat c);
  35. extern LIB3DSAPI void lib3ds_quat_identity(Lib3dsQuat c);
  36. extern LIB3DSAPI void lib3ds_quat_copy(Lib3dsQuat dest, Lib3dsQuat src);
  37. extern LIB3DSAPI void lib3ds_quat_axis_angle(Lib3dsQuat c, Lib3dsVector axis, Lib3dsFloat angle);
  38. extern LIB3DSAPI void lib3ds_quat_neg(Lib3dsQuat c);
  39. extern LIB3DSAPI void lib3ds_quat_abs(Lib3dsQuat c);
  40. extern LIB3DSAPI void lib3ds_quat_cnj(Lib3dsQuat c);
  41. extern LIB3DSAPI void lib3ds_quat_mul(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b);
  42. extern LIB3DSAPI void lib3ds_quat_scalar(Lib3dsQuat c, Lib3dsFloat k);
  43. extern LIB3DSAPI void lib3ds_quat_normalize(Lib3dsQuat c);
  44. extern LIB3DSAPI void lib3ds_quat_inv(Lib3dsQuat c);
  45. extern LIB3DSAPI Lib3dsFloat lib3ds_quat_dot(Lib3dsQuat a, Lib3dsQuat b);
  46. extern LIB3DSAPI Lib3dsFloat lib3ds_quat_squared(Lib3dsQuat c);
  47. extern LIB3DSAPI Lib3dsFloat lib3ds_quat_length(Lib3dsQuat c);
  48. extern LIB3DSAPI void lib3ds_quat_ln(Lib3dsQuat c);
  49. extern LIB3DSAPI void lib3ds_quat_ln_dif(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b);
  50. extern LIB3DSAPI void lib3ds_quat_exp(Lib3dsQuat c);
  51. extern LIB3DSAPI void lib3ds_quat_slerp(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat b, Lib3dsFloat t);
  52. extern LIB3DSAPI void lib3ds_quat_squad(Lib3dsQuat c, Lib3dsQuat a, Lib3dsQuat p, Lib3dsQuat q,
  53.   Lib3dsQuat b, Lib3dsFloat t);
  54. extern LIB3DSAPI void lib3ds_quat_tangent(Lib3dsQuat c, Lib3dsQuat p, Lib3dsQuat q, Lib3dsQuat n);
  55. extern LIB3DSAPI void lib3ds_quat_dump(Lib3dsQuat q);
  56.  
  57. #ifdef __cplusplus
  58. };
  59. #endif
  60. #endif
  61.  
  62.