bool PxInitExtensions(PxPhysics& physics) { PX_ASSERT(static_cast<Ps::Foundation*>(&physics.getFoundation()) == &Ps::Foundation::getInstance()); Ps::Foundation::incRefCount(); physics.registerClass(PxConcreteType::eUSER_SPHERICAL_JOINT, Ext::SphericalJoint::createInstance); physics.registerClass(PxConcreteType::eUSER_REVOLUTE_JOINT, Ext::RevoluteJoint::createInstance); physics.registerClass(PxConcreteType::eUSER_DISTANCE_JOINT, Ext::DistanceJoint::createInstance); physics.registerClass(PxConcreteType::eUSER_D6_JOINT, Ext::D6Joint::createInstance); physics.registerClass(PxConcreteType::eUSER_PRISMATIC_JOINT, Ext::PrismaticJoint::createInstance); physics.registerClass(PxConcreteType::eUSER_FIXED_JOINT, Ext::FixedJoint::createInstance); #if PX_SUPPORT_VISUAL_DEBUGGER if ( physics.getPvdConnectionManager() != NULL ) physics.getPvdConnectionManager()->addHandler( gPvdHandler ); #endif return true; }