Ejemplo n.º 1
0
        public static void MirrorTransformRotation(Plane mirrorPlane, Transform transform)
        {
            MirroredRotation mirroredRotation = MirrorMatrixRotation(mirrorPlane, transform.GetWorldMatrix());

            transform.rotation = mirroredRotation.Rotation;
            transform.SetWorldScale(mirroredRotation.AxesScale);
        }
Ejemplo n.º 2
0
        public static OrientedBox MirrorOrientedBox(Plane mirrorPlane, OrientedBox orientedBox, bool mirrorRotation)
        {
            OrientedBox mirroredBox = new OrientedBox(orientedBox);

            mirroredBox.AllowNegativeScale = true;
            mirroredBox.Center             = MirrorPosition(mirrorPlane, mirroredBox.Center);

            if (mirrorRotation)
            {
                MirroredRotation mirroredRotation = MirrorMatrixRotation(mirrorPlane, mirroredBox.TransformMatrix);
                mirroredBox.Rotation = mirroredRotation.Rotation;
                mirroredBox.Scale    = mirroredRotation.AxesScale;
            }

            return(mirroredBox);
        }