示例#1
0
 public static void Compose(ref Transform2D key1, ref Transform2D key2, ref Vector2 flipping, out Transform2D result)
 {
     result.Pos = key1.TransformPoint(key2.Pos, flipping);
     result.Rot = key1.Rot + key2.Rot;
     result.Scale = key1.Scale * key2.Scale;
     result.Origin = key2.Origin;
 }
示例#2
0
 public static void Compose(ref Transform2D key1, ref Transform2D key2, out Transform2D result)
 {
     Vector2 transformedPos = key1.TransformPoint(key2.Pos);
     result.Pos = transformedPos;
     result.Rot = key1.Rot + key2.Rot;
     result.Scale = key1.Scale * key2.Scale;
 }
示例#3
0
 public static void Compose(ref Transform2D key1, ref Transform2D key2, ref Vector2 flipping, out Transform2D result)
 {
     result.Pos    = key1.TransformPoint(key2.Pos, flipping);
     result.Rot    = key1.Rot + key2.Rot;
     result.Scale  = key1.Scale * key2.Scale;
     result.Origin = key2.Origin;
 }
示例#4
0
        public static void Compose(ref Transform2D key1, ref Transform2D key2, out Transform2D result)
        {
            Vector2 transformedPos = key1.TransformPoint(key2.Pos);

            result.Pos   = transformedPos;
            result.Rot   = key1.Rot + key2.Rot;
            result.Scale = key1.Scale * key2.Scale;
        }
示例#5
0
 public static void Compose(ref Transform2D key1, ref Transform2D key2, out Transform2D result)
 {
     Vector2 key2Origin = key2.Pos - key2.Origin;
     Vector2 transformedPos = key1.TransformPoint(key2Origin);
     result.Pos = transformedPos + key2.Origin * key1.Scale;
     result.Rot = key1.Rot + key2.Rot;
     result.Scale = key1.Scale * key2.Scale;
     result.Origin = key2.Origin;
 }
示例#6
0
 public static Transform2D Compose(Transform2D key1, Transform2D key2)
 {
     Transform2D result = new Transform2D();
     Vector2 transformedPos = key1.TransformPoint(key2.Pos);
     result.Pos = transformedPos;
     result.Rot = key1.Rot + key2.Rot;
     result.Scale = key1.Scale * key2.Scale;
     return result;
 }
示例#7
0
        public static void Compose(ref Transform2D key1, ref Transform2D key2, out Transform2D result)
        {
            Vector2 key2Origin     = key2.Pos - key2.Origin;
            Vector2 transformedPos = key1.TransformPoint(key2Origin);

            result.Pos    = transformedPos + key2.Origin * key1.Scale;
            result.Rot    = key1.Rot + key2.Rot;
            result.Scale  = key1.Scale * key2.Scale;
            result.Origin = key2.Origin;
        }
示例#8
0
        public static Transform2D Compose(Transform2D key1, Transform2D key2)
        {
            Transform2D result         = new Transform2D();
            Vector2     transformedPos = key1.TransformPoint(key2.Pos);

            result.Pos   = transformedPos;
            result.Rot   = key1.Rot + key2.Rot;
            result.Scale = key1.Scale * key2.Scale;
            return(result);
        }
示例#9
0
        public static Transform2D Compose(Transform2D key1, Transform2D key2)
        {
            Transform2D result = new Transform2D();
            Vector2 key2Origin = key2.Pos - key2.Origin;
            Vector2 transformedPos = key1.TransformPoint(key2Origin);
            result.Pos = transformedPos + key2.Origin * key1.Scale;
            result.Rot = key1.Rot + key2.Rot;
            result.Scale = key1.Scale * key2.Scale;
            result.Origin = key2.Origin;
            return result;

            // Old way that didn't take origin into account
            //Vector2 transformedPos = key1.TransformPoint(key2.Pos);
            //result.Pos = transformedPos;
            //result.Rot = key1.Rot + key2.Rot;
            //result.Scale = key1.Scale * key2.Scale;
        }
示例#10
0
        public static Transform2D Compose(Transform2D key1, Transform2D key2)
        {
            Transform2D result         = new Transform2D();
            Vector2     key2Origin     = key2.Pos - key2.Origin;
            Vector2     transformedPos = key1.TransformPoint(key2Origin);

            result.Pos    = transformedPos + key2.Origin * key1.Scale;
            result.Rot    = key1.Rot + key2.Rot;
            result.Scale  = key1.Scale * key2.Scale;
            result.Origin = key2.Origin;
            return(result);


            // Old way that didn't take origin into account
            //Vector2 transformedPos = key1.TransformPoint(key2.Pos);
            //result.Pos = transformedPos;
            //result.Rot = key1.Rot + key2.Rot;
            //result.Scale = key1.Scale * key2.Scale;
        }