BsPhysicsMaterial.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "BsPhysicsMaterial.h"
  4. #include "BsPhysicsMaterialRTTI.h"
  5. #include "BsResources.h"
  6. #include "BsPhysics.h"
  7. namespace BansheeEngine
  8. {
  9. HPhysicsMaterial PhysicsMaterial::create(float staticFriction, float dynamicFriction, float restitution)
  10. {
  11. PhysicsMaterialPtr newMaterial = _createPtr(staticFriction, dynamicFriction, restitution);
  12. return static_resource_cast<PhysicsMaterial>(gResources()._createResourceHandle(newMaterial));
  13. }
  14. PhysicsMaterialPtr PhysicsMaterial::_createPtr(float staticFriction, float dynamicFriction, float restitution)
  15. {
  16. PhysicsMaterialPtr newMaterial = gPhysics().createMaterial(staticFriction, dynamicFriction, restitution);
  17. newMaterial->_setThisPtr(newMaterial);
  18. newMaterial->initialize();
  19. return newMaterial;
  20. }
  21. RTTITypeBase* PhysicsMaterial::getRTTIStatic()
  22. {
  23. return PhysicsMaterialRTTI::instance();
  24. }
  25. RTTITypeBase* PhysicsMaterial::getRTTI() const
  26. {
  27. return getRTTIStatic();
  28. }
  29. }