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. HPhysicsMaterial PhysicsMaterial::create(float staticFriction, float dynamicFriction, float restitution)
  8. {
  9. PhysicsMaterialPtr newMaterial = _createPtr(staticFriction, dynamicFriction, restitution);
  10. return static_resource_cast<PhysicsMaterial>(gResources()._createResourceHandle(newMaterial));
  11. }
  12. PhysicsMaterialPtr PhysicsMaterial::_createPtr(float staticFriction, float dynamicFriction, float restitution)
  13. {
  14. PhysicsMaterialPtr newMaterial = gPhysics().createMaterial(staticFriction, dynamicFriction, restitution);
  15. newMaterial->_setThisPtr(newMaterial);
  16. newMaterial->initialize();
  17. return newMaterial;
  18. }
  19. RTTITypeBase* PhysicsMaterial::getRTTIStatic()
  20. {
  21. return PhysicsMaterialRTTI::instance();
  22. }
  23. RTTITypeBase* PhysicsMaterial::getRTTI() const
  24. {
  25. return getRTTIStatic();
  26. }
  27. }