HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_CrackMatrix.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: UT_CrackMatrix.h ( UT Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __UT_CrackMatrix__
12 #define __UT_CrackMatrix__
13 
14 #include "UT_API.h"
15 #include "UT_Quaternion.h"
16 #include "UT_XformOrder.h"
17 #include <SYS/SYS_Types.h>
18 
19 /// Updates radian euler rotations @c rx, @c ry, and @c rz to have the closest
20 /// values to @c ox, @c oy, and @c oz radians while still describing the same
21 /// orientation.
22 /// Returns false if @c rx/ry/rz are gimbal locked, true otherwise.
23 /// @{
24 UT_API bool
26  fpreal32 &rx, fpreal32 &ry, fpreal32 &rz,
27  fpreal32 ox, fpreal32 oy, fpreal32 oz);
28 UT_API bool
30  fpreal64 &rx, fpreal64 &ry, fpreal64 &rz,
31  fpreal64 ox, fpreal64 oy, fpreal64 oz);
32 UT_API bool
34  const UT_Quaternion &q,
35  fpreal &rx, fpreal &ry, fpreal &rz,
36  fpreal ox, fpreal oy, fpreal oz);
37 /// @}
38 
39 #endif
40 
Transformation order of scales, rotates, and translates.
Definition: UT_XformOrder.h:23
#define UT_API
Definition: UT_API.h:14
GLdouble GLdouble GLdouble q
Definition: glad.h:2445
float fpreal32
Definition: SYS_Types.h:200
double fpreal64
Definition: SYS_Types.h:201
GLdouble GLdouble GLint GLint order
Definition: glad.h:2676
fpreal64 fpreal
Definition: SYS_Types.h:277
UT_API bool UTcrackMatrixSmooth(const UT_XformOrder &order, fpreal32 &rx, fpreal32 &ry, fpreal32 &rz, fpreal32 ox, fpreal32 oy, fpreal32 oz)