Ejemplo n.º 1
0
        // Calculate and return the inverse matrix
        public static Perspective operator~(Perspective b)
        {
            Perspective ret = b;

            ret.Invert();
            return(ret);
        }
Ejemplo n.º 2
0
        //------------------------------------------------------------------------
        public Perspective MultiplyInverse(Perspective m)
        {
            Perspective t = m;

            t.Invert();
            return(Multiply(t));
        }
Ejemplo n.º 3
0
        // Multiply inverse of "m" by "this" and assign the result to "this"
        public Perspective PreMultiplyInverse(Affine m)
        {
            Perspective t = new Perspective(m);

            t.Invert();
            Set(t.Multiply(this));
            return(this);
        }
Ejemplo n.º 4
0
        //------------------------------------------------------------------------
        public Perspective PreMultiplyInverse(Perspective m)
        {
            Perspective t = m;

            t.Invert();
            Set(t.Multiply(this));
            return(this);
        }
Ejemplo n.º 5
0
        // Inverse transformation of x and y. It works slow because
        // it explicitly inverts the matrix on every call. For massive
        // operations it's better to Invert() the matrix and then use
        // direct transformations.
        public void InverseTransform(ref double x, ref double y)
        {
            Perspective t = new Perspective(this);

            if (t.Invert())
            {
                t.Transform(ref x, ref y);
            }
        }
Ejemplo n.º 6
0
 // Multiply inverse of "m" by "this" and assign the result to "this"
 public Perspective PreMultiplyInverse(Affine m)
 {
     Perspective t=new Perspective(m);
     t.Invert();
     Set(t.Multiply(this));
     return this;
 }
Ejemplo n.º 7
0
 // Inverse transformation of x and y. It works slow because
 // it explicitly inverts the matrix on every call. For massive
 // operations it's better to Invert() the matrix and then use
 // direct transformations.
 public void InverseTransform(ref double x, ref double y)
 {
     Perspective t = new Perspective(this);
     if(t.Invert()) t.Transform(ref x, ref y);
 }