MatrixDecomposition.h 877 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <fbxsdk.h>
  3. #include "BabylonVertex.h"
  4. class MatrixDecomposition
  5. {
  6. babylon_vector3 _trans;
  7. babylon_vector4 _quat;
  8. babylon_vector3 _scaling;
  9. FbxVector4 _fbxtrans;
  10. FbxQuaternion _fbxrot;
  11. FbxVector4 _fbxshearing;
  12. FbxVector4 _fbxscaling;
  13. public:
  14. const babylon_vector3& translation() { return _trans; }
  15. const babylon_vector4& rotationQuaternion() { return _quat; }
  16. const babylon_vector3& scaling() { return _scaling; }
  17. const FbxVector4& fbxtrans() { return _fbxtrans; };
  18. const FbxQuaternion& fbxrot() { return _fbxrot; };
  19. const FbxVector4& fbxshearing() { return _fbxshearing; };
  20. const FbxVector4& fbxscaling() { return _fbxscaling; };
  21. MatrixDecomposition(const FbxMatrix& mat){
  22. double sign;
  23. mat.GetElements(_fbxtrans, _fbxrot, _fbxshearing, _fbxscaling, sign);
  24. _trans = _fbxtrans;
  25. _quat = _fbxrot;
  26. _scaling = _fbxscaling;
  27. }
  28. };