Files
firestorm/Gameleap/code/mw4/Libraries/3dsmax4/Include/euler.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

42 lines
1.4 KiB
C

/*******************************************************************
*
* DESCRIPTION: euler.h
*
* AUTHOR: Converted from Ken Shoemake's Graphics Gems IV code by Dan Silva
*
* HISTORY: converted 11/21/96
*
* RB: This file provides only a subset of those
* found in the original Graphics Gems paper.
* All orderings are 'static axis'.
*
*******************************************************************/
#ifndef __EULER__
#define __EULER__
#include "matrix3.h"
#include "quat.h"
#define EULERTYPE_XYZ 0
#define EULERTYPE_XZY 1
#define EULERTYPE_YZX 2
#define EULERTYPE_YXZ 3
#define EULERTYPE_ZXY 4
#define EULERTYPE_ZYX 5
#define EULERTYPE_XYX 6
#define EULERTYPE_YZY 7
#define EULERTYPE_ZXZ 8
#define EULERTYPE_RF 16 // rotating frame (axes) --prs.
void DllExport QuatToEuler(const Quat &q, float *ang, int type, bool flag = false); // flag added 001101 --prs.
void DllExport EulerToQuat(float *ang, Quat &q,int type);
void DllExport MatrixToEuler(const Matrix3 &mat, float *ang, int type, bool flag = FALSE);
void DllExport EulerToMatrix(float *ang, Matrix3 &mat, int type);
float DllExport GetEulerQuatAngleRatio(Quat &quat1,Quat &quat2, float *euler1, float *euler2, int type = EULERTYPE_XYZ);
float DllExport GetEulerMatAngleRatio(Matrix3 &mat1,Matrix3 &mat2, float *euler1, float *euler2, int type = EULERTYPE_XYZ);
#endif // __EULER__