BsPhysicsMaterial.cpp 975 B

123456789101112131415161718192021222324252627282930313233
  1. #include "BsPhysicsMaterial.h"
  2. #include "BsPhysicsMaterialRTTI.h"
  3. #include "BsResources.h"
  4. #include "BsPhysics.h"
  5. namespace BansheeEngine
  6. {
  7. RTTITypeBase* PhysicsMaterial::getRTTIStatic()
  8. {
  9. return PhysicsMaterialRTTI::instance();
  10. }
  11. RTTITypeBase* PhysicsMaterial::getRTTI() const
  12. {
  13. return getRTTIStatic();
  14. }
  15. HPhysicsMaterial PhysicsMaterial::create(float staticFriction, float dynamicFriction, float restitution)
  16. {
  17. PhysicsMaterialPtr newMaterial = _createPtr(staticFriction, dynamicFriction, restitution);
  18. return static_resource_cast<PhysicsMaterial>(gResources()._createResourceHandle(newMaterial));
  19. }
  20. PhysicsMaterialPtr PhysicsMaterial::_createPtr(float staticFriction, float dynamicFriction, float restitution)
  21. {
  22. PhysicsMaterialPtr newMaterial = gPhysics().createMaterial(staticFriction, dynamicFriction, restitution);
  23. newMaterial->_setThisPtr(newMaterial);
  24. newMaterial->initialize();
  25. return newMaterial;
  26. }
  27. }