public static void SetInBodySpace(this HkPrismaticConstraintData data, Vector3 posA, Vector3 posB, Vector3 axisA, Vector3 axisB, Vector3 axisAPerp, Vector3 axisBPerp, MyPhysicsBody bodyA, MyPhysicsBody bodyB) { if (bodyA.IsWelded) { posA = Vector3.Transform(posA, bodyA.WeldInfo.Transform); axisA = Vector3.TransformNormal(axisA, bodyA.WeldInfo.Transform); axisAPerp = Vector3.TransformNormal(axisAPerp, bodyA.WeldInfo.Transform); } if (bodyB.IsWelded) { posB = Vector3.Transform(posB, bodyB.WeldInfo.Transform); axisB = Vector3.TransformNormal(axisB, bodyB.WeldInfo.Transform); axisBPerp = Vector3.TransformNormal(axisBPerp, bodyB.WeldInfo.Transform); } data.SetInBodySpaceInternal(ref posA, ref posB, ref axisA, ref axisB, ref axisAPerp, ref axisBPerp); }