Public feed
#889058
public virtual NxJoint createJoint(NxJointDesc jointDesc)
{
NxJoint joint = null;
if (jointDesc is NxSphericalJointDesc)
{
NxSphericalJointDesc desc = (NxSphericalJointDesc) jointDesc;
joint = NxSphericalJoint.createFromPointer(wrapper_Scene_createSphericalJoint(this.nxScenePtr, desc.actor[0].NxActorPtr, desc.actor[1].NxActorPtr, ref desc.localNormal[0], ref desc.localNormal[1], ref desc.localAxis[0], ref desc.localAxis[1], ref desc.localAnchor[0], ref desc.localAnchor[1], desc.maxForce, desc.maxTorque, desc.userData, desc.internalNamePtr, desc.jointFlags, ref desc.swingAxis, desc.projectionDistance, desc.twistLimit, ref desc.swingLimit, desc.twistSpring, desc.swingSpring, desc.jointSpring, desc.flags, desc.projectionMode));
}
else if (jointDesc is NxRevoluteJointDesc)
{
NxRevoluteJointDesc desc2 = (NxRevoluteJointDesc) jointDesc;
joint = NxRevoluteJoint.createFromPointer(wrapper_Scene_createRevoluteJoint(this.nxScenePtr, desc2.actor[0].NxActorPtr, desc2.actor[1].NxActorPtr, ref desc2.localNormal[0], ref desc2.localNormal[1], ref desc2.localAxis[0], ref desc2.localAxis[1], ref desc2.localAnchor[0], ref desc2.localAnchor[1], desc2.maxForce, desc2.maxTorque, desc2.userData, desc2.internalNamePtr, desc2.jointFlags, desc2.limit, desc2.motor, desc2.spring, desc2.projectionDistance, desc2.projectionAngle, desc2.flags, desc2.projectionMode));
}
else if (jointDesc is NxCylindricalJointDesc)
{
NxCylindricalJointDesc desc3 = (NxCylindricalJointDesc) jointDesc;
joint = NxCylindricalJoint.createFromPointer(wrapper_Scene_createCylindricalJoint(this.nxScenePtr, desc3.actor[0].NxActorPtr, desc3.actor[1].NxActorPtr, ref desc3.localNormal[0], ref desc3.localNormal[1], ref desc3.localAxis[0], ref desc3.localAxis[1], ref desc3.localAnchor[0], ref desc3.localAnchor[1], desc3.maxForce, desc3.maxTorque, desc3.userData, desc3.internalNamePtr, desc3.jointFlags));
}
else if (jointDesc is NxPrismaticJointDesc)
{
NxPrismaticJointDesc desc4 = (NxPrismaticJointDesc) jointDesc;
joint = NxPrismaticJoint.createFromPointer(wrapper_Scene_createPrismaticJoint(this.nxScenePtr, desc4.actor[0].NxActorPtr, desc4.actor[1].NxActorPtr, ref desc4.localNormal[0], ref desc4.localNormal[1], ref desc4.localAxis[0], ref desc4.localAxis[1], ref desc4.localAnchor[0], ref desc4.localAnchor[1], desc4.maxForce, desc4.maxTorque, desc4.userData, desc4.internalNamePtr, desc4.jointFlags));
}
else if (jointDesc is NxFixedJointDesc)
{
NxFixedJointDesc desc5 = (NxFixedJointDesc) jointDesc;
joint = NxFixedJoint.createFromPointer(wrapper_Scene_createFixedJoint(this.nxScenePtr, desc5.actor[0].NxActorPtr, desc5.actor[1].NxActorPtr, ref desc5.localNormal[0], ref desc5.localNormal[1], ref desc5.localAxis[0], ref desc5.localAxis[1], ref desc5.localAnchor[0], ref desc5.localAnchor[1], desc5.maxForce, desc5.maxTorque, desc5.userData, desc5.internalNamePtr, desc5.jointFlags));
}
else if (jointDesc is NxDistanceJointDesc)
{
NxDistanceJointDesc desc6 = (NxDistanceJointDesc) jointDesc;
joint = NxDistanceJoint.createFromPointer(wrapper_Scene_createDistanceJoint(this.nxScenePtr, desc6.actor[0].NxActorPtr, desc6.actor[1].NxActorPtr, ref desc6.localNormal[0], ref desc6.localNormal[1], ref desc6.localAxis[0], ref desc6.localAxis[1], ref desc6.localAnchor[0], ref desc6.localAnchor[1], desc6.maxForce, desc6.maxTorque, desc6.userData, desc6.internalNamePtr, desc6.jointFlags, desc6.maxDistance, desc6.minDistance, desc6.spring, desc6.flags));
}
else if (jointDesc is NxPointInPlaneJointDesc)
{
NxPointInPlaneJointDesc desc7 = (NxPointInPlaneJointDesc) jointDesc;
joint = NxPointInPlaneJoint.createFromPointer(wrapper_Scene_createPointInPlaneJoint(this.nxScenePtr, desc7.actor[0].NxActorPtr, desc7.actor[1].NxActorPtr, ref desc7.localNormal[0], ref desc7.localNormal[1], ref desc7.localAxis[0], ref desc7.localAxis[1], ref desc7.localAnchor[0], ref desc7.localAnchor[1], desc7.maxForce, desc7.maxTorque, desc7.userData, desc7.internalNamePtr, desc7.jointFlags));
}
else if (jointDesc is NxPointOnLineJointDesc)
{
NxPointOnLineJointDesc desc8 = (NxPointOnLineJointDesc) jointDesc;
joint = NxPointOnLineJoint.createFromPointer(wrapper_Scene_createPointOnLineJoint(this.nxScenePtr, desc8.actor[0].NxActorPtr, desc8.actor[1].NxActorPtr, ref desc8.localNormal[0], ref desc8.localNormal[1], ref desc8.localAxis[0], ref desc8.localAxis[1], ref desc8.localAnchor[0], ref desc8.localAnchor[1], desc8.maxForce, desc8.maxTorque, desc8.userData, desc8.internalNamePtr, desc8.jointFlags));
}
else if (jointDesc is NxPulleyJointDesc)
{
NxPulleyJointDesc desc9 = (NxPulleyJointDesc) jointDesc;
joint = NxPulleyJoint.createFromPointer(wrapper_Scene_createPulleyJoint(this.nxScenePtr, desc9.actor[0].NxActorPtr, desc9.actor[1].NxActorPtr, ref desc9.localNormal[0], ref desc9.localNormal[1], ref desc9.localAxis[0], ref desc9.localAxis[1], ref desc9.localAnchor[0], ref desc9.localAnchor[1], desc9.maxForce, desc9.maxTorque, desc9.userData, desc9.internalNamePtr, desc9.jointFlags, ref desc9.pulley_0, ref desc9.pulley_1, desc9.distance, desc9.stiffness, desc9.ratio, desc9.flags, desc9.motor));
}
else if (jointDesc is NxD6JointDesc)
{
NxD6JointDesc desc10 = (NxD6JointDesc) jointDesc;
joint = NxD6Joint.createFromPointer(wrapper_Scene_createD6Joint(this.nxScenePtr, desc10.actor[0].NxActorPtr, desc10.actor[1].NxActorPtr, ref desc10.localNormal[0], ref desc10.localNormal[1], ref desc10.localAxis[0], ref desc10.localAxis[1], ref desc10.localAnchor[0], ref desc10.localAnchor[1], desc10.maxForce, desc10.maxTorque, desc10.userData, desc10.internalNamePtr, desc10.jointFlags, desc10.xMotion, desc10.yMotion, desc10.zMotion, desc10.swing1Motion, desc10.swing2Motion, desc10.twistMotion, ref desc10.linearLimit, ref desc10.swing1Limit, ref desc10.swing2Limit, desc10.twistLimit, ref desc10.xDrive, ref desc10.yDrive, ref desc10.zDrive, ref desc10.swingDrive, ref desc10.twistDrive, ref desc10.slerpDrive, ref desc10.drivePosition, ref desc10.driveOrientation, ref desc10.driveLinearVelocity, ref desc10.driveAngularVelocity, desc10.projectionMode, desc10.projectionDistance, desc10.projectionAngle, desc10.gearRatio, desc10.flags));
}
else
{
return null;
}
if (joint != null)
{
joint.UserData = jointDesc.userData;
joint.Name = jointDesc.Name;
}
return joint;
}