| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #include "BsRigidbody.h"
- #include "BsPhysics.h"
- #include "BsFCollider.h"
- #include "BsSceneObject.h"
- #include "BsUtility.h"
- namespace BansheeEngine
- {
- Rigidbody::Rigidbody(const HSceneObject& linkedSO)
- :mLinkedSO(linkedSO)
- {
- mPriority = Utility::getSceneObjectDepth(linkedSO);
- gPhysics().registerRigidbody(this, mPriority);
- }
- Rigidbody::~Rigidbody()
- {
- gPhysics().unregisterRigidbody(mPhysicsId, mPriority);
- }
- void Rigidbody::_setPriority(UINT32 priority)
- {
- gPhysics().updatePriority(mPhysicsId, mPriority, priority);
- mPriority = priority;
- }
- void Rigidbody::_setTransform(const Vector3& position, const Quaternion& rotation)
- {
- mLinkedSO->setWorldPosition(position);
- mLinkedSO->setWorldRotation(rotation);
- }
- SPtr<Rigidbody> Rigidbody::create(const HSceneObject& linkedSO)
- {
- return gPhysics().createRigidbody(linkedSO);
- }
- }
|