/* ##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__ */