BsHandleSliderDisc.h 847 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsHandleSlider.h"
  4. #include "BsTorus.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_ED_EXPORT HandleSliderDisc : public HandleSlider
  8. {
  9. public:
  10. HandleSliderDisc(const Vector3& normal, float radius, float snapValue, bool fixedScale);
  11. ~HandleSliderDisc();
  12. bool intersects(const Ray& ray, float& t) const;
  13. void update(const HCamera& camera, const Vector2I& pointerPos, const Ray& ray);
  14. float getDelta() const { return 0.0f; /* TODO */ }
  15. Vector3 getDeltaDirection() const { return Vector3::ZERO; /* TODO */ }
  16. Quaternion getNewRotation() const { return mRotation; /* TODO */ }
  17. protected:
  18. virtual void updateCachedTransform() const;
  19. virtual void reset();
  20. static const float TORUS_RADIUS;
  21. Vector3 mNormal;
  22. float mRadius;
  23. Matrix4 mTorusRotation;
  24. Torus mCollider;
  25. };
  26. }