reman3/Rayman_X/cpa/Appli/Max23Dos/inc/vertex.h

61 lines
1.7 KiB
C

/*=========================================================================
*
* Vertex.h - vertex functions
*
* Version 1.0
* Revision date
*
*=======================================================================*/
#ifndef VERTEX_H
#define VERTEX_H
//--- Includes --------------------------------------------------------
#include "MTH.h"
//--- Defines --------------------------------------------------------
#define MLT_M_SetVertexX(A,B) MTH3D_M_vSetXofVector(A,B)
#define MLT_M_SetVertexY(A,B) MTH3D_M_vSetYofVector(A,B)
#define MLT_M_SetVertexZ(A,B) MTH3D_M_vSetZofVector(A,B)
#define MLT_M_SetVertexXYZ(A,B,C,D) MTH3D_M_vSetVectorElements(A,B,C,D)
#define MLT_M_GetVertexX(A,B) *(B) = MTH3D_M_xGetXofVector(A)
#define MLT_M_GetVertexY(A,B) *(B) = MTH3D_M_xGetYofVector(A)
#define MLT_M_GetVertexZ(A,B) *(B) = MTH3D_M_xGetZofVector(A)
#define MLT_M_GetVertexXYZ(A,B,C,D) MTH3D_M_vGetVectorElements(B,C,D,A) // WARNING !!! INVERSION OF PARAMS
#define MLT_M_NullVertex(A) MTH3D_M_vNullVector(A)
#define MLT_M_AddVertex(A,B) MTH3D_M_vAddVector(A,A,B)
#define MLT_M_SubVertex(A,B) MTH3D_M_vSubVector(A,A,B)
#define MLT_M_MulVertex(A,B) MTH3D_M_vMulScalarVector(A,B,A)
#define MLT_M_DotProduct(A,B) MTH3D_M_xDotProductVector(A,B)
#define MLT_M_CrossProduct(A,B,C) MTH3D_M_vCrossProductVector( A, B, C)
#define MLT_M_Norme(A) MTH3D_M_xNormVector(A)
#define MLT_M_Normalize(A) MTH3D_M_vNormalizeVector(A, A)
#define MLT_M_ScaleVertex(A,B) (A)->xX = MLT_M_Mul( (A)->xX , (B)->xX ) ; \
(A)->xY = MLT_M_Mul( (A)->xY , (B)->xY ) ; \
(A)->xZ = MLT_M_Mul( (A)->xZ , (B)->xZ ) // WARNING A FAIRE : AJOUTER A MTH !!!!
#endif // VERTEX_H