2
0

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 "Physics/BsPhysicsMaterial.h"
  4. #include "Private/RTTI/BsPhysicsMaterialRTTI.h"
  5. #include "Resources/BsResources.h"
  6. #include "Physics/BsPhysics.h"
  7. namespace bs
  8. {
  9. HPhysicsMaterial PhysicsMaterial::create(float staticFriction, float dynamicFriction, float restitution)
  10. {
  11. SPtr<PhysicsMaterial> newMaterial = _createPtr(staticFriction, dynamicFriction, restitution);
  12. return static_resource_cast<PhysicsMaterial>(gResources()._createResourceHandle(newMaterial));
  13. }
  14. SPtr<PhysicsMaterial> PhysicsMaterial::_createPtr(float staticFriction, float dynamicFriction, float restitution)
  15. {
  16. SPtr<PhysicsMaterial> 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. }