BsPhysicsMaterial.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435
  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 "BsResource.h"
  6. namespace BansheeEngine
  7. {
  8. class BS_CORE_EXPORT PhysicsMaterial : public Resource
  9. {
  10. public:
  11. virtual ~PhysicsMaterial() { }
  12. virtual void setStaticFriction(float value) = 0;
  13. virtual float getStaticFriction() const = 0;
  14. virtual void setDynamicFriction(float value) = 0;
  15. virtual float getDynamicFriction() const = 0;
  16. virtual void setRestitutionCoefficient(float value) = 0;
  17. virtual float getRestitutionCoefficient() const = 0;
  18. static HPhysicsMaterial create(float staticFriction = 0.0f, float dynamicFriction = 0.0f, float restitution = 0.0f);
  19. static PhysicsMaterialPtr _createPtr(float staticFriction = 0.0f, float dynamicFriction = 0.0f, float restitution = 0.0f);
  20. /************************************************************************/
  21. /* SERIALIZATION */
  22. /************************************************************************/
  23. public:
  24. friend class PhysicsMaterialRTTI;
  25. static RTTITypeBase* getRTTIStatic();
  26. RTTITypeBase* getRTTI() const override;
  27. };
  28. }