6#include "physxnode/qphysxactorbody_p.h"
10#include <extensions/PxSphericalJoint.h>
15
16
17
18
19
20
21
22
23
24
25
26
27
30
31
32
33
34
35
38
39
40
41
42
43
46
47
48
49
50
51
53float QSphericalJoint::coneLimitY()
const
58void QSphericalJoint::setConeLimitY(
float newConeLimitY)
60 if (qFuzzyCompare(m_coneLimitY, newConeLimitY))
62 m_coneLimitY = newConeLimitY;
63 m_dirtyProperties =
true;
64 emit coneLimitYChanged();
67float QSphericalJoint::coneLimitZ()
const
72void QSphericalJoint::setConeLimitZ(
float newConeLimitZ)
74 if (qFuzzyCompare(m_coneLimitZ, newConeLimitZ))
76 m_coneLimitZ = newConeLimitZ;
77 m_dirtyProperties =
true;
78 emit coneLimitZChanged();
81bool QSphericalJoint::enableConeLimit()
const
83 return m_enableConeLimit;
86void QSphericalJoint::setEnableConeLimit(
bool newEnableConeLimit)
88 if (m_enableConeLimit == newEnableConeLimit)
90 m_enableConeLimit = newEnableConeLimit;
91 m_dirtyProperties =
true;
92 emit enableConeLimitChanged();
95physx::PxJoint *QSphericalJoint::createPhysxJoint(physx::PxRigidActor *actorA,
96 physx::PxRigidActor *actorB,
97 const physx::PxTransform &trfA,
98 const physx::PxTransform &trfB)
100 return physx::PxSphericalJointCreate(*StaticPhysXObjects::getReference().physics, actorA, trfA,
104void QSphericalJoint::setJointProperties()
106 physx::PxSphericalJoint *joint =
static_cast<physx::PxSphericalJoint *>(m_joint);
107 joint->setLimitCone(physx::PxJointLimitCone(m_coneLimitY, m_coneLimitZ));
108 joint->setSphericalJointFlag(physx::PxSphericalJointFlag::eLIMIT_ENABLED, m_enableConeLimit);
#define QT_BEGIN_NAMESPACE