1//************************************ bs::framework - Copyright 2018 Marko Pintera **************************************//
2//*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********//
3#pragma once
4
5#include "BsCorePrerequisites.h"
6#include "Physics/BsJoint.h"
7
8namespace bs
9{
10 class PhysicsScene;
11 /** @addtogroup Physics
12 * @{
13 */
14
15 struct FIXED_JOINT_DESC;
16
17 /** Physics joint that will maintain a fixed distance and orientation between its two attached bodies. */
18 class BS_CORE_EXPORT FixedJoint : public Joint
19 {
20 public:
21 FixedJoint(const FIXED_JOINT_DESC& desc) { }
22 virtual ~FixedJoint() = default;
23
24 /**
25 * Creates a new fixed joint.
26 *
27 * @param[in] scene Scene to which to add the joint.
28 * @param[in] desc Settings describing the joint.
29 */
30 static SPtr<FixedJoint> create(PhysicsScene& scene, const FIXED_JOINT_DESC& desc);
31 };
32
33 /** Structure used for initializing a new FixedJoint. */
34 struct FIXED_JOINT_DESC : JOINT_DESC
35 { };
36
37 /** @} */
38}