BabylonSkeleton.h 1014 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include <string>
  3. #include <vector>
  4. #include <fbxsdk.h>
  5. #include <cpprest\json.h>
  6. #include "BabylonAnimation.h"
  7. class BabylonBone{
  8. public:
  9. std::wstring name;
  10. int index;
  11. int parentBoneIndex = -1;
  12. FbxMatrix matrix;
  13. std::shared_ptr<BabylonAnimation<FbxMatrix>> animation;
  14. web::json::value toJson();
  15. BabylonBone() = default;
  16. BabylonBone(const BabylonBone&) = default;
  17. BabylonBone(BabylonBone&& moved) :
  18. name(std::move(moved.name)),
  19. index(std::move(moved.index)),
  20. parentBoneIndex(std::move(moved.parentBoneIndex)),
  21. matrix(std::move(moved.matrix)),
  22. animation(std::move(moved.animation))
  23. {}
  24. //public BabylonAnimation animation{ get; set; }
  25. };
  26. class BabylonSkeleton
  27. {
  28. public:
  29. int id;
  30. std::wstring name;
  31. std::vector<BabylonBone> bones;
  32. web::json::value toJson();
  33. BabylonSkeleton();
  34. BabylonSkeleton(const BabylonSkeleton&) = default;
  35. BabylonSkeleton(BabylonSkeleton&& moved) :
  36. id(std::move(moved.id)),
  37. name(std::move(moved.name)),
  38. bones(std::move(moved.bones))
  39. {
  40. }
  41. };