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

  1. /* -*- c -*- */
  2. #ifndef INCLUDED_LIB3DS_MATRIX_H
  3. #define INCLUDED_LIB3DS_MATRIX_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: matrix.h,v 1.4 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_matrix_zero(Lib3dsMatrix m);
  35. extern LIB3DSAPI void lib3ds_matrix_identity(Lib3dsMatrix m);
  36. extern LIB3DSAPI void lib3ds_matrix_copy(Lib3dsMatrix dest, Lib3dsMatrix src);
  37. extern LIB3DSAPI void lib3ds_matrix_neg(Lib3dsMatrix m);
  38. extern LIB3DSAPI void lib3ds_matrix_abs(Lib3dsMatrix m);
  39. extern LIB3DSAPI void lib3ds_matrix_transpose(Lib3dsMatrix m);
  40. extern LIB3DSAPI void lib3ds_matrix_add(Lib3dsMatrix m, Lib3dsMatrix a, Lib3dsMatrix b);
  41. extern LIB3DSAPI void lib3ds_matrix_sub(Lib3dsMatrix m, Lib3dsMatrix a, Lib3dsMatrix b);
  42. extern LIB3DSAPI void lib3ds_matrix_mul(Lib3dsMatrix m, Lib3dsMatrix a, Lib3dsMatrix b);
  43. extern LIB3DSAPI void lib3ds_matrix_scalar(Lib3dsMatrix m, Lib3dsFloat k);
  44. extern LIB3DSAPI Lib3dsFloat lib3ds_matrix_det(Lib3dsMatrix m);
  45. extern LIB3DSAPI void lib3ds_matrix_adjoint(Lib3dsMatrix m);
  46. extern LIB3DSAPI Lib3dsBool lib3ds_matrix_inv(Lib3dsMatrix m);
  47. void lib3ds_matrix_translate_xyz(Lib3dsMatrix m, Lib3dsFloat x,
  48.   Lib3dsFloat y, Lib3dsFloat z);
  49. extern LIB3DSAPI void lib3ds_matrix_translate(Lib3dsMatrix m, Lib3dsVector t);
  50. extern LIB3DSAPI void lib3ds_matrix_scale_xyz(Lib3dsMatrix m, Lib3dsFloat x,
  51.   Lib3dsFloat y, Lib3dsFloat z);
  52. extern LIB3DSAPI void lib3ds_matrix_scale(Lib3dsMatrix m, Lib3dsVector s);
  53. extern LIB3DSAPI void lib3ds_matrix_rotate_x(Lib3dsMatrix m, Lib3dsFloat phi);
  54. extern LIB3DSAPI void lib3ds_matrix_rotate_y(Lib3dsMatrix m, Lib3dsFloat phi);
  55. extern LIB3DSAPI void lib3ds_matrix_rotate_z(Lib3dsMatrix m, Lib3dsFloat phi);
  56. extern LIB3DSAPI void lib3ds_matrix_rotate(Lib3dsMatrix m, Lib3dsQuat q);
  57. extern LIB3DSAPI void lib3ds_matrix_rotate_axis(Lib3dsMatrix m,
  58.   Lib3dsVector axis, Lib3dsFloat angle);
  59. extern LIB3DSAPI void lib3ds_matrix_camera(Lib3dsMatrix matrix, Lib3dsVector pos,
  60.   Lib3dsVector tgt, Lib3dsFloat roll);
  61. extern LIB3DSAPI void lib3ds_matrix_dump(Lib3dsMatrix matrix);
  62.  
  63. #ifdef __cplusplus
  64. };
  65. #endif
  66. #endif
  67.  
  68.