コード例 #1
0
        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);
        }