FBX C++ API Reference
fbxmath.h File Reference

Go to the source code of this file.

Classes

class  FbxEuler
 

Macros

#define FBXSDK_PI   3.1415926535897932384626433832795028841971693993751
 PI mathematic constant. More...
 
#define FBXSDK_PI_DIV_2   1.5707963267948966192313216916397514420985846996875
 PI divided by 2. More...
 
#define FBXSDK_PI_DIV_180   0.017453292519943295769236907684886127134428718885417
 PI divived by 180. More...
 
#define FBXSDK_180_DIV_PI   57.295779513082320876798154814105170332405472466565
 180 divided by PI More...
 
#define FBXSDK_1_DIV_LN2   1.4426950408889634073599246810018921374266459541530
 1 divided by LogN2 More...
 
#define FBXSDK_DEG_TO_RAD   FBXSDK_PI_DIV_180
 Degree to Radian. More...
 
#define FBXSDK_RAD_TO_DEG   FBXSDK_180_DIV_PI
 Radian to Degree. More...
 
#define FBXSDK_IN_TO_CM   2.54
 Inch to Centimeter. More...
 
#define FBXSDK_MM_TO_CM   0.1
 Millimeter to Centimeter. More...
 
#define FBXSDK_CM_TO_IN   0.393700787
 Centimeter to Inch. More...
 
#define FBXSDK_IN_TO_MM   25.4
 Inch to Millimeter. More...
 
#define FBXSDK_MM_TO_IN   0.0393700787
 Millimeter to Inch. More...
 
#define FBXSDK_FT_TO_M   0.3048
 Feet to Meter. More...
 
#define FBXSDK_M_TO_FT   3.2808399
 Meter to Feet. More...
 
#define FBXSDK_YD_TO_FT   3
 Yard to Feet. More...
 
#define FBXSDK_FT_TO_YD   0.333333333
 Feet to Yard. More...
 
#define FBXSDK_KM_TO_MILE   0.621371192
 Kilometer to Mile. More...
 
#define FBXSDK_MILE_TO_KM   1.609344
 Mile to Kilometer. More...
 
#define FBXSDK_YD_TO_M   0.9144
 Yard to Meter. More...
 
#define FBXSDK_M_TO_YD   1.0936133
 Meter to Yard. More...
 
#define FBXSDK_EULER_DEGENERATE   FbxEuler::DegenerateThreshold()
 Euler degenerate threshold can be changed with a call to FbxEuler::SetDegenerateThreshold. More...
 
#define EFbxRotationOrder   FbxEuler::EOrder
 Rotation order flags. More...
 
#define eEulerXYZ   FbxEuler::eOrderXYZ
 
#define eEulerXZY   FbxEuler::eOrderXZY
 
#define eEulerYZX   FbxEuler::eOrderYZX
 
#define eEulerYXZ   FbxEuler::eOrderYXZ
 
#define eEulerZXY   FbxEuler::eOrderZXY
 
#define eEulerZYX   FbxEuler::eOrderZYX
 
#define eSphericXYZ   FbxEuler::eOrderSphericXYZ
 

Enumerations

enum  EFbxQuatInterpMode {
  eQuatInterpOff, eQuatInterpClassic, eQuatInterpSlerp, eQuatInterpCubic,
  eQuatInterpTangentDependent, eQuatInterpCount
}
 Quaternion interpolation modes. More...
 

Functions

float FbxFloor (const float x)
 
double FbxFloor (const double x)
 
float FbxCeil (const float x)
 
double FbxCeil (const double x)
 
template<class T >
FbxSign (const T x)
 
template<class T >
FbxRound (const T x)
 
FbxUChar FbxAbs (const FbxUChar x)
 
FbxUShort FbxAbs (const FbxUShort x)
 
FbxUInt FbxAbs (const FbxUInt x)
 
FbxULong FbxAbs (const FbxULong x)
 
FbxULongLong FbxAbs (const FbxULongLong x)
 
FbxFloat FbxAbs (const FbxFloat x)
 
FbxDouble FbxAbs (const FbxDouble x)
 
template<class T >
FbxAbs (const T x)
 
template<class T >
FbxClamp (const T value, const T min, const T max)
 
template<class T >
bool FbxEqual (const T x, const T y, const T e=(T)(1.0e-6))
 
bool FbxEqual (const FbxDouble2 &x, const FbxDouble2 &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxDouble3 &x, const FbxDouble3 &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxDouble4 &x, const FbxDouble4 &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxDouble4x4 &x, const FbxDouble4x4 &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxVector2 &x, const FbxVector2 &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxVector4 &x, const FbxVector4 &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxMatrix &x, const FbxMatrix &y, const double e=(1.0e-6))
 
bool FbxEqual (const FbxAMatrix &x, const FbxAMatrix &y, const double e=(1.0e-6))
 
FbxDouble FbxMod (const FbxFloat x, FbxFloat &i)
 
FbxDouble FbxMod (const FbxDouble x, FbxDouble &i)
 
FbxDouble FbxMod (const FbxFloat x)
 
FbxDouble FbxMod (const FbxDouble x)
 
template<class T >
FbxReciprocal (const T x)
 
double FbxSqrt (const double x)
 
float FbxSqrt (const float x)
 
template<class T >
FbxSqrt (const T x)
 
float FbxExp (const float x)
 
double FbxExp (const double x)
 
float FbxLog (const float x)
 
double FbxLog (const double x)
 
template<class T >
FbxPow (const T x, const T y)
 
template<class T >
FbxLog2 (const T x)
 
float FbxSin (const float x)
 
double FbxSin (const double x)
 
float FbxCos (const float x)
 
double FbxCos (const double x)
 
float FbxTan (const float x)
 
double FbxTan (const double x)
 
template<class T >
FbxSinCos (const T x, T *y)
 
template<class T >
FbxSinCosd (const T x, T *y)
 
float FbxASin (const float x)
 
double FbxASin (const double x)
 
template<class T >
FbxASind (const T x)
 
float FbxACos (const float x)
 
double FbxACos (const double x)
 
template<class T >
FbxACosd (const T x)
 
float FbxATan (const float x)
 
double FbxATan (const double x)
 
template<class T >
FbxATand (const T x)
 
float FbxATan (const float y, const float x)
 
double FbxATan (const double y, const double x)
 
template<class T >
FbxATand (const T y, const T x)
 
template<class T >
FbxNorm (const T x, const T y)
 
template<class T >
FbxNorm (const T x, const T y, const T z)
 
template<class T >
FbxNorm (const T w, const T x, const T y, const T z)
 
template<class T >
FbxHypot (const T x, const T y)
 
template<class T >
FbxHypot (const T x, const T y, const T z)
 
template<class T >
FbxHypot (const T w, const T x, const T y, const T z)
 
FbxVector4 FbxRejection (const FbxVector4 &a, const FbxVector4 &b)
 
template<class T >
int FbxBitCount (const T x)
 
template<class T >
void FbxFixInfinite (T &x)
 
template<class T >
FbxExp (const T x)
 
template<class T >
FbxLog (const T x)
 
template<class T >
FbxSin (const T x)
 
template<class T >
FbxCos (const T x)
 
template<class T >
FbxASin (const T x)
 
template<class T >
FbxACos (const T x)
 
template<class T >
FbxATan (const T x)
 
template<class T >
FbxATan (const T y, const T x)
 

Variables

const FbxDouble FbxIdentityMatrix [4][4]
 
const FbxVector4 FbxZeroVector4
 

Macro Definition Documentation

#define FBXSDK_PI   3.1415926535897932384626433832795028841971693993751

PI mathematic constant.

Definition at line 27 of file fbxmath.h.

#define FBXSDK_PI_DIV_2   1.5707963267948966192313216916397514420985846996875

PI divided by 2.

Definition at line 28 of file fbxmath.h.

#define FBXSDK_PI_DIV_180   0.017453292519943295769236907684886127134428718885417

PI divived by 180.

Examples:
ViewScene/SetCamera.cxx.

Definition at line 29 of file fbxmath.h.

#define FBXSDK_180_DIV_PI   57.295779513082320876798154814105170332405472466565

180 divided by PI

Examples:
ViewScene/SetCamera.cxx.

Definition at line 30 of file fbxmath.h.

#define FBXSDK_1_DIV_LN2   1.4426950408889634073599246810018921374266459541530

1 divided by LogN2

Definition at line 31 of file fbxmath.h.

#define FBXSDK_DEG_TO_RAD   FBXSDK_PI_DIV_180

Degree to Radian.

Definition at line 35 of file fbxmath.h.

#define FBXSDK_RAD_TO_DEG   FBXSDK_180_DIV_PI

Radian to Degree.

Definition at line 36 of file fbxmath.h.

#define FBXSDK_IN_TO_CM   2.54

Inch to Centimeter.

Definition at line 37 of file fbxmath.h.

#define FBXSDK_MM_TO_CM   0.1

Millimeter to Centimeter.

Definition at line 38 of file fbxmath.h.

#define FBXSDK_CM_TO_IN   0.393700787

Centimeter to Inch.

Definition at line 39 of file fbxmath.h.

#define FBXSDK_IN_TO_MM   25.4

Inch to Millimeter.

Definition at line 40 of file fbxmath.h.

#define FBXSDK_MM_TO_IN   0.0393700787

Millimeter to Inch.

Definition at line 41 of file fbxmath.h.

#define FBXSDK_FT_TO_M   0.3048

Feet to Meter.

Definition at line 42 of file fbxmath.h.

#define FBXSDK_M_TO_FT   3.2808399

Meter to Feet.

Definition at line 43 of file fbxmath.h.

#define FBXSDK_YD_TO_FT   3

Yard to Feet.

Definition at line 44 of file fbxmath.h.

#define FBXSDK_FT_TO_YD   0.333333333

Feet to Yard.

Definition at line 45 of file fbxmath.h.

#define FBXSDK_KM_TO_MILE   0.621371192

Kilometer to Mile.

Definition at line 46 of file fbxmath.h.

#define FBXSDK_MILE_TO_KM   1.609344

Mile to Kilometer.

Definition at line 47 of file fbxmath.h.

#define FBXSDK_YD_TO_M   0.9144

Yard to Meter.

Definition at line 48 of file fbxmath.h.

#define FBXSDK_M_TO_YD   1.0936133

Meter to Yard.

Definition at line 49 of file fbxmath.h.

#define FBXSDK_EULER_DEGENERATE   FbxEuler::DegenerateThreshold()

Euler degenerate threshold can be changed with a call to FbxEuler::SetDegenerateThreshold.

Definition at line 53 of file fbxmath.h.

#define EFbxRotationOrder   FbxEuler::EOrder

Rotation order flags.

Each rotate order produces a different end orientation. For example, if the rotation order for an object is set to XYZ, the object first rotates about its X-axis, then its Y-axis, and finally its Z-axis.

Examples:
ImportScene/main.cxx.

Definition at line 94 of file fbxmath.h.

#define eEulerXYZ   FbxEuler::eOrderXYZ
Examples:
ImportScene/main.cxx.

Definition at line 95 of file fbxmath.h.

#define eEulerXZY   FbxEuler::eOrderXZY
Examples:
ImportScene/main.cxx.

Definition at line 96 of file fbxmath.h.

#define eEulerYZX   FbxEuler::eOrderYZX
Examples:
ImportScene/main.cxx.

Definition at line 97 of file fbxmath.h.

#define eEulerYXZ   FbxEuler::eOrderYXZ
Examples:
ImportScene/main.cxx.

Definition at line 98 of file fbxmath.h.

#define eEulerZXY   FbxEuler::eOrderZXY
Examples:
ImportScene/main.cxx.

Definition at line 99 of file fbxmath.h.

#define eEulerZYX   FbxEuler::eOrderZYX
Examples:
ImportScene/main.cxx.

Definition at line 100 of file fbxmath.h.

#define eSphericXYZ   FbxEuler::eOrderSphericXYZ
Examples:
ExportScene05/main.cxx, and ImportScene/main.cxx.

Definition at line 101 of file fbxmath.h.

Enumeration Type Documentation

Quaternion interpolation modes.

Enumerator
eQuatInterpOff 

Do not evaluate using quaternion interpolation.

eQuatInterpClassic 

Legacy quaternion interpolation mode.

eQuatInterpSlerp 

Spherical linear interpolation.

eQuatInterpCubic 

Cubic interpolation.

eQuatInterpTangentDependent 

Mix between Slerp and cubic interpolation, depending on the specified tangents for each key.

eQuatInterpCount 

Number of quaternion interpolation modes.

Mark the end of this enum.

Definition at line 106 of file fbxmath.h.

107 {
114 };
Mix between Slerp and cubic interpolation, depending on the specified tangents for each key...
Definition: fbxmath.h:112
Spherical linear interpolation.
Definition: fbxmath.h:110
Do not evaluate using quaternion interpolation.
Definition: fbxmath.h:108
Cubic interpolation.
Definition: fbxmath.h:111
Legacy quaternion interpolation mode.
Definition: fbxmath.h:109
Number of quaternion interpolation modes.
Definition: fbxmath.h:113

Function Documentation

float FbxFloor ( const float  x)
inline

Definition at line 119 of file fbxmath.h.

120 {
121  return float(floor(x));
122 }
double FbxFloor ( const double  x)
inline

Definition at line 124 of file fbxmath.h.

125 {
126  return floor(x);
127 }
float FbxCeil ( const float  x)
inline

Definition at line 129 of file fbxmath.h.

130 {
131  return float(ceil(x));
132 }
double FbxCeil ( const double  x)
inline

Definition at line 134 of file fbxmath.h.

135 {
136  return ceil(x);
137 }
T FbxSign ( const T  x)
inline

Definition at line 139 of file fbxmath.h.

140 {
141  return (x < 0) ? T(-1) : T(1);
142 }
T FbxRound ( const T  x)
inline

Definition at line 144 of file fbxmath.h.

145 {
146  T y = FbxFloor(x);
147  return (x - y < T(0.5)) ? y : y + T(1);
148 }
float FbxFloor(const float x)
Definition: fbxmath.h:119
FbxUChar FbxAbs ( const FbxUChar  x)
inline

Definition at line 150 of file fbxmath.h.

151 {
152  return x;
153 }
FbxUShort FbxAbs ( const FbxUShort  x)
inline

Definition at line 155 of file fbxmath.h.

156 {
157  return x;
158 }
FbxUInt FbxAbs ( const FbxUInt  x)
inline

Definition at line 160 of file fbxmath.h.

161 {
162  return x;
163 }
FbxULong FbxAbs ( const FbxULong  x)
inline

Definition at line 166 of file fbxmath.h.

167  {
168  return x;
169  }
FbxULongLong FbxAbs ( const FbxULongLong  x)
inline

Definition at line 172 of file fbxmath.h.

173 {
174  return x;
175 }
FbxFloat FbxAbs ( const FbxFloat  x)
inline

Definition at line 177 of file fbxmath.h.

178 {
179  return (FbxFloat)fabs(x);
180 }
float FbxFloat
Definition: fbxtypes.h:41
FbxDouble FbxAbs ( const FbxDouble  x)
inline

Definition at line 182 of file fbxmath.h.

183 {
184  return fabs(x);
185 }
T FbxAbs ( const T  x)
inline

Definition at line 187 of file fbxmath.h.

188 {
189  return (x >= 0) ? x : ((x > FbxMin(x)) ? -x : FbxMax(x));
190 }
FbxChar FbxMax(const FbxChar)
Definition: fbxtypes.h:173
FbxChar FbxMin(const FbxChar)
Definition: fbxtypes.h:162
T FbxClamp ( const T  value,
const T  min,
const T  max 
)
inline

Definition at line 192 of file fbxmath.h.

193 {
194  return (value < min) ? min : ((value > max) ? max : value);
195 }
bool FbxEqual ( const T  x,
const T  y,
const T  e = (T) (1.0e-6) 
)
inline
Examples:
ImportScene/DisplayShape.cxx.

Definition at line 197 of file fbxmath.h.

198 {
199  return FbxAbs(x - y) <= e;
200 }
FbxUChar FbxAbs(const FbxUChar x)
Definition: fbxmath.h:150
bool FbxEqual ( const FbxDouble2 x,
const FbxDouble2 y,
const double  e = (1.0e-6) 
)
inline

Definition at line 202 of file fbxmath.h.

203 {
204  return ( FbxEqual(x.mData[0], y.mData[0], e) && FbxEqual(x.mData[1], y.mData[1], e) );
205 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxDouble3 x,
const FbxDouble3 y,
const double  e = (1.0e-6) 
)
inline

Definition at line 207 of file fbxmath.h.

208 {
209  return ( FbxEqual(x.mData[0], y.mData[0], e) && FbxEqual(x.mData[1], y.mData[1], e) && FbxEqual(x.mData[2], y.mData[2], e) );
210 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxDouble4 x,
const FbxDouble4 y,
const double  e = (1.0e-6) 
)
inline

Definition at line 212 of file fbxmath.h.

213 {
214  return ( FbxEqual(x.mData[0], y.mData[0], e) && FbxEqual(x.mData[1], y.mData[1], e) && FbxEqual(x.mData[2], y.mData[2], e) && FbxEqual(x.mData[3], y.mData[3], e) );
215 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxDouble4x4 x,
const FbxDouble4x4 y,
const double  e = (1.0e-6) 
)
inline

Definition at line 217 of file fbxmath.h.

218 {
219  return ( FbxEqual(x[0], y[0], e) && FbxEqual(x[1], y[1], e) && FbxEqual(x[2], y[2], e) && FbxEqual(x[3], y[3], e) );
220 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxVector2 x,
const FbxVector2 y,
const double  e = (1.0e-6) 
)
inline

Definition at line 222 of file fbxmath.h.

223 {
224  return ( FbxEqual(x.mData[0], y.mData[0], e) && FbxEqual(x.mData[1], y.mData[1], e) );
225 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxVector4 x,
const FbxVector4 y,
const double  e = (1.0e-6) 
)
inline

Definition at line 227 of file fbxmath.h.

228 {
229  return ( FbxEqual(x.mData[0], y.mData[0], e) && FbxEqual(x.mData[1], y.mData[1], e) && FbxEqual(x.mData[2], y.mData[2], e) && FbxEqual(x.mData[3], y.mData[3], e) );
230 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxMatrix x,
const FbxMatrix y,
const double  e = (1.0e-6) 
)
inline

Definition at line 232 of file fbxmath.h.

233 {
234  return ( FbxEqual(x[0], y[0], e) && FbxEqual(x[1], y[1], e) && FbxEqual(x[2], y[2], e) && FbxEqual(x[3], y[3], e) );
235 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
bool FbxEqual ( const FbxAMatrix x,
const FbxAMatrix y,
const double  e = (1.0e-6) 
)
inline

Definition at line 237 of file fbxmath.h.

238 {
239  return ( FbxEqual(x[0], y[0], e) && FbxEqual(x[1], y[1], e) && FbxEqual(x[2], y[2], e) && FbxEqual(x[3], y[3], e) );
240 }
bool FbxEqual(const T x, const T y, const T e=(T)(1.0e-6))
Definition: fbxmath.h:197
FbxDouble FbxMod ( const FbxFloat  x,
FbxFloat i 
)
inline

Definition at line 242 of file fbxmath.h.

243 {
244  return modff(x, &i);
245 }
FbxDouble FbxMod ( const FbxDouble  x,
FbxDouble i 
)
inline

Definition at line 247 of file fbxmath.h.

248 {
249  return modf(x, &i);
250 }
FbxDouble FbxMod ( const FbxFloat  x)
inline

Definition at line 252 of file fbxmath.h.

253 {
254  FbxFloat i;
255  return modff(x, &i);
256 }
float FbxFloat
Definition: fbxtypes.h:41
FbxDouble FbxMod ( const FbxDouble  x)
inline

Definition at line 258 of file fbxmath.h.

259 {
260  FbxDouble i;
261  return modf(x, &i);
262 }
double FbxDouble
Definition: fbxtypes.h:42
T FbxReciprocal ( const T  x)
inline

Definition at line 264 of file fbxmath.h.

265 {
266  return T(1) / x;
267 }
double FbxSqrt ( const double  x)
inline

Definition at line 269 of file fbxmath.h.

270 {
271  return sqrt(x);
272 }
float FbxSqrt ( const float  x)
inline

Definition at line 274 of file fbxmath.h.

275 {
276  return sqrtf(x);
277 }
T FbxSqrt ( const T  x)
inline

Definition at line 279 of file fbxmath.h.

280 {
281  if( x > 1 )
282  {
283  T z, y = x >> 1;
284  do
285  {
286  z = y;
287  y = (y + (x / y)) >> 1;
288  }
289  while(y < z);
290 
291  return z;
292  }
293  else
294  {
295  return x;
296  }
297 }
float FbxExp ( const float  x)
inline

Definition at line 299 of file fbxmath.h.

300 {
301  return expf(x);
302 }
double FbxExp ( const double  x)
inline

Definition at line 304 of file fbxmath.h.

305 {
306  return exp(x);
307 }
float FbxLog ( const float  x)
inline

Definition at line 309 of file fbxmath.h.

310 {
311  return float(log(x));
312 }
double FbxLog ( const double  x)
inline

Definition at line 314 of file fbxmath.h.

315 {
316  return log(x);
317 }
T FbxPow ( const T  x,
const T  y 
)
inline

Definition at line 319 of file fbxmath.h.

320 {
321  return (T)FbxExp(y * FbxLog((double)x));
322 }
float FbxLog(const float x)
Definition: fbxmath.h:309
float FbxExp(const float x)
Definition: fbxmath.h:299
T FbxLog2 ( const T  x)
inline

Definition at line 324 of file fbxmath.h.

325 {
326  return (T)(FbxLog(x) * FBXSDK_1_DIV_LN2);
327 }
#define FBXSDK_1_DIV_LN2
1 divided by LogN2
Definition: fbxmath.h:31
float FbxLog(const float x)
Definition: fbxmath.h:309
float FbxSin ( const float  x)
inline

Definition at line 329 of file fbxmath.h.

330 {
331  return sinf(x);
332 }
double FbxSin ( const double  x)
inline

Definition at line 334 of file fbxmath.h.

335 {
336  return sin(x);
337 }
float FbxCos ( const float  x)
inline

Definition at line 339 of file fbxmath.h.

340 {
341  return cosf(x);
342 }
double FbxCos ( const double  x)
inline

Definition at line 344 of file fbxmath.h.

345 {
346  return cos(x);
347 }
float FbxTan ( const float  x)
inline

Definition at line 349 of file fbxmath.h.

350 {
351  return tanf(x);
352 }
double FbxTan ( const double  x)
inline

Definition at line 354 of file fbxmath.h.

355 {
356  return tan(x);
357 }
T FbxSinCos ( const T  x,
T *  y 
)
inline

Definition at line 360 of file fbxmath.h.

361 {
362  return *y = FbxCos(x), FbxSin(x);
363 }
float FbxCos(const float x)
Definition: fbxmath.h:339
float FbxSin(const float x)
Definition: fbxmath.h:329
T FbxSinCosd ( const T  x,
T *  y 
)
inline

Definition at line 366 of file fbxmath.h.

367 {
368  return FbxSinCos(T(x * FBXSDK_PI_DIV_180), y);
369 }
T FbxSinCos(const T x, T *y)
Definition: fbxmath.h:360
#define FBXSDK_PI_DIV_180
PI divived by 180.
Definition: fbxmath.h:29
float FbxASin ( const float  x)
inline

Definition at line 371 of file fbxmath.h.

372 {
373  return asinf(x);
374 }
double FbxASin ( const double  x)
inline

Definition at line 376 of file fbxmath.h.

377 {
378  return asin(x);
379 }
T FbxASind ( const T  x)
inline

Definition at line 381 of file fbxmath.h.

382 {
383  return (T)(FbxASin((double)x) * FBXSDK_180_DIV_PI);
384 }
#define FBXSDK_180_DIV_PI
180 divided by PI
Definition: fbxmath.h:30
float FbxASin(const float x)
Definition: fbxmath.h:371
float FbxACos ( const float  x)
inline

Definition at line 386 of file fbxmath.h.

387 {
388  return acosf(x);
389 }
double FbxACos ( const double  x)
inline

Definition at line 391 of file fbxmath.h.

392 {
393  return acos(x);
394 }
T FbxACosd ( const T  x)
inline

Definition at line 396 of file fbxmath.h.

397 {
398  return (T)(FbxACos(x) * FBXSDK_180_DIV_PI);
399 }
#define FBXSDK_180_DIV_PI
180 divided by PI
Definition: fbxmath.h:30
float FbxACos(const float x)
Definition: fbxmath.h:386
float FbxATan ( const float  x)
inline

Definition at line 401 of file fbxmath.h.

402 {
403  return atanf(x);
404 }
double FbxATan ( const double  x)
inline

Definition at line 406 of file fbxmath.h.

407 {
408  return atan(x);
409 }
T FbxATand ( const T  x)
inline

Definition at line 411 of file fbxmath.h.

412 {
413  return (T)(FbxATan(x) * FBXSDK_180_DIV_PI);
414 }
#define FBXSDK_180_DIV_PI
180 divided by PI
Definition: fbxmath.h:30
float FbxATan(const float x)
Definition: fbxmath.h:401
float FbxATan ( const float  y,
const float  x 
)
inline

Definition at line 416 of file fbxmath.h.

417 {
418  return atan2f(y, x);
419 }
double FbxATan ( const double  y,
const double  x 
)
inline

Definition at line 421 of file fbxmath.h.

422 {
423  return atan2(y, x);
424 }
T FbxATand ( const T  y,
const T  x 
)
inline

Definition at line 426 of file fbxmath.h.

427 {
428  return (T)(FbxATan(y, x) * FBXSDK_180_DIV_PI);
429 }
#define FBXSDK_180_DIV_PI
180 divided by PI
Definition: fbxmath.h:30
float FbxATan(const float x)
Definition: fbxmath.h:401
T FbxNorm ( const T  x,
const T  y 
)
inline

Definition at line 431 of file fbxmath.h.

432 {
433  return FbxSqrt(x * x + y * y);
434 }
double FbxSqrt(const double x)
Definition: fbxmath.h:269
T FbxNorm ( const T  x,
const T  y,
const T  z 
)
inline

Definition at line 436 of file fbxmath.h.

437 {
438  return FbxSqrt(x * x + y * y + z * z);
439 }
double FbxSqrt(const double x)
Definition: fbxmath.h:269
T FbxNorm ( const T  w,
const T  x,
const T  y,
const T  z 
)
inline

Definition at line 441 of file fbxmath.h.

442 {
443  return FbxSqrt(w * w + x * x + y * y + z * z);
444 }
double FbxSqrt(const double x)
Definition: fbxmath.h:269
T FbxHypot ( const T  x,
const T  y 
)
inline

Definition at line 446 of file fbxmath.h.

447 {
448  return FbxSqrt(x * x + y * y);
449 }
double FbxSqrt(const double x)
Definition: fbxmath.h:269
T FbxHypot ( const T  x,
const T  y,
const T  z 
)
inline

Definition at line 451 of file fbxmath.h.

452 {
453  return FbxSqrt(x * x + y * y + z * z);
454 }
double FbxSqrt(const double x)
Definition: fbxmath.h:269
T FbxHypot ( const T  w,
const T  x,
const T  y,
const T  z 
)
inline

Definition at line 456 of file fbxmath.h.

457 {
458  return FbxSqrt(w * w + x * x + y * y + z * z);
459 }
double FbxSqrt(const double x)
Definition: fbxmath.h:269
FbxVector4 FbxRejection ( const FbxVector4 a,
const FbxVector4 b 
)
inline

Definition at line 461 of file fbxmath.h.

462 {
463  return a - b * (a.DotProduct(b) / b.DotProduct(b));
464 }
double DotProduct(const FbxVector4 &pVector) const
Calculate the dot product of two vectors.
int FbxBitCount ( const T  x)
inline

Definition at line 466 of file fbxmath.h.

467 {
468  int n = 0;
469  T c = x;
470  while( c )
471  {
472  n += int(c & 1);
473  c = (c >> 1);
474  }
475  return n;
476 }
void FbxFixInfinite ( T &  x)
inline

Definition at line 478 of file fbxmath.h.

479 {
480  if( x != x || x > FbxMax(x) || x < -FbxMax(x) )
481  {
482  x = T(0);
483  }
484 }
FbxChar FbxMax(const FbxChar)
Definition: fbxtypes.h:173
T FbxExp ( const T  x)
inline
T FbxLog ( const T  x)
inline
T FbxSin ( const T  x)
inline
T FbxCos ( const T  x)
inline
T FbxASin ( const T  x)
inline
T FbxACos ( const T  x)
inline
T FbxATan ( const T  x)
inline
T FbxATan ( const T  y,
const T  x 
)
inline

Variable Documentation

const FbxDouble FbxIdentityMatrix[4][4]
const FbxVector4 FbxZeroVector4