| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsPhysXPrerequisites.h"
- #include "Physics/BsFJoint.h"
- #include "extensions/PxJoint.h"
- namespace bs
- {
- /** @addtogroup PhysX
- * @{
- */
- /** PhysX implementation of an FJoint. */
- class FPhysXJoint : public FJoint
- {
- public:
- FPhysXJoint(physx::PxJoint* joint, const JOINT_DESC& desc);
- ~FPhysXJoint();
- /** @copydoc FJoint::getBody */
- Rigidbody* getBody(JointBody body) const override;
- /** @copydoc FJoint::setBody */
- void setBody(JointBody body, Rigidbody* value) override;
- /** @copydoc FJoint::getPosition */
- Vector3 getPosition(JointBody body) const override;
- /** @copydoc FJoint::getRotation */
- Quaternion getRotation(JointBody body) const override;
- /** @copydoc FJoint::setTransform */
- void setTransform(JointBody body, const Vector3& position, const Quaternion& rotation) override;
- /** @copydoc FJoint::getBreakForce */
- float getBreakForce() const override;
- /** @copydoc FJoint::setBreakForce */
- void setBreakForce(float force) override;
- /** @copydoc FJoint::getBreakTorque */
- float getBreakTorque() const override;
- /** @copydoc FJoint::setBreakTorque */
- void setBreakTorque(float torque) override;
- /** @copydoc FJoint::getEnableCollision */
- bool getEnableCollision() const override;
- /** @copydoc FJoint::setEnableCollision */
- void setEnableCollision(bool value) override;
- /** Gets the internal PhysX joint object. */
- physx::PxJoint* _getInternal() const { return mJoint; }
- protected:
- physx::PxJoint* mJoint;
- };
- /** @} */
- }
|