BsDistanceJoint.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsCorePrerequisites.h"
  5. #include "BsJoint.h"
  6. namespace BansheeEngine
  7. {
  8. class BS_CORE_EXPORT DistanceJoint : public Joint
  9. {
  10. public:
  11. enum class Flag
  12. {
  13. MinDistance = 0x1,
  14. MaxDistance = 0x2,
  15. Spring = 0x4
  16. };
  17. public:
  18. virtual ~DistanceJoint() { }
  19. virtual float getDistance() const = 0;
  20. virtual float getMinDistance() const = 0;
  21. virtual void setMinDistance(float value) = 0;
  22. virtual float getMaxDistance() const = 0;
  23. virtual void setMaxDistance(float value) = 0;
  24. virtual float getTolerance() const = 0;
  25. virtual void setTolerance(float value) = 0;
  26. virtual Spring getSpring() const = 0;
  27. virtual void setSpring(const Spring& value) = 0;
  28. virtual void setFlag(Flag flag, bool enabled) = 0;
  29. virtual bool hasFlag(Flag flag) = 0;
  30. static SPtr<DistanceJoint> create();
  31. };
  32. }