/* ##H_FILE#
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FILE :          Xsw_3D.h
MODULE :        sw     (Common Mathematic Library)
 
DESCRIPTION : 3D Vector-Matrix implementation
 
VERSION :       sw V5.0.13 / Alexandre LANGER [ALX] Ubi R&D / Add Comments
 
VERSION PC
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
 
/* -----------------27/04/98 16:23-------------------
 * Conversion : OK avec version 23.04.98 19:26 (13883)
 * --------------------------------------------------*/
 
#ifndef __MATRICES_VECTOR_SW_3D__
#define __MATRICES_VECTOR_SW_3D__
 
/* ##MACRO#----------------------------------------------------------------------------
                          MACRO definition
---------------------------------------------------------------------------------------*/
 
/* ##-###########################
   ## Matrix-Vector operations
   ############################## */
 
 
/* ##M==================================================================================
NAME :          sw_3D_M_vMulMatrixVectorWithoutBuffer
DESCRIPTION :   Multiply a Matrix to a Vector : VectDest= MatA*VectA, VectDest must be
                a other vector
INPUT :         VectDest : address of sw_3D_tdstVector
                MatA : address of sw_3D_tdstMatrix
                VectA : address of sw_3D_tdstVector
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vMulMatrixVectorWithoutBuffer( VectDest, MatA, VectA) \
        MTH3D_M_vMulMatrixVectorWithoutBuffer( VectDest, MatA, VectA)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vMulMatrixVector
DESCRIPTION :   Multiply a Matrix to a Vector : VectDest= MatA*VectA
INPUT :         VectDest : address of sw_3D_tdstVector
                MatA : address of sw_3D_tdstMatrix
                VectA : address of sw_3D_tdstVector
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vMulMatrixVector( VectDest, MatA, VectA) \
        MTH3D_M_vMulMatrixVector( VectDest, MatA, VectA)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vGetColumnInMatrix
DESCRIPTION :   Get a Vector column of a Matrix to a Vector : VectDest= columm col of MatA
INPUT :         VectDest : address of sw_3D_tdstVector
                MatA : address of sw_3D_tdstMatrix
                col : int
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vGetColumnInMatrix( VectDest, MatA, col ) \
        MTH3D_M_vGetColumnInMatrix( VectDest, MatA, col )
 
/* ##M==================================================================================
NAME :          sw_3D_M_vSetColumnInMatrix
DESCRIPTION :   Put a Vector to a column of a Matrix : Set columm col of MatDest with VectA
INPUT :         MatDest : address of sw_3D_tdstMatrix
                VectA : address of sw_3D_tdstVector
                col : int
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vSetColumnInMatrix( MatDest, VectA, col) \
        MTH3D_M_vSetColumnInMatrix( MatDest, VectA, col)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vGetLineInMatrix
DESCRIPTION :   Get a Vector line of a Matrix to a Vector : VectDest= line lin of MatA
INPUT :         VectDest : address of sw_3D_tdstVector
                MatA : address of sw_3D_tdstMatrix
                lin : int
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vGetLineInMatrix( VectDest, MatA, lin ) \
        MTH3D_M_vGetLineInMatrix( VectDest, MatA, lin )
 
/* ##M==================================================================================
NAME :          sw_3D_M_vSetLineInMatrix
DESCRIPTION :   Put a Vector to a line of a Matrix : Set line lin of MatDest with VectA
INPUT :         MatDest : address of sw_3D_tdstMatrix
                VectA : address of sw_3D_tdstVector
                lin : int
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vSetLineInMatrix( MatDest, VectA, lin) \
        MTH3D_M_vSetLineInMatrix( MatDest, VectA, lin)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vGetDiagInMatrix
DESCRIPTION :   Get a Vector diagonal of a Matrix to a Vector : VectDest= diagonal of MatA
INPUT :         VectDest : address of sw_3D_tdstVector
                MatA : address of sw_3D_tdstMatrix
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vGetDiagInMatrix( VectDest, MatA) \
        MTH3D_M_vGetDiagInMatrix( VectDest, MatA)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vSetDiagInMatrix
DESCRIPTION :   Put a Vector to a diagonal of a Matrix : Set diagonal of MatDest with VectA
INPUT :         MatDest : address of sw_3D_tdstMatrix
                VectA : address of sw_3D_tdstVector
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vSetDiagInMatrix( MatDest, VectA) \
        MTH3D_M_vSetDiagInMatrix( MatDest, VectA)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vGetVectorsInMatrix
DESCRIPTION :   Get all column Matrix to two Vectors
INPUT :         VaDest, VbDest, VcDest: address of sw_3D_tdstVector
                MatA : address of sw_3D_tdstMatrix
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vGetVectorsInMatrix( VaDest, VbDest, VcDest, MatA) \
        MTH3D_M_vGetVectorsInMatrix( VaDest, VbDest, VcDest, MatA)
 
/* ##M==================================================================================
NAME :          sw_3D_M_vSetVectorsInMatrix
DESCRIPTION :   Set all column Matrix with two Vectors
INPUT :         MatDest : address of sw_3D_tdstMatrix
                VectA, VectB, VectC : address of sw_3D_tdstVector
OUTPUT :        void
=======================================================================================*/
#define sw_3D_M_vSetVectorsInMatrix( MatDest, VectA, VectB, VectC) \
        MTH3D_M_vSetVectorsInMatrix( MatDest, VectA, VectB, VectC)
 
 
 
#endif /* __MATRICES_VECTOR_SW_3D__ */
