~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Tina6/tina-libs/tina/math/mathGeom_mat4.h

Version: ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /**********
  2  * 
  3  * Copyright (c) 2003, Division of Imaging Science and Biomedical Engineering,
  4  * University of Manchester, UK.  All rights reserved.
  5  * 
  6  * Redistribution and use in source and binary forms, with or without modification, 
  7  * are permitted provided that the following conditions are met:
  8  * 
  9  *   . Redistributions of source code must retain the above copyright notice, 
 10  *     this list of conditions and the following disclaimer.
 11  *    
 12  *   . Redistributions in binary form must reproduce the above copyright notice,
 13  *     this list of conditions and the following disclaimer in the documentation 
 14  *     and/or other materials provided with the distribution.
 15  * 
 16  *   . Neither the name of the University of Manchester nor the names of its
 17  *     contributors may be used to endorse or promote products derived from this 
 18  *     software without specific prior written permission.
 19  * 
 20  * 
 21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
 25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 31  * POSSIBILITY OF SUCH DAMAGE.
 32  *
 33  **********
 34  * 
 35  * Program :    TINA
 36  * File    :  $Source: /home/tina/cvs/tina-libs/tina/math/mathGeom_mat4.h,v $
 37  * Date    :  $Date: 2003/09/22 16:09:02 $
 38  * Version :  $Revision: 1.2 $
 39  * CVS Id  :  $Id: mathGeom_mat4.h,v 1.2 2003/09/22 16:09:02 tony Exp $
 40  *
 41  * Author  :  Legacy Tina
 42  *
 43  * Notes :
 44  *
 45  *********
 46 */
 47 
 48 #ifndef TINA_MATH_GEOM_MAT4_HDR
 49 #define TINA_MATH_GEOM_MAT4_HDR
 50 
 51 #include <stdio.h> /* the generic include for the whole group */
 52 #include <tina/math/math_GeomDef.h>
 53 
 54 #ifdef __cplusplus
 55 extern "C" {
 56 #endif /* __cplusplus */
 57 
 58   Mat4   *mat4_alloc(void);
 59   Mat4   *mat4_make(Mat4 n);
 60   void    mat4_free(Mat4 * m);
 61   double  mat4_get_xx(Mat4 m);
 62   double  mat4_get_xy(Mat4 m);
 63   double  mat4_get_xz(Mat4 m);
 64   double  mat4_get_xw(Mat4 m);
 65   double  mat4_get_yx(Mat4 m);
 66   double  mat4_get_yy(Mat4 m);
 67   double  mat4_get_yz(Mat4 m);
 68   double  mat4_get_yw(Mat4 m);
 69   double  mat4_get_zx(Mat4 m);
 70   double  mat4_get_zy(Mat4 m);
 71   double  mat4_get_zz(Mat4 m);
 72   double  mat4_get_zw(Mat4 m);
 73   double  mat4_get_wx(Mat4 m);
 74   double  mat4_get_wy(Mat4 m);
 75   double  mat4_get_wz(Mat4 m);
 76   double  mat4_get_ww(Mat4 m);
 77   Mat4    mat4(double mxx, double mxy, double mxz, double mxw, double myx, double myy, double myz, double myw, double mzx, double mzy, double mzz, double mzw, double mwx, double mwy, double mwz, double mww);
 78   Mat4    mat4_unit(void);
 79   Mat4    mat4_zero(void);
 80   void    mat4_comps(Mat4 m, double *mxx, double *mxy, double *mxz, double *mxw, double *myx, double *myy, double *myz, double *myw, double *mzx, double *mzy, double *mzz, double *mzw, double *mwx, double *mwy, double *mwz, double *mww);
 81   Vec4    mat4_rowx(Mat4 m);
 82   Vec4    mat4_rowy(Mat4 m);
 83   Vec4    mat4_rowz(Mat4 m);
 84   Vec4    mat4_roww(Mat4 m);
 85   Vec4    mat4_colx(Mat4 m);
 86   Vec4    mat4_coly(Mat4 m);
 87   Vec4    mat4_colz(Mat4 m);
 88   Vec4    mat4_colw(Mat4 m);
 89   Mat4    mat4_of_cols(Vec4 cx, Vec4 cy, Vec4 cz, Vec4 cw);
 90   Mat4    mat4_of_rows(Vec4 rx, Vec4 ry, Vec4 rz, Vec4 rw);
 91   Mat4    mat4_sum(Mat4 m, Mat4 n);
 92   Mat4    mat4_diff(Mat4 m, Mat4 n);
 93   Mat4    mat4_minus(Mat4 m);
 94   Mat4    mat4_prod(Mat4 m, Mat4 n);
 95   Mat4    mat4_inverse(Mat4 m);
 96   Mat4    mat4_transpose(Mat4 m);
 97   double  mat4_trace(Mat4 m);
 98   Vec4    mat4_vprod(Mat4 m, Vec4 v);
 99   Vec4    mat4_transpose_vprod(Mat4 m, Vec4 v);
100   double  mat4_sprod(Vec4 v, Mat4 m, Vec4 w);
101   Mat4    mat4_tensor(Vec4 v, Vec4 w);
102   Mat4    mat4_read(FILE * fp);
103   void    mat4_print(FILE * fp, Mat4 m);
104   void    mat4_pprint(FILE * fp, char *msg, Mat4 m);
105   void    mat4_format(Mat4 m);
106   void    mat4_eigen(Mat4 m, double *eval, Vec4 * evec);
107 
108 
109 #ifdef __cplusplus
110 }
111 #endif /* __cplusplus */
112 
113 #endif /* TINA_MATH_GEOM_MAT4_HDR */ 
114 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.