BabylonCamera.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #pragma once
  2. #include <cpprest\json.h>
  3. #include <string>
  4. #include "BabylonVertex.h"
  5. #include <fbxsdk.h>
  6. #include "BabylonNode.h"
  7. #include "BabylonAnimation.h"
  8. #include <memory>
  9. class BabylonCamera
  10. {
  11. public:
  12. std::wstring name;
  13. std::wstring id;
  14. std::wstring parentId;
  15. std::wstring lockedTargetId;
  16. std::wstring type;
  17. babylon_vector3 position;
  18. babylon_vector4 rotationQuaternion = babylon_vector4(0,0,0,1);
  19. babylon_vector3 target;
  20. float fov =.8f;
  21. float minZ = .1f;
  22. float maxZ = 5000;
  23. float speed = 1;
  24. float inertia = .9f;
  25. bool checkCollisions = false;
  26. bool applyGravity = false;
  27. babylon_vector3 ellipsoid;
  28. bool autoAnimate = false;
  29. int autoAnimateFrom = 0;
  30. int autoAnimateTo = 0;
  31. bool autoAnimateLoop = false;
  32. std::vector<std::shared_ptr < BabylonAnimation<babylon_vector3>>> animations;
  33. std::vector<std::shared_ptr < BabylonAnimation<babylon_vector4>>> quatAnimations;
  34. web::json::value toJson() const;
  35. BabylonCamera();
  36. BabylonCamera(BabylonNode& babnode);
  37. BabylonCamera(const BabylonCamera& ) = default;
  38. BabylonCamera(BabylonCamera&& moved);
  39. ~BabylonCamera();
  40. };
  41. BabylonCamera buildCameraFromBoundingBox(const babylon_boundingbox& box);