BsHandleSliderDisc.h 758 B

1234567891011121314151617181920212223242526272829303132
  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, bool fixedScale);
  11. ~HandleSliderDisc();
  12. bool intersects(const Ray& ray, float& t) const;
  13. void handleInput(const HCamera& camera, const Vector2I& pointerPos, const Ray& ray);
  14. Vector3 getDeltaDirection() const { return Vector3::ZERO; /* TODO */ }
  15. Quaternion getNewRotation() const { return mRotation; /* TODO */ }
  16. protected:
  17. virtual void updateCachedTransform() const;
  18. static const float TORUS_RADIUS;
  19. Vector3 mNormal;
  20. float mRadius;
  21. Matrix4 mTorusRotation;
  22. Torus mCollider;
  23. };
  24. }