22 void PhysxSphericalJoint::
23 link(NxJoint *jointPtr) {
25 _ptr = jointPtr->isSphericalJoint();
26 _ptr->userData =
this;
32 scene->_joints.add(
this);
38 void PhysxSphericalJoint::
41 _ptr->userData =
nullptr;
42 _error_type = ET_released;
45 scene->_joints.remove(
this);
54 nassertv(_error_type == ET_ok);
55 _ptr->saveToDesc(jointDesc._desc);
64 nassertv(_error_type == ET_ok);
65 _ptr->loadFromDesc(jointDesc._desc);
74 nassertv(_error_type == ET_ok);
75 _ptr->setProjectionMode((NxJointProjectionMode)mode);
84 nassertr(_error_type == ET_ok, PM_none);
85 return (PhysxProjectionMode)_ptr->getProjectionMode();
92 set_flag(PhysxSphericalJointFlag flag,
bool value) {
94 nassertv(_error_type == ET_ok);
95 NxU32 flags = _ptr->getFlags();
104 _ptr->setFlags(flags);
113 nassertr(_error_type == ET_ok,
false);
114 return (_ptr->getFlags() & flag) ? true :
false;