2003-09-17 21:56:59 +00:00
<Type Name= "Affine" FullName= "Art.Affine" >
<TypeSignature Language= "C#" Value= "public class Affine" Maintainer= "auto" />
<AssemblyInfo >
<AssemblyName > art-sharp</AssemblyName>
2003-12-24 01:35:30 +00:00
<AssemblyPublicKey >
</AssemblyPublicKey>
2003-09-17 21:56:59 +00:00
</AssemblyInfo>
<ThreadSafetyStatement > Gtk# is thread aware, but not thread safe; See the <link location= "node:gtk-sharp/programming/threads" > Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<Base >
<BaseTypeName > System.Object</BaseTypeName>
</Base>
<Interfaces />
2009-01-08 16:34:10 +00:00
<Docs >
<summary > Defines an affine transformation</summary>
<remarks > To be added</remarks>
</Docs>
2003-09-17 21:56:59 +00:00
<Members >
2009-01-08 16:34:10 +00:00
<Member MemberName= ".ctor" >
<MemberSignature Language= "C#" Value= "public Affine ();" />
<MemberType > Constructor</MemberType>
<ReturnValue />
<Parameters />
<Docs >
<summary > To be added</summary>
<remarks > To be added</remarks>
</Docs>
</Member>
<Member MemberName= "Equal" >
<MemberSignature Language= "C#" Value= "public static bool Equal (double[] matrix1, double[] matrix2);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
2009-01-08 16:34:10 +00:00
<ReturnType > System.Boolean</ReturnType>
2003-09-17 21:56:59 +00:00
</ReturnValue>
<Parameters >
2009-01-08 16:34:10 +00:00
<Parameter Name= "matrix1" Type= "System.Double[]" />
<Parameter Name= "matrix2" Type= "System.Double[]" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "matrix1" > An affine transformation.</param>
<param name= "matrix2" > Another affine transformation.</param>
<summary > Determine if two matrices are equal.</summary>
<returns >
<see langword= "true" /> if the matrices are equal.</returns>
<remarks > Equality is verified with epsilon-tolerance for roundoff errors.</remarks>
<since version= "Gtk# 2.4" />
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
<Member MemberName= "Expansion" >
2005-05-23 20:41:51 +00:00
<MemberSignature Language= "C#" Value= "public static double Expansion (double[] src);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Double</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "src" Type= "System.Double[]" />
</Parameters>
<Docs >
2004-07-02 12:47:27 +00:00
<param name= "src" > The affine transformation.</param>
2009-01-08 16:34:10 +00:00
<summary > Finds the expansion factor, i.e. the square root of the factor by which the affine transform affects area.</summary>
2004-07-02 12:47:27 +00:00
<returns > The expansion factor.</returns>
<remarks > In an affine transform composed of scaling, rotation, shearing, and translation, returns the amount of scaling.</remarks>
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
<Member MemberName= "Flip" >
2005-05-23 20:41:51 +00:00
<MemberSignature Language= "C#" Value= "public static void Flip (double[] dst_affine, double[] src_affine, bool horz, bool vert);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "dst_affine" Type= "System.Double[]" />
<Parameter Name= "src_affine" Type= "System.Double[]" />
2004-12-08 18:57:08 +00:00
<Parameter Name= "horz" Type= "System.Boolean" />
<Parameter Name= "vert" Type= "System.Boolean" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2004-07-02 12:47:27 +00:00
<param name= "dst_affine" > Where to store the resulting affine transform.</param>
<param name= "src_affine" > The original affine transformation.</param>
<param name= "horz" > Whether or not to flip horizontally.</param>
<param name= "vert" > Whether or not to flip vertically.</param>
2009-01-08 16:34:10 +00:00
<summary > Flips the affine transform.</summary>
2004-07-02 12:47:27 +00:00
<remarks > Both horz and vert false results in a simple copy operation. True for both results in an 180 degree rotation.</remarks>
2005-06-16 18:56:42 +00:00
<since version= "Gtk# 2.4" />
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "Identity" >
<MemberSignature Language= "C#" Value= "public static void Identity (double[] dst);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
2009-01-08 16:34:10 +00:00
<Parameter Name= "dst" Type= "System.Double[]" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "dst" > Where to store the resulting affine transform.</param>
<summary > Set up the identity matrix.</summary>
<remarks > To be added</remarks>
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
<Member MemberName= "Invert" >
2005-05-23 20:41:51 +00:00
<MemberSignature Language= "C#" Value= "public static void Invert (double[] dst_affine, double[] src_affine);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "dst_affine" Type= "System.Double[]" />
<Parameter Name= "src_affine" Type= "System.Double[]" />
</Parameters>
<Docs >
2004-07-02 12:47:27 +00:00
<param name= "dst_affine" > Where the resulting affine is stored.</param>
<param name= "src_affine" > The original affine transformation.</param>
2009-01-08 16:34:10 +00:00
<summary > Sets up the inverse of the given transformation.</summary>
2004-07-02 12:47:27 +00:00
<remarks > The inverse is in the classical sense; src_affine multiplied with dst_affine, or dst_affine multiplied with src_affine will be (to within roundoff error) the identify affine. See <see cref= "M:Art.Affine.Identity(double[])" /> </remarks>
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
<Member MemberName= "Multiply" >
2005-05-23 20:41:51 +00:00
<MemberSignature Language= "C#" Value= "public static void Multiply (double[] dst, double[] src1, double[] src2);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "dst" Type= "System.Double[]" />
<Parameter Name= "src1" Type= "System.Double[]" />
<Parameter Name= "src2" Type= "System.Double[]" />
</Parameters>
<Docs >
2004-07-02 12:47:27 +00:00
<param name= "dst" > Where to store the resulting affine transform.</param>
<param name= "src1" > The first affine transform to multiply.</param>
<param name= "src2" > The second affine transform to multiply.</param>
2009-01-08 16:34:10 +00:00
<summary > Multiplies two affine transforms together, i.e. the resulting dst is equivalent to doing first src1 then src2.</summary>
2003-09-17 21:56:59 +00:00
<remarks > To be added</remarks>
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "Point" >
<MemberSignature Language= "C#" Value= "public static Art.Point Point (Art.Point src, double[] affine);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
2009-01-08 16:34:10 +00:00
<ReturnType > Art.Point</ReturnType>
2003-09-17 21:56:59 +00:00
</ReturnValue>
<Parameters >
2009-01-08 16:34:10 +00:00
<Parameter Name= "src" Type= "Art.Point" />
<Parameter Name= "affine" Type= "System.Double[]" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "src" > The original point.</param>
<param name= "affine" > The affine transform.</param>
<summary > Apply an affine transform to an <see cref= "T:Art.Point" /> .</summary>
<returns > The resulting point after performing the transform.</returns>
2003-09-17 21:56:59 +00:00
<remarks > To be added</remarks>
</Docs>
</Member>
<Member MemberName= "Rectilinear" >
2005-05-23 20:41:51 +00:00
<MemberSignature Language= "C#" Value= "public static bool Rectilinear (double[] src);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
2004-12-08 18:57:08 +00:00
<ReturnType > System.Boolean</ReturnType>
2003-09-17 21:56:59 +00:00
</ReturnValue>
<Parameters >
<Parameter Name= "src" Type= "System.Double[]" />
</Parameters>
<Docs >
2004-07-02 12:47:27 +00:00
<param name= "src" > The affine transformation to test.</param>
2009-01-08 16:34:10 +00:00
<summary > Determines wether a matrix is rectilinear, i.e. grid-aligned rectangles are transformed to other grid-aligned rectangles.</summary>
2005-05-23 20:41:51 +00:00
<returns >
<see langword= "true" /> if the matrix is rectilinear.</returns>
2004-07-02 12:47:27 +00:00
<remarks > The implementation has epsilon-tolerance for roundoff errors.</remarks>
2005-06-16 18:56:42 +00:00
<since version= "Gtk# 2.4" />
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "Rotate" >
<MemberSignature Language= "C#" Value= "public static void Rotate (double[] dst, double theta);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
2009-01-08 16:34:10 +00:00
<ReturnType > System.Void</ReturnType>
2003-09-17 21:56:59 +00:00
</ReturnValue>
<Parameters >
2009-01-08 16:34:10 +00:00
<Parameter Name= "dst" Type= "System.Double[]" />
<Parameter Name= "theta" Type= "System.Double" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "dst" > Where to store the resulting affine transformation.</param>
<param name= "theta" > Rotation angle in degrees.</param>
<summary > Sets up a rotation matrix.</summary>
<remarks > To be added</remarks>
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "Scale" >
<MemberSignature Language= "C#" Value= "public static void Scale (double[] dst, double sx, double sy);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "dst" Type= "System.Double[]" />
2009-01-08 16:34:10 +00:00
<Parameter Name= "sx" Type= "System.Double" />
<Parameter Name= "sy" Type= "System.Double" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2004-07-02 12:47:27 +00:00
<param name= "dst" > Where to store the resulting affine transform.</param>
2009-01-08 16:34:10 +00:00
<param name= "sx" > X scale factor.</param>
<param name= "sy" > Y scale factor.</param>
<summary > Sets up a scaling matrix.</summary>
2003-09-17 21:56:59 +00:00
<remarks > To be added</remarks>
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "Shear" >
<MemberSignature Language= "C#" Value= "public static void Shear (double[] dst, double theta);" />
2003-09-17 21:56:59 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "dst" Type= "System.Double[]" />
2009-01-08 16:34:10 +00:00
<Parameter Name= "theta" Type= "System.Double" />
2003-09-17 21:56:59 +00:00
</Parameters>
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "dst" > Where to store the resulting affine transformation.</param>
<param name= "theta" > Shear angle in degrees.</param>
<summary > Setup a shearing matrix</summary>
2003-09-17 21:56:59 +00:00
<remarks > To be added</remarks>
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "ToStringArray" >
<MemberSignature Language= "C#" Value= "public static void ToStringArray (string[] str, double[] src);" />
<MemberType > Method</MemberType>
<ReturnValue >
<ReturnType > System.Void</ReturnType>
</ReturnValue>
<Parameters >
<Parameter Name= "str" Type= "System.String[]" />
<Parameter Name= "src" Type= "System.Double[]" />
</Parameters>
2003-09-17 21:56:59 +00:00
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "str" > The resulting string.</param>
<param name= "src" > The affine transform.</param>
<summary > Converts an affine transform into a bit of PostScript code that implements the transform.</summary>
<remarks > Special cases of scaling, rotation, and translation are detected, and the corresponding PostScript operators used (this greatly aids understanding the output generated). The identity transform is mapped to the null string.</remarks>
2003-09-17 21:56:59 +00:00
</Docs>
</Member>
2009-01-08 16:34:10 +00:00
<Member MemberName= "Translate" >
<MemberSignature Language= "C#" Value= "public static void Translate (double[] dst, double tx, double ty);" />
2004-05-27 19:02:19 +00:00
<MemberType > Method</MemberType>
<ReturnValue >
2009-01-08 16:34:10 +00:00
<ReturnType > System.Void</ReturnType>
2004-05-27 19:02:19 +00:00
</ReturnValue>
<Parameters >
2009-01-08 16:34:10 +00:00
<Parameter Name= "dst" Type= "System.Double[]" />
<Parameter Name= "tx" Type= "System.Double" />
<Parameter Name= "ty" Type= "System.Double" />
2004-05-27 19:02:19 +00:00
</Parameters>
<Docs >
2009-01-08 16:34:10 +00:00
<param name= "dst" > Where to store the resulting affine transform.</param>
<param name= "tx" > X translation amount.</param>
<param name= "ty" > Y translation amount.</param>
<summary > Sets up a translation matrix.</summary>
2004-05-27 19:02:19 +00:00
<remarks > To be added</remarks>
</Docs>
</Member>
2003-09-17 21:56:59 +00:00
</Members>
2004-12-08 18:57:08 +00:00
</Type>