You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4721 lines
219 KiB
XML

<?xml version="1.0"?>
<doc>
<assembly>
<name>DualityPrimitives</name>
</assembly>
<members>
<member name="T:Duality.Drawing.ColorHsva">
<summary>
Represents a 16-byte Hsva color value.
</summary>
</member>
<member name="T:Duality.Drawing.IColorData">
<summary>
A general interface for different types of color data.
</summary>
</member>
<member name="M:Duality.Drawing.IColorData.ToIntRgba">
<summary>
Converts the color to a <see cref="T:System.UInt32"/>-Rgba value.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IColorData.SetIntRgba(System.Int32)">
<summary>
Sets the color base ond a <see cref="T:System.UInt32"/>-Rgba value.
</summary>
<param name="rgba"></param>
</member>
<member name="M:Duality.Drawing.IColorData.ToIntArgb">
<summary>
Converts the color to a <see cref="T:System.UInt32"/>-Argb value.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.IColorData.SetIntArgb(System.Int32)">
<summary>
Sets the color base ond a <see cref="T:System.UInt32"/>-Argb value.
</summary>
<param name="argb"></param>
</member>
<member name="F:Duality.Drawing.ColorHsva.White">
<summary>
White.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.Black">
<summary>
Black.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.Red">
<summary>
Fully saturated and max-brightness red.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.Green">
<summary>
Fully saturated and max-brightness green.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.Blue">
<summary>
Fully saturated and max-brightness blue.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.VeryLightGrey">
<summary>
A very light grey.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.LightGrey">
<summary>
A light grey.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.Grey">
<summary>
Medium grey.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.DarkGrey">
<summary>
A dark grey.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.VeryDarkGrey">
<summary>
A very dark grey.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.TransparentWhite">
<summary>
Transparent white. Completely invisible, when drawn, but might make a difference as
a background color.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.TransparentBlack">
<summary>
Transparent black. Completely invisible, when drawn, but might make a difference as
a background color.
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.H">
<summary>
Hue component as float [0.0f - 1.0f].
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.S">
<summary>
Saturation component as float [0.0f - 1.0f].
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.V">
<summary>
Value component as float [0.0f - 1.0f].
</summary>
</member>
<member name="F:Duality.Drawing.ColorHsva.A">
<summary>
Alpha component as float [0.0f - 1.0f].
</summary>
</member>
<member name="M:Duality.Drawing.ColorHsva.#ctor(Duality.Drawing.ColorHsva)">
<summary>
Creates a new color based on an existing one. This is basically a copy-constructor.
</summary>
<param name="clr"></param>
</member>
<member name="M:Duality.Drawing.ColorHsva.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates a new color.
</summary>
<param name="h">Hue as float [0.0f - 1.0f].</param>
<param name="s">Saturation as float [0.0f - 1.0f].</param>
<param name="v">Value as float [0.0f - 1.0f].</param>
<param name="a">Alpha as float [0.0f - 1.0f].</param>
</member>
<member name="M:Duality.Drawing.ColorHsva.GetLuminance">
<summary>
Calculates the colors luminance. It is an approximation on how bright the color actually looks to
the human eye, weighting each (Rgba) color component differently.
</summary>
<returns>The colors luminance as float [0.0f - 1.0f].</returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.WithHue(System.Single)">
<summary>
Returns a new version of the color with an adjusted hue component.
</summary>
<param name="h">The new hue component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.WithSaturation(System.Single)">
<summary>
Returns a new version of the color with an adjusted saturation component.
</summary>
<param name="s">The new saturation component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.WithValue(System.Single)">
<summary>
Returns a new version of the color with an adjusted value component.
</summary>
<param name="v">The new value component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.WithAlpha(System.Single)">
<summary>
Returns a new version of the color with an adjusted alpha component.
</summary>
<param name="a">The new alpha component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.ToIntRgba">
<summary>
Converts the color to int-Rgba.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.ToIntArgb">
<summary>
Converts the color to int-Argb.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.ToRgba">
<summary>
Converts the color to Rgba.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.SetIntRgba(System.Int32)">
<summary>
Adjusts the color to match the specified int-Rgba color.
</summary>
<param name="rgba"></param>
</member>
<member name="M:Duality.Drawing.ColorHsva.SetIntArgb(System.Int32)">
<summary>
Adjusts the color to match the specified int-Argb color.
</summary>
<param name="argb"></param>
</member>
<member name="M:Duality.Drawing.ColorHsva.SetRgba(Duality.Drawing.ColorRgba)">
<summary>
Adjusts the color to match the specified Rgba color.
</summary>
<param name="rgba"></param>
</member>
<member name="M:Duality.Drawing.ColorHsva.Equals(Duality.Drawing.ColorHsva)">
<summary>
Returns whether this color equals the specified one.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.FromIntRgba(System.Int32)">
<summary>
Creates a new color based on an int-Rgba value.
</summary>
<param name="rgba"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.FromIntArgb(System.Int32)">
<summary>
Creates a new color based on an int-Argb value.
</summary>
<param name="argb"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.FromRgba(Duality.Drawing.ColorRgba)">
<summary>
Creates a new color based on a Rgba value.
</summary>
<param name="rgba"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.op_Equality(Duality.Drawing.ColorHsva,Duality.Drawing.ColorHsva)">
<summary>
Returns whether two colors are equal.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorHsva.op_Inequality(Duality.Drawing.ColorHsva,Duality.Drawing.ColorHsva)">
<summary>
Returns whether two colors are unequal.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="T:Duality.Drawing.ColorRgba">
<summary>
Represents a 4-byte Rgba color value.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.White">
<summary>
White.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.Black">
<summary>
Black.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.Red">
<summary>
Fully saturated and max-brightness red. Also known as [255,0,0].
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.Green">
<summary>
Fully saturated and max-brightness green. Also known as [0,255,0].
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.Blue">
<summary>
Fully saturated and max-brightness blue. Also known as [0,0,255].
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.VeryLightGrey">
<summary>
A very light grey. Value: 224.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.LightGrey">
<summary>
A light grey. Value: 192.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.Grey">
<summary>
Medium grey. Value: 128.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.DarkGrey">
<summary>
A dark grey. Value: 64.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.VeryDarkGrey">
<summary>
A very dark grey. Value: 32.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.TransparentWhite">
<summary>
Transparent white. Completely invisible, when drawn, but might make a difference as
a background color.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.TransparentBlack">
<summary>
Transparent black. Completely invisible, when drawn, but might make a difference as
a background color.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.R">
<summary>
Red color component.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.G">
<summary>
Green color component.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.B">
<summary>
Blue color component.
</summary>
</member>
<member name="F:Duality.Drawing.ColorRgba.A">
<summary>
Alpha color component. Usually treated as opacity.
</summary>
</member>
<member name="M:Duality.Drawing.ColorRgba.#ctor(Duality.Drawing.ColorRgba)">
<summary>
Creates a new color based on an existing one. This is basically a copy-constructor.
</summary>
<param name="clr"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.#ctor(System.Int32)">
<summary>
Creates a new color based on an int-Rgba value.
</summary>
<param name="rgba"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
<summary>
Creates a new color.
</summary>
<param name="r">The red component.</param>
<param name="g">The green component.</param>
<param name="b">The blue component.</param>
<param name="a">The alpha component.</param>
</member>
<member name="M:Duality.Drawing.ColorRgba.#ctor(System.Byte,System.Byte)">
<summary>
Creates a new color based on value (brightness) and alpha.
</summary>
<param name="value">The value / brightness of the color.</param>
<param name="a">The colors alpha value.</param>
</member>
<member name="M:Duality.Drawing.ColorRgba.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates a new color.
</summary>
<param name="r">The red component as float [0.0f - 1.0f].</param>
<param name="g">The green component as float [0.0f - 1.0f].</param>
<param name="b">The blue component as float [0.0f - 1.0f].</param>
<param name="a">The alpha component as float [0.0f - 1.0f].</param>
</member>
<member name="M:Duality.Drawing.ColorRgba.#ctor(System.Single,System.Single)">
<summary>
Creates a new color based on value (brightness) and alpha.
</summary>
<param name="value">The value / brightness of the color as float [0.0f - 1.0f].</param>
<param name="a">The colors alpha value as float [0.0f - 1.0f].</param>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithRed(System.Byte)">
<summary>
Returns a new version of the color with an adjusted red component.
</summary>
<param name="r">The new red component.</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithGreen(System.Byte)">
<summary>
Returns a new version of the color with an adjusted green component.
</summary>
<param name="g">The new green component.</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithBlue(System.Byte)">
<summary>
Returns a new version of the color with an adjusted blue component.
</summary>
<param name="b">The new blue component.</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithAlpha(System.Byte)">
<summary>
Returns a new version of the color with an adjusted alpha component.
</summary>
<param name="a">The new alpha component.</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithRed(System.Single)">
<summary>
Returns a new version of the color with an adjusted red component.
</summary>
<param name="r">The new red component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithGreen(System.Single)">
<summary>
Returns a new version of the color with an adjusted green component.
</summary>
<param name="g">The new green component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithBlue(System.Single)">
<summary>
Returns a new version of the color with an adjusted blue component.
</summary>
<param name="b">The new blue component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.WithAlpha(System.Single)">
<summary>
Returns a new version of the color with an adjusted alpha component.
</summary>
<param name="a">The new alpha component as float [0.0f - 1.0f].</param>
<returns>A new color with the specified adjustments.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.GetLuminance">
<summary>
Calculates the colors luminance. It is an approximation on how bright the color actually looks to
the human eye, weighting each color component differently.
</summary>
<returns>The colors luminance as float [0.0f - 1.0f].</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.ToIntRgba">
<summary>
Converts the color to int-Rgba.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.ToIntArgb">
<summary>
Converts the color to int-Argb.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.ToHsva">
<summary>
Converts the color to Hsva.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.SetIntArgb(System.Int32)">
<summary>
Adjusts the color to match the specified int-Argb color.
</summary>
<param name="argb"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.SetIntRgba(System.Int32)">
<summary>
Adjusts the color to match the specified int-Rgba color.
</summary>
<param name="rgba"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.SetHsva(Duality.Drawing.ColorHsva)">
<summary>
Adjusts the color to match the specified Hsva color.
</summary>
<param name="hsva"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.Equals(Duality.Drawing.ColorRgba)">
<summary>
Returns whether this color equals the specified one.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.FromIntRgba(System.Int32)">
<summary>
Creates a new color based on an int-Rgba value.
</summary>
<param name="rgba"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.FromIntArgb(System.Int32)">
<summary>
Creates a new color based on an int-Argb value.
</summary>
<param name="argb"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.FromHsva(Duality.Drawing.ColorHsva)">
<summary>
Creates a new color based on a Hsva value.
</summary>
<param name="hsva"></param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.Lerp(Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba,System.Single)">
<summary>
Mixes two colors by performing a linear interpolation between both.
</summary>
<param name="first">The first color.</param>
<param name="second">The second color.</param>
<param name="factor">The linear interpolation value. Zero equals the first color, one equals the second color.</param>
<returns>The interpolated / mixed color.</returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.op_Equality(Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba)">
<summary>
Returns whether two colors are equal.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.op_Inequality(Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba)">
<summary>
Returns whether two colors are unequal.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.op_Addition(Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba)">
<summary>
Adds two colors component-wise.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.op_Subtraction(Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba)">
<summary>
Subtracts the second color from the first component-wise.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.op_Multiply(Duality.Drawing.ColorRgba,Duality.Drawing.ColorRgba)">
<summary>
Multiplies two colors component-wise.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.op_Multiply(Duality.Drawing.ColorRgba,System.Single)">
<summary>
Scales a color by the specified factor. This affects color and alpha equally.
</summary>
<param name="left">The color to scale.</param>
<param name="right">The scaling factor.</param>
<returns></returns>
</member>
<member name="M:Duality.Drawing.ColorRgba.Add(Duality.Drawing.ColorRgba@,Duality.Drawing.ColorRgba@,Duality.Drawing.ColorRgba@)">
<summary>
Adds two colors component-wise.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<param name="result"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.Subtract(Duality.Drawing.ColorRgba@,Duality.Drawing.ColorRgba@,Duality.Drawing.ColorRgba@)">
<summary>
Subtracts two colors component-wise.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<param name="result"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.Multiply(Duality.Drawing.ColorRgba@,Duality.Drawing.ColorRgba@,Duality.Drawing.ColorRgba@)">
<summary>
Multiplies two colors component-wise.
</summary>
<param name="left">The first color.</param>
<param name="right">The second color.</param>
<param name="result"></param>
</member>
<member name="M:Duality.Drawing.ColorRgba.Scale(Duality.Drawing.ColorRgba@,System.Single,Duality.Drawing.ColorRgba@)">
<summary>
Scales a color by the specified factor. This affects color and alpha equally.
</summary>
<param name="left">The color that is to be scaled.</param>
<param name="right">The scaling factor.</param>
<param name="result"></param>
</member>
<member name="T:Duality.Alignment">
<summary>
Represents a 2D spatial alignment.
</summary>
</member>
<member name="F:Duality.Alignment.Center">
<summary>
Align to its center.
</summary>
</member>
<member name="F:Duality.Alignment.Left">
<summary>
Align to its left.
</summary>
</member>
<member name="F:Duality.Alignment.Right">
<summary>
Align to its right.
</summary>
</member>
<member name="F:Duality.Alignment.Top">
<summary>
Align to its top.
</summary>
</member>
<member name="F:Duality.Alignment.Bottom">
<summary>
Align to its bottom.
</summary>
</member>
<member name="F:Duality.Alignment.TopLeft">
<summary>
Align to its top left.
</summary>
</member>
<member name="F:Duality.Alignment.TopRight">
<summary>
Align to its top right.
</summary>
</member>
<member name="F:Duality.Alignment.BottomLeft">
<summary>
Align to its bottom left.
</summary>
</member>
<member name="F:Duality.Alignment.BottomRight">
<summary>
Align to its bottom right.
</summary>
</member>
<member name="M:Duality.ExtMethodsAlignment.ApplyTo(Duality.Alignment,Duality.Vector2@,Duality.Vector2@)">
<summary>
Applies the alignment to the specified vector.
</summary>
<param name="align"></param>
<param name="vec"></param>
<param name="size"></param>
</member>
<member name="M:Duality.ExtMethodsAlignment.ApplyTo(Duality.Alignment,Duality.Vector2@,Duality.Vector2)">
<summary>
Applies the alignment to the specified vector.
</summary>
<param name="align"></param>
<param name="vec"></param>
<param name="size"></param>
</member>
<member name="M:Duality.ExtMethodsAlignment.ApplyTo(Duality.Alignment,Duality.Vector2,Duality.Vector2)">
<summary>
Applies the alignment to the specified vector.
</summary>
<param name="align"></param>
<param name="vec"></param>
<param name="size"></param>
<returns></returns>
</member>
<member name="M:Duality.ExtMethodsAlignment.ApplyTo(Duality.Alignment,System.Single@,System.Single@,System.Single,System.Single)">
<summary>
Applies the alignment to the specified vector.
</summary>
<param name="align"></param>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
</member>
<member name="M:Duality.ExtMethodsAlignment.ApplyTo(Duality.Alignment,System.Single,System.Single,System.Single,System.Single)">
<summary>
Applies the alignment to the specified vector.
</summary>
<param name="align"></param>
<param name="x"></param>
<param name="y"></param>
<param name="width"></param>
<param name="height"></param>
<returns></returns>
</member>
<member name="T:Duality.MathF">
<summary>
Provides math utility methods and float versions of <see cref="T:System.Math"/> to fit
Duality <see cref="T:System.Single"/> arithmetics.
</summary>
</member>
<member name="F:Duality.MathF.E">
<summary>
Euler's number, base of the natural logarithm. Approximately 2.7182818284.
</summary>
</member>
<member name="F:Duality.MathF.Pi">
<summary>
Mmmhh... pie!
</summary>
</member>
<member name="F:Duality.MathF.PiOver2">
<summary>
Equals <see cref="F:Duality.MathF.Pi"/> / 2.
</summary>
</member>
<member name="F:Duality.MathF.PiOver3">
<summary>
Equals <see cref="F:Duality.MathF.Pi"/> / 3.
</summary>
</member>
<member name="F:Duality.MathF.PiOver4">
<summary>
Equals <see cref="F:Duality.MathF.Pi"/> / 4.
</summary>
</member>
<member name="F:Duality.MathF.PiOver6">
<summary>
Equals <see cref="F:Duality.MathF.Pi"/> / 6.
</summary>
</member>
<member name="F:Duality.MathF.TwoPi">
<summary>
Equals 2 * <see cref="F:Duality.MathF.Pi"/>.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle1">
<summary>
A one degree angle in radians.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle30">
<summary>
A 30 degree angle in radians. Equals <see cref="F:Duality.MathF.PiOver6"/>.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle45">
<summary>
A 45 degree angle in radians. Equals <see cref="F:Duality.MathF.PiOver4"/>.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle90">
<summary>
A 90 degree angle in radians. Equals <see cref="F:Duality.MathF.PiOver2"/>.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle180">
<summary>
A 180 degree angle in radians. Equals <see cref="F:Duality.MathF.Pi"/>.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle270">
<summary>
A 270 degree angle in radians. Equals <see cref="F:Duality.MathF.Pi"/>.
</summary>
</member>
<member name="F:Duality.MathF.RadAngle360">
<summary>
A 360 degree angle in radians. Equals <see cref="F:Duality.MathF.TwoPi"/>.
</summary>
</member>
<member name="M:Duality.MathF.SafeToDecimal(System.Single)">
<summary>
Converts the specified float value to decimal and clamps it if necessary.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Abs(System.Single)">
<summary>
Returns the absolute value of a <see cref="T:System.Single"/>.
</summary>
<param name="v">A number.</param>
<returns>The absolute value of the number.</returns>
</member>
<member name="M:Duality.MathF.Abs(System.Int32)">
<summary>
Returns the absolute value of a <see cref="T:System.Int32"/>.
</summary>
<param name="v">A number.</param>
<returns>The absolute value of the number.</returns>
</member>
<member name="M:Duality.MathF.Ceiling(System.Single)">
<summary>
Returns the lowest whole-number bigger than the specified one. (Rounds up)
</summary>
<param name="v">A number.</param>
<returns>The rounded number.</returns>
<seealso cref="M:Duality.MathF.Floor(System.Single)"/>
</member>
<member name="M:Duality.MathF.Floor(System.Single)">
<summary>
Returns the highest whole-number smaller than the specified one. (Rounds down)
</summary>
<param name="v">A number.</param>
<returns>The rounded number.</returns>
<seealso cref="M:Duality.MathF.Ceiling(System.Single)"/>
</member>
<member name="M:Duality.MathF.Round(System.Single)">
<summary>
Rounds the specified value.
</summary>
<param name="v">A number.</param>
<returns>The rounded number.</returns>
</member>
<member name="M:Duality.MathF.Round(System.Single,System.Int32)">
<summary>
Rounds the specified value to a certain number of fraction digits.
</summary>
<param name="v">A number.</param>
<param name="digits">The number of fraction digits to round to.</param>
<returns>The rounded number.</returns>
</member>
<member name="M:Duality.MathF.Round(System.Single,System.MidpointRounding)">
<summary>
Rounds the specified value.
</summary>
<param name="v">A number.</param>
<param name="mode">Specifies what happens if the value is exactly inbetween two numbers.</param>
<returns>The rounded number.</returns>
</member>
<member name="M:Duality.MathF.Round(System.Single,System.Int32,System.MidpointRounding)">
<summary>
Rounds the specified value to a certain number of fraction digits.
</summary>
<param name="v">A number.</param>
<param name="digits">The number of fraction digits to round to.</param>
<param name="mode">Specifies what happens if the value is exactly inbetween two numbers.</param>
<returns>The rounded number.</returns>
</member>
<member name="M:Duality.MathF.RoundToInt(System.Single)">
<summary>
Rounds the specified value to an integer value.
</summary>
<param name="v">A number.</param>
<returns>The rounded number as <see cref="T:System.Int32"/>.</returns>
<seealso cref="M:Duality.MathF.Round(System.Single)"/>
</member>
<member name="M:Duality.MathF.RoundToInt(System.Single,System.MidpointRounding)">
<summary>
Rounds the specified value to an integer value.
</summary>
<param name="v">A number.</param>
<param name="mode">Specifies what happens if the value is exactly inbetween two numbers.</param>
<returns>The rounded number as <see cref="T:System.Int32"/>.</returns>
<seealso cref="M:Duality.MathF.Round(System.Single,System.MidpointRounding)"/>
</member>
<member name="M:Duality.MathF.Sign(System.Single)">
<summary>
Returns the sign of a value.
</summary>
<param name="v">A number.</param>
<returns>-1 if negative, 1 if positive and 0 if zero.</returns>
</member>
<member name="M:Duality.MathF.Sign(System.Int32)">
<summary>
Returns the sign of a value.
</summary>
<param name="v">A number.</param>
<returns>-1 if negative, 1 if positive and 0 if zero.</returns>
</member>
<member name="M:Duality.MathF.Sqrt(System.Single)">
<summary>
Returns a numbers square root.
</summary>
<param name="v">A number.</param>
<returns>The numbers square root.</returns>
</member>
<member name="M:Duality.MathF.Factorial(System.Int32)">
<summary>
Returns the factorial of an integer value.
</summary>
<param name="n">A number.</param>
<returns>The factorial of the number.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Single,System.Single)">
<summary>
Returns the lower of two values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Single,System.Single,System.Single)">
<summary>
Returns the lowest of three values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns the lowest of four values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<param name="v4"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Single[])">
<summary>
Returns the lowest of any number of values.
</summary>
<param name="v"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Int32,System.Int32)">
<summary>
Returns the lower of two values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Int32,System.Int32,System.Int32)">
<summary>
Returns the lowest of three values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Returns the lowest of four values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<param name="v4"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Min(System.Int32[])">
<summary>
Returns the lowest of any number of values.
</summary>
<param name="v"></param>
<returns>The lowest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Single,System.Single)">
<summary>
Returns the higher of two values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Single,System.Single,System.Single)">
<summary>
Returns the highest of three values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns the highest of four values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<param name="v4"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Single[])">
<summary>
Returns the highest of any number of values.
</summary>
<param name="v"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Int32,System.Int32)">
<summary>
Returns the higher of two values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Int32,System.Int32,System.Int32)">
<summary>
Returns the highest of three values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Returns the highest of four values.
</summary>
<param name="v1"></param>
<param name="v2"></param>
<param name="v3"></param>
<param name="v4"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Max(System.Int32[])">
<summary>
Returns the highest of any number of values.
</summary>
<param name="v"></param>
<returns>The highest value.</returns>
</member>
<member name="M:Duality.MathF.Clamp(System.Single,System.Single,System.Single)">
<summary>
Clamps a value between minimum and maximum.
</summary>
<param name="v">The value to clamp.</param>
<param name="min">The minimum value that can't be deceeded.</param>
<param name="max">The maximum value that can't be exceeded.</param>
<returns>The clamped value.</returns>
</member>
<member name="M:Duality.MathF.Clamp(System.Int32,System.Int32,System.Int32)">
<summary>
Clamps a value between minimum and maximum.
</summary>
<param name="v">The value to clamp.</param>
<param name="min">The minimum value that can't be deceeded.</param>
<param name="max">The maximum value that can't be exceeded.</param>
<returns>The clamped value.</returns>
</member>
<member name="M:Duality.MathF.Lerp(System.Single,System.Single,System.Single)">
<summary>
Performs linear interpolation between two values.
</summary>
<param name="a">The first anchor value.</param>
<param name="b">The second anchor value.</param>
<param name="ratio">Ratio between first and second anchor. Zero will result in anchor a, one will result in anchor b.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Lerp(System.Int32,System.Int32,System.Single)">
<summary>
Performs linear interpolation between two values.
</summary>
<param name="a">The first anchor value.</param>
<param name="b">The second anchor value.</param>
<param name="ratio">Ratio between first and second anchor. Zero will result in anchor a, one will result in anchor b.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Exp(System.Single)">
<summary>
Returns the specified power of <see cref="F:Duality.MathF.E"/>.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Log(System.Single)">
<summary>
Returns the natural logarithm of a value.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Pow(System.Single,System.Single)">
<summary>
Returns the specified power of a value.
</summary>
<param name="v">The base value.</param>
<param name="e">Specifies the power to return.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Log(System.Single,System.Single)">
<summary>
Returns the logarithm of a value.
</summary>
<param name="v">The value whichs logarithm is to be calculated.</param>
<param name="newBase">The base of the logarithm.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Sin(System.Single)">
<summary>
Returns the sine value of the specified (radian) angle.
</summary>
<param name="angle">A radian angle.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Cos(System.Single)">
<summary>
Returns the cosine value of the specified (radian) angle.
</summary>
<param name="angle">A radian angle.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Tan(System.Single)">
<summary>
Returns the tangent value of the specified (radian) angle.
</summary>
<param name="angle">A radian angle.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Asin(System.Single)">
<summary>
Returns the inverse sine value of the specified (radian) angle.
</summary>
<param name="sin">A radian angle.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Acos(System.Single)">
<summary>
Returns the inverse cosine value of the specified (radian) angle.
</summary>
<param name="cos">A radian angle.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Atan(System.Single)">
<summary>
Returns the inverse tangent value of the specified (radian) angle.
</summary>
<param name="tan">A radian angle.</param>
<returns></returns>
</member>
<member name="M:Duality.MathF.Atan2(System.Single,System.Single)">
<summary>
Returns the (radian) angle whose tangent is the quotient of two specified numbers.
</summary>
<param name="y">The y coordinate of a point. </param>
<param name="x">The x coordinate of a point. </param>
<returns></returns>
</member>
<member name="M:Duality.MathF.DegToRad(System.Single)">
<summary>
Converts degrees to radians.
</summary>
<param name="deg"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.RadToDeg(System.Single)">
<summary>
Converts radians to degrees.
</summary>
<param name="rad"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.NormalizeVar(System.Single,System.Single,System.Single)">
<summary>
Normalizes a value to the given circular area.
</summary>
<returns>The normalized value between min (inclusive) and max (exclusive).</returns>
<example>
<c>NormalizeVar(480, 0, 360)</c> will return 120.
</example>
</member>
<member name="M:Duality.MathF.NormalizeVar(System.Int32,System.Int32,System.Int32)">
<summary>
Normalizes a value to the given circular area.
</summary>
<returns>The normalized value between min (inclusive) and max (exclusive).</returns>
<example>
<c>NormalizeVar(480, 0, 360)</c> will return 120.
</example>
</member>
<member name="M:Duality.MathF.NormalizeAngle(System.Single)">
<summary>
Normalizes a radian angle to values between zero and <see cref="F:Duality.MathF.TwoPi"/>.
</summary>
<returns>The normalized value between zero and <see cref="F:Duality.MathF.TwoPi"/>.</returns>
<example>
<c>NormalizeAngle(<see cref="F:Duality.MathF.TwoPi"/> + <see cref="F:Duality.MathF.Pi"/>)</c> will return <see cref="F:Duality.MathF.Pi"/>.
</example>
</member>
<member name="M:Duality.MathF.Distance(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns the distance between two points in 2d space.
</summary>
<param name="x1">The x-Coordinate of the first point.</param>
<param name="y1">The y-Coordinate of the first point.</param>
<param name="x2">The x-Coordinate of the second point.</param>
<param name="y2">The y-Coordinate of the second point.</param>
<returns>The distance between both points.</returns>
</member>
<member name="M:Duality.MathF.Distance(System.Single,System.Single)">
<summary>
Returns the distance between a point and [0,0] in 2d space.
</summary>
<param name="x">The x-Coordinate of the point.</param>
<param name="y">The y-Coordinate of the point.</param>
<returns>The distance between the point and [0,0].</returns>
</member>
<member name="M:Duality.MathF.DistanceQuad(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns the squared distance between two points in 2d space.
</summary>
<param name="x1">The x-Coordinate of the first point.</param>
<param name="y1">The y-Coordinate of the first point.</param>
<param name="x2">The x-Coordinate of the second point.</param>
<param name="y2">The y-Coordinate of the second point.</param>
<returns>The distance between both points.</returns>
<remarks>
This method is faster than <see cref="M:Duality.MathF.Distance(System.Single,System.Single,System.Single,System.Single)"/>.
If sufficient, such as for distance comparison, consider using this method instead.
</remarks>
</member>
<member name="M:Duality.MathF.DistanceQuad(System.Single,System.Single)">
<summary>
Returns the squared distance between a point and [0,0] in 2d space.
</summary>
<param name="x">The x-Coordinate of the point.</param>
<param name="y">The y-Coordinate of the point.</param>
<returns>The distance between the point and [0,0].</returns>
<remarks>
This method is faster than <see cref="M:Duality.MathF.Distance(System.Single,System.Single)"/>.
If sufficient, such as for distance comparison, consider using this method instead.
</remarks>
</member>
<member name="M:Duality.MathF.Angle(System.Single,System.Single,System.Single,System.Single)">
<summary>
Calculates the angle between two points in 2D space.
</summary>
<param name="x1">The x-Coordinate of the first point.</param>
<param name="y1">The y-Coordinate of the first point.</param>
<param name="x2">The x-Coordinate of the second point.</param>
<param name="y2">The y-Coordinate of the second point.</param>
<returns>The angle between [x1,y1] and [x2,y2] in radians.</returns>
</member>
<member name="M:Duality.MathF.Angle(System.Single,System.Single)">
<summary>
Calculates the angle from [0,0] to a specified point in 2D space.
</summary>
<param name="x">The x-Coordinate of the point.</param>
<param name="y">The y-Coordinate of the point.</param>
<returns>The angle between [0,0] and [x,y] in radians.</returns>
</member>
<member name="M:Duality.MathF.TurnDir(System.Single,System.Single,System.Single,System.Single)">
<summary>
Assuming a circular value area, this method returns the direction to "turn" value 1 to
when it comes to take the shortest way to value 2.
</summary>
<param name="val1">The first (source) value.</param>
<param name="val2">The second (destination) value.</param>
<param name="minVal">Minimum value.</param>
<param name="maxVal">Maximum value.</param>
<returns>-1 for "left" / lower, 1 for "right" / higher and 0 for "stay" / equal</returns>
</member>
<member name="M:Duality.MathF.TurnDir(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Assuming a circular value area, this method returns the direction to "turn" value 1 to
when it comes to take the shortest way to value 2.
</summary>
<param name="val1">The first (source) value.</param>
<param name="val2">The second (destination) value.</param>
<param name="minVal">Minimum value.</param>
<param name="maxVal">Maximum value.</param>
<returns>-1 for "left" / lower, 1 for "right" / higher and 0 for "stay" / equal</returns>
</member>
<member name="M:Duality.MathF.TurnDir(System.Single,System.Single)">
<summary>
Assuming an angular (radian) value area, this method returns the direction to "turn" value 1 to
when it comes to take the shortest way to value 2.
</summary>
<param name="val1">The first (source) value.</param>
<param name="val2">The second (destination) value.</param>
<returns>-1 for "left" / lower, 1 for "right" / higher and 0 for "stay" / equal</returns>
</member>
<member name="M:Duality.MathF.CircularDist(System.Single,System.Single,System.Single,System.Single)">
<summary>
Calculates the distance between two values assuming a circular value area.
</summary>
<param name="v1">Value 1</param>
<param name="v2">Value 2</param>
<param name="vMin">Value area minimum</param>
<param name="vMax">Value area maximum</param>
<returns>Value distance</returns>
</member>
<member name="M:Duality.MathF.CircularDist(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Calculates the distance between two values assuming a circular value area.
</summary>
<param name="v1">Value 1</param>
<param name="v2">Value 2</param>
<param name="vMin">Value area minimum</param>
<param name="vMax">Value area maximum</param>
<returns>Value distance</returns>
</member>
<member name="M:Duality.MathF.CircularDist(System.Single,System.Single)">
<summary>
Calculates the distance between two angular (radian) values.
</summary>
<param name="v1">The first (radian) angle.</param>
<param name="v2">The second (radian) angle.</param>
<returns>The angular distance in radians between both angles.</returns>
</member>
<member name="M:Duality.MathF.TransformCoord(System.Single@,System.Single@,System.Single,System.Single,System.Single,System.Single)">
<summary>
Turns and scales a specific coordinate around the specified center point.
</summary>
<param name="xCoord">The x-Coordinate to transform.</param>
<param name="yCoord">The y-Coordinate to transform.</param>
<param name="rot">The rotation to apply in radians.</param>
<param name="scale">The scale factor to apply.</param>
<param name="xCenter">The x-Coordinate of the transformations origin.</param>
<param name="yCenter">The y-Coordinate of the transformations origin.</param>
</member>
<member name="M:Duality.MathF.TransformCoord(System.Single@,System.Single@,System.Single,System.Single)">
<summary>
Turns and scales a specific coordinate around [0,0].
</summary>
<param name="xCoord">The x-Coordinate to transform.</param>
<param name="yCoord">The y-Coordinate to transform.</param>
<param name="rot">The rotation to apply in radians.</param>
<param name="scale">The scale factor to apply.</param>
</member>
<member name="M:Duality.MathF.TransformCoord(System.Single@,System.Single@,System.Single)">
<summary>
Turns a specific coordinate around [0,0].
</summary>
<param name="xCoord">The x-Coordinate to transform.</param>
<param name="yCoord">The y-Coordinate to transform.</param>
<param name="rot">The rotation to apply in radians.</param>
</member>
<member name="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2,Duality.Vector2@,Duality.Vector2@)">
<summary>
Prepares a 2d transformation (rotation and scale).
</summary>
<param name="rot">The rotation to apply in radians.</param>
<param name="scale">The scale factor to apply.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
</member>
<member name="M:Duality.MathF.GetTransformDotVec(System.Single,System.Single,Duality.Vector2@,Duality.Vector2@)">
<summary>
Prepares a 2d transformation (rotation and scale).
</summary>
<param name="rot">The rotation to apply in radians.</param>
<param name="scale">The scale factor to apply.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
</member>
<member name="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)">
<summary>
Prepares a 2d transformation (rotation).
</summary>
<param name="rot">The rotation to apply in radians.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<seealso cref="M:Duality.MathF.TransformDotVec(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.TransformDotVec(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Performs a 2d transformation
</summary>
<param name="vec">The vector to transform.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<seealso cref="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.TransformDotVec(Duality.Vector2@,Duality.Vector2,Duality.Vector2)">
<summary>
Performs a 2d transformation
</summary>
<param name="vec">The vector to transform.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<seealso cref="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.TransformDotVec(Duality.Vector2,Duality.Vector2,Duality.Vector2)">
<summary>
Performs a 2d transformation
</summary>
<param name="vec">The vector to transform.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<returns>The transformed vector.</returns>
<seealso cref="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.TransformDotVec(Duality.Vector3@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Performs a 2d transformation
</summary>
<param name="vec">The vector to transform.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<seealso cref="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.TransformDotVec(Duality.Vector3@,Duality.Vector2,Duality.Vector2)">
<summary>
Performs a 2d transformation
</summary>
<param name="vec">The vector to transform.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<seealso cref="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.TransformDotVec(Duality.Vector3,Duality.Vector2,Duality.Vector2)">
<summary>
Performs a 2d transformation
</summary>
<param name="vec">The vector to transform.</param>
<param name="xDot">Dot product base for the transformed x value.</param>
<param name="yDot">Dot product base for the transformed y value.</param>
<returns>The transformed vector.</returns>
<seealso cref="M:Duality.MathF.GetTransformDotVec(System.Single,Duality.Vector2@,Duality.Vector2@)"/>
</member>
<member name="M:Duality.MathF.LinesCross(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single@,System.Single@,System.Boolean)">
<summary>
Checks, if two line segments (or infinite lines) cross and determines their mutual point.
</summary>
<param name="startX1">x-Coordinate of the first lines start.</param>
<param name="startY1">y-Coordinate of the first lines start.</param>
<param name="endX1">x-Coordinate of the first lines end.</param>
<param name="endY1">y-Coordinate of the first lines end.</param>
<param name="startX2">x-Coordinate of the second lines start.</param>
<param name="startY2">y-Coordinate of the second lines start.</param>
<param name="endX2">x-Coordinate of the second lines end.</param>
<param name="endY2">y-Coordinate of the second lines end.</param>
<param name="infinite">Whether the lines are considered infinite.</param>
<param name="crossX">x-Coordiante at which both lines cross.</param>
<param name="crossY">y-Coordinate at which both lines cross.</param>
<returns>True, if the lines cross, false if not.</returns>
</member>
<member name="M:Duality.MathF.LinesCross(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Checks, if two line segments (or infinite lines) cross and determines their mutual point.
</summary>
<param name="startX1">x-Coordinate of the first lines start.</param>
<param name="startY1">y-Coordinate of the first lines start.</param>
<param name="endX1">x-Coordinate of the first lines end.</param>
<param name="endY1">y-Coordinate of the first lines end.</param>
<param name="startX2">x-Coordinate of the second lines start.</param>
<param name="startY2">y-Coordinate of the second lines start.</param>
<param name="endX2">x-Coordinate of the second lines end.</param>
<param name="endY2">y-Coordinate of the second lines end.</param>
<param name="infinite">Whether the lines are considered infinite.</param>
<returns>True, if the lines cross, false if not.</returns>
</member>
<member name="M:Duality.MathF.PointLineNearestPoint(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Calculates the point on a line segment (or infinite line) that has the lowest possible
distance to a point.
</summary>
<param name="pX">x-Coordinate of the point.</param>
<param name="pY">y-Coordinate of the point.</param>
<param name="lX1">x-Coordinate of the lines start.</param>
<param name="lY1">y-Coordinate of the lines start.</param>
<param name="lX2">x-Coordinate of the lines end.</param>
<param name="lY2">y-Coordinate of the lines end.</param>
<param name="infinite">Whether the line is considered infinite.</param>
<returns>A point located on the specified line that is as close as possible to the specified point.</returns>
</member>
<member name="M:Duality.MathF.PointLineDistance(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
<summary>
Calculates the distance between a point and a line segment (or infinite line).
</summary>
<param name="pX">x-Coordinate of the point.</param>
<param name="pY">y-Coordinate of the point.</param>
<param name="lX1">x-Coordinate of the lines start.</param>
<param name="lY1">y-Coordinate of the lines start.</param>
<param name="lX2">x-Coordinate of the lines end.</param>
<param name="lY2">y-Coordinate of the lines end.</param>
<param name="infinite">Whether the line is considered infinite.</param>
<returns>The distance between point and line.</returns>
</member>
<member name="M:Duality.MathF.IsPolygonConvex(Duality.Vector2[])">
<summary>
Returns whether or not the specified polygon is convex.
</summary>
<param name="vertices"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.NextPowerOfTwo(System.Int32)">
<summary>
Returns the next power of two that is larger than the specified number.
</summary>
<param name="n">The specified number.</param>
<returns>The next power of two.</returns>
</member>
<member name="M:Duality.MathF.Swap``1(``0@,``0@)">
<summary>
Swaps the values of two variables.
</summary>
<typeparam name="T"></typeparam>
<param name="first"></param>
<param name="second"></param>
</member>
<member name="M:Duality.MathF.CombineHashCode(System.Int32@,System.Int32)">
<summary>
Combines two hash codes.
</summary>
<param name="baseHash"></param>
<param name="otherHash"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.CombineHashCode(System.Int32[])">
<summary>
Combines any number of hash codes.
</summary>
<param name="hashes"></param>
<returns></returns>
</member>
<member name="M:Duality.MathF.CheckValidValue(System.Single)">
<summary>
Throws an ArgumentOutOfRangeException, if the specified value is NaN or Infinity.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.MathF.CheckValidValue(Duality.Vector2)">
<summary>
Throws an ArgumentOutOfRangeException, if the specified value is NaN or Infinity.
</summary>
<param name="value"></param>
</member>
<member name="M:Duality.MathF.CheckValidValue(Duality.Vector3)">
<summary>
Throws an ArgumentOutOfRangeException, if the specified value is NaN or Infinity.
</summary>
<param name="value"></param>
</member>
<member name="P:Duality.MathF.Rnd">
<summary>
[GET / SET] Global random number generator. Is never null.
</summary>
</member>
<member name="T:Duality.Matrix3">
<summary>
Represents a 3x3 matrix containing 3D rotation and scale.
</summary>
</member>
<member name="F:Duality.Matrix3.Identity">
<summary>
The identity matrix.
</summary>
</member>
<member name="F:Duality.Matrix3.Zero">
<summary>
The zero matrix.
</summary>
</member>
<member name="F:Duality.Matrix3.Row0">
<summary>
First row of the matrix.
</summary>
</member>
<member name="F:Duality.Matrix3.Row1">
<summary>
Second row of the matrix.
</summary>
</member>
<member name="F:Duality.Matrix3.Row2">
<summary>
Third row of the matrix.
</summary>
</member>
<member name="M:Duality.Matrix3.#ctor(Duality.Vector3,Duality.Vector3,Duality.Vector3)">
<summary>
Constructs a new instance.
</summary>
<param name="row0">Top row of the matrix</param>
<param name="row1">Second row of the matrix</param>
<param name="row2">Bottom row of the matrix</param>
</member>
<member name="M:Duality.Matrix3.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new instance.
</summary>
<param name="m00">First item of the first row of the matrix.</param>
<param name="m01">Second item of the first row of the matrix.</param>
<param name="m02">Third item of the first row of the matrix.</param>
<param name="m10">First item of the second row of the matrix.</param>
<param name="m11">Second item of the second row of the matrix.</param>
<param name="m12">Third item of the second row of the matrix.</param>
<param name="m20">First item of the third row of the matrix.</param>
<param name="m21">Second item of the third row of the matrix.</param>
<param name="m22">Third item of the third row of the matrix.</param>
</member>
<member name="M:Duality.Matrix3.#ctor(Duality.Matrix4)">
<summary>
Constructs a new instance.
</summary>
<param name="matrix">A Matrix4 to take the upper-left 3x3 from.</param>
</member>
<member name="M:Duality.Matrix3.Invert">
<summary>
Converts this instance into its inverse.
</summary>
</member>
<member name="M:Duality.Matrix3.Transpose">
<summary>
Converts this instance into its transpose.
</summary>
</member>
<member name="M:Duality.Matrix3.Normalize">
<summary>
Divides each element in the Matrix by the <see cref="P:Duality.Matrix3.Determinant"/>.
</summary>
</member>
<member name="M:Duality.Matrix3.Normalized">
<summary>
Returns a normalised copy of this instance.
</summary>
</member>
<member name="M:Duality.Matrix3.Inverted">
<summary>
Returns an inverted copy of this instance.
</summary>
</member>
<member name="M:Duality.Matrix3.ClearScale">
<summary>
Returns a copy of this Matrix3 without scale.
</summary>
</member>
<member name="M:Duality.Matrix3.ClearRotation">
<summary>
Returns a copy of this Matrix3 without rotation.
</summary>
</member>
<member name="M:Duality.Matrix3.ExtractScale">
<summary>
Returns the scale component of this instance.
</summary>
</member>
<member name="M:Duality.Matrix3.ExtractRotation(System.Boolean)">
<summary>
Returns the rotation component of this instance. Quite slow.
</summary>
<param name="row_normalise">Whether the method should row-normalise (i.e. remove scale from) the Matrix. Pass false if you know it's already normalised.</param>
</member>
<member name="M:Duality.Matrix3.CreateFromAxisAngle(Duality.Vector3,System.Single,Duality.Matrix3@)">
<summary>
Build a rotation matrix from the specified axis/angle rotation.
</summary>
<param name="axis">The axis to rotate about.</param>
<param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
<param name="result">A matrix instance.</param>
</member>
<member name="M:Duality.Matrix3.CreateFromAxisAngle(Duality.Vector3,System.Single)">
<summary>
Build a rotation matrix from the specified axis/angle rotation.
</summary>
<param name="axis">The axis to rotate about.</param>
<param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
<returns>A matrix instance.</returns>
</member>
<member name="M:Duality.Matrix3.CreateFromQuaternion(Duality.Quaternion@,Duality.Matrix3@)">
<summary>
Build a rotation matrix from the specified quaternion.
</summary>
<param name="q">Quaternion to translate.</param>
<param name="result">Matrix result.</param>
</member>
<member name="M:Duality.Matrix3.CreateFromQuaternion(Duality.Quaternion)">
<summary>
Build a rotation matrix from the specified quaternion.
</summary>
<param name="q">Quaternion to translate.</param>
<returns>A matrix instance.</returns>
</member>
<member name="M:Duality.Matrix3.CreateRotationX(System.Single,Duality.Matrix3@)">
<summary>
Builds a rotation matrix for a rotation around the x-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<param name="result">The resulting Matrix3 instance.</param>
</member>
<member name="M:Duality.Matrix3.CreateRotationX(System.Single)">
<summary>
Builds a rotation matrix for a rotation around the x-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<returns>The resulting Matrix3 instance.</returns>
</member>
<member name="M:Duality.Matrix3.CreateRotationY(System.Single,Duality.Matrix3@)">
<summary>
Builds a rotation matrix for a rotation around the y-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<param name="result">The resulting Matrix3 instance.</param>
</member>
<member name="M:Duality.Matrix3.CreateRotationY(System.Single)">
<summary>
Builds a rotation matrix for a rotation around the y-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<returns>The resulting Matrix3 instance.</returns>
</member>
<member name="M:Duality.Matrix3.CreateRotationZ(System.Single,Duality.Matrix3@)">
<summary>
Builds a rotation matrix for a rotation around the z-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<param name="result">The resulting Matrix3 instance.</param>
</member>
<member name="M:Duality.Matrix3.CreateRotationZ(System.Single)">
<summary>
Builds a rotation matrix for a rotation around the z-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<returns>The resulting Matrix3 instance.</returns>
</member>
<member name="M:Duality.Matrix3.CreateScale(System.Single)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Single scale factor for the x, y, and z axes.</param>
<returns>A scale matrix.</returns>
</member>
<member name="M:Duality.Matrix3.CreateScale(Duality.Vector3)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Scale factors for the x, y, and z axes.</param>
<returns>A scale matrix.</returns>
</member>
<member name="M:Duality.Matrix3.CreateScale(System.Single,System.Single,System.Single)">
<summary>
Creates a scale matrix.
</summary>
<param name="x">Scale factor for the x axis.</param>
<param name="y">Scale factor for the y axis.</param>
<param name="z">Scale factor for the z axis.</param>
<returns>A scale matrix.</returns>
</member>
<member name="M:Duality.Matrix3.CreateScale(System.Single,Duality.Matrix3@)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Single scale factor for the x, y, and z axes.</param>
<param name="result">A scale matrix.</param>
</member>
<member name="M:Duality.Matrix3.CreateScale(Duality.Vector3@,Duality.Matrix3@)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Scale factors for the x, y, and z axes.</param>
<param name="result">A scale matrix.</param>
</member>
<member name="M:Duality.Matrix3.CreateScale(System.Single,System.Single,System.Single,Duality.Matrix3@)">
<summary>
Creates a scale matrix.
</summary>
<param name="x">Scale factor for the x axis.</param>
<param name="y">Scale factor for the y axis.</param>
<param name="z">Scale factor for the z axis.</param>
<param name="result">A scale matrix.</param>
</member>
<member name="M:Duality.Matrix3.Mult(Duality.Matrix3,Duality.Matrix3)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The left operand of the multiplication.</param>
<param name="right">The right operand of the multiplication.</param>
<returns>A new instance that is the result of the multiplication</returns>
</member>
<member name="M:Duality.Matrix3.Mult(Duality.Matrix3@,Duality.Matrix3@,Duality.Matrix3@)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The left operand of the multiplication.</param>
<param name="right">The right operand of the multiplication.</param>
<param name="result">A new instance that is the result of the multiplication</param>
</member>
<member name="M:Duality.Matrix3.Invert(Duality.Matrix3@,Duality.Matrix3@)">
<summary>
Calculate the inverse of the given matrix
</summary>
<param name="mat">The matrix to invert</param>
<param name="result">The inverse of the given matrix if it has one, or the input if it is singular</param>
<exception cref="T:System.InvalidOperationException">Thrown if the Matrix3 is singular.</exception>
</member>
<member name="M:Duality.Matrix3.Invert(Duality.Matrix3)">
<summary>
Calculate the inverse of the given matrix
</summary>
<param name="mat">The matrix to invert</param>
<returns>The inverse of the given matrix if it has one, or the input if it is singular</returns>
<exception cref="T:System.InvalidOperationException">Thrown if the Matrix4 is singular.</exception>
</member>
<member name="M:Duality.Matrix3.Transpose(Duality.Matrix3)">
<summary>
Calculate the transpose of the given matrix
</summary>
<param name="mat">The matrix to transpose</param>
<returns>The transpose of the given matrix</returns>
</member>
<member name="M:Duality.Matrix3.Transpose(Duality.Matrix3@,Duality.Matrix3@)">
<summary>
Calculate the transpose of the given matrix
</summary>
<param name="mat">The matrix to transpose</param>
<param name="result">The result of the calculation</param>
</member>
<member name="M:Duality.Matrix3.op_Multiply(Duality.Matrix3,Duality.Matrix3)">
<summary>
Matrix multiplication
</summary>
<param name="left">left-hand operand</param>
<param name="right">right-hand operand</param>
<returns>A new Matrix3d which holds the result of the multiplication</returns>
</member>
<member name="M:Duality.Matrix3.op_Equality(Duality.Matrix3,Duality.Matrix3)">
<summary>
Compares two instances for equality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left equals right; false otherwise.</returns>
</member>
<member name="M:Duality.Matrix3.op_Inequality(Duality.Matrix3,Duality.Matrix3)">
<summary>
Compares two instances for inequality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left does not equal right; false otherwise.</returns>
</member>
<member name="M:Duality.Matrix3.ToString">
<summary>
Returns a System.String that represents the current Matrix3d.
</summary>
<returns>The string representation of the matrix.</returns>
</member>
<member name="M:Duality.Matrix3.GetHashCode">
<summary>
Returns the hashcode for this instance.
</summary>
<returns>A System.Int32 containing the unique hashcode for this instance.</returns>
</member>
<member name="M:Duality.Matrix3.Equals(System.Object)">
<summary>
Indicates whether this instance and a specified object are equal.
</summary>
<param name="obj">The object to compare to.</param>
<returns>True if the instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Matrix3.Equals(Duality.Matrix3)">
<summary>
Indicates whether the current matrix is equal to another matrix.
</summary>
<param name="other">A matrix to compare with this matrix.</param>
<returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
</member>
<member name="P:Duality.Matrix3.Column0">
<summary>
Gets the first column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix3.Column1">
<summary>
Gets the second column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix3.Column2">
<summary>
Gets the third column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix3.M11">
<summary>
Gets or sets the value at row 1, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M12">
<summary>
Gets or sets the value at row 1, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M13">
<summary>
Gets or sets the value at row 1, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M21">
<summary>
Gets or sets the value at row 2, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M22">
<summary>
Gets or sets the value at row 2, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M23">
<summary>
Gets or sets the value at row 2, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M31">
<summary>
Gets or sets the value at row 3, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M32">
<summary>
Gets or sets the value at row 3, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.M33">
<summary>
Gets or sets the value at row 3, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix3.Item(System.Int32,System.Int32)">
<summary>
Gets or sets the value at a specified row and column.
</summary>
</member>
<member name="P:Duality.Matrix3.Determinant">
<summary>
Gets the determinant of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix3.Diagonal">
<summary>
Gets or sets the values along the main diagonal of the matrix.
</summary>
</member>
<member name="P:Duality.Matrix3.Trace">
<summary>
Gets the trace of the matrix, the sum of the values along the diagonal.
</summary>
</member>
<member name="T:Duality.Quaternion">
<summary>
Represents a Quaternion.
</summary>
</member>
<member name="F:Duality.Quaternion.Identity">
<summary>
Defines the identity quaternion.
</summary>
</member>
<member name="M:Duality.Quaternion.#ctor(Duality.Vector3,System.Single)">
<summary>
Construct a new Quaternion from vector and w components
</summary>
<param name="v">The vector part</param>
<param name="w">The w part</param>
</member>
<member name="M:Duality.Quaternion.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Construct a new Quaternion
</summary>
<param name="x">The x component</param>
<param name="y">The y component</param>
<param name="z">The z component</param>
<param name="w">The w component</param>
</member>
<member name="M:Duality.Quaternion.ToAxisAngle(Duality.Vector3@,System.Single@)">
<summary>
Convert the current quaternion to axis angle representation
</summary>
<param name="axis">The resultant axis</param>
<param name="angle">The resultant angle</param>
</member>
<member name="M:Duality.Quaternion.ToAxisAngle">
<summary>
Convert this instance to an axis-angle representation.
</summary>
<returns>A Vector4 that is the axis-angle representation of this quaternion.</returns>
</member>
<member name="M:Duality.Quaternion.Invert">
<summary>
Reverses the rotation angle of this Quaterniond.
</summary>
</member>
<member name="M:Duality.Quaternion.Normalize">
<summary>
Scales the Quaternion to unit length.
</summary>
</member>
<member name="M:Duality.Quaternion.Conjugate">
<summary>
Inverts the Vector3 component of this Quaternion.
</summary>
</member>
<member name="M:Duality.Quaternion.Normalized">
<summary>
Returns a copy of the Quaternion scaled to unit length.
</summary>
</member>
<member name="M:Duality.Quaternion.Inverted">
<summary>
Returns a copy of this Quaterniond with its rotation angle reversed.
</summary>
</member>
<member name="M:Duality.Quaternion.Add(Duality.Quaternion,Duality.Quaternion)">
<summary>
Add two quaternions
</summary>
<param name="left">The first operand</param>
<param name="right">The second operand</param>
<returns>The result of the addition</returns>
</member>
<member name="M:Duality.Quaternion.Add(Duality.Quaternion@,Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Add two quaternions
</summary>
<param name="left">The first operand</param>
<param name="right">The second operand</param>
<param name="result">The result of the addition</param>
</member>
<member name="M:Duality.Quaternion.Sub(Duality.Quaternion,Duality.Quaternion)">
<summary>
Subtracts two instances.
</summary>
<param name="left">The left instance.</param>
<param name="right">The right instance.</param>
<returns>The result of the operation.</returns>
</member>
<member name="M:Duality.Quaternion.Sub(Duality.Quaternion@,Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Subtracts two instances.
</summary>
<param name="left">The left instance.</param>
<param name="right">The right instance.</param>
<param name="result">The result of the operation.</param>
</member>
<member name="M:Duality.Quaternion.Mult(Duality.Quaternion,Duality.Quaternion)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>A new instance containing the result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.Mult(Duality.Quaternion@,Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<param name="result">A new instance containing the result of the calculation.</param>
</member>
<member name="M:Duality.Quaternion.Multiply(Duality.Quaternion,Duality.Quaternion)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>A new instance containing the result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.Multiply(Duality.Quaternion@,Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<param name="result">A new instance containing the result of the calculation.</param>
</member>
<member name="M:Duality.Quaternion.Multiply(Duality.Quaternion@,System.Single,Duality.Quaternion@)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="quaternion">The instance.</param>
<param name="scale">The scalar.</param>
<param name="result">A new instance containing the result of the calculation.</param>
</member>
<member name="M:Duality.Quaternion.Multiply(Duality.Quaternion,System.Single)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="quaternion">The instance.</param>
<param name="scale">The scalar.</param>
<returns>A new instance containing the result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.Conjugate(Duality.Quaternion)">
<summary>
Get the conjugate of the given quaternion
</summary>
<param name="q">The quaternion</param>
<returns>The conjugate of the given quaternion</returns>
</member>
<member name="M:Duality.Quaternion.Conjugate(Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Get the conjugate of the given quaternion
</summary>
<param name="q">The quaternion</param>
<param name="result">The conjugate of the given quaternion</param>
</member>
<member name="M:Duality.Quaternion.Invert(Duality.Quaternion)">
<summary>
Get the inverse of the given quaternion
</summary>
<param name="q">The quaternion to invert</param>
<returns>The inverse of the given quaternion</returns>
</member>
<member name="M:Duality.Quaternion.Invert(Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Get the inverse of the given quaternion
</summary>
<param name="q">The quaternion to invert</param>
<param name="result">The inverse of the given quaternion</param>
</member>
<member name="M:Duality.Quaternion.Normalize(Duality.Quaternion)">
<summary>
Scale the given quaternion to unit length
</summary>
<param name="q">The quaternion to normalize</param>
<returns>The normalized quaternion</returns>
</member>
<member name="M:Duality.Quaternion.Normalize(Duality.Quaternion@,Duality.Quaternion@)">
<summary>
Scale the given quaternion to unit length
</summary>
<param name="q">The quaternion to normalize</param>
<param name="result">The normalized quaternion</param>
</member>
<member name="M:Duality.Quaternion.FromAxisAngle(Duality.Vector3,System.Single)">
<summary>
Build a quaternion from the given axis and angle
</summary>
<param name="axis">The axis to rotate about</param>
<param name="angle">The rotation angle in radians</param>
<returns>The equivalent quaternion</returns>
</member>
<member name="M:Duality.Quaternion.FromMatrix(Duality.Matrix3)">
<summary>
Builds a quaternion from the given rotation matrix
</summary>
<param name="matrix">A rotation matrix</param>
<returns>The equivalent quaternion</returns>
</member>
<member name="M:Duality.Quaternion.FromMatrix(Duality.Matrix3@,Duality.Quaternion@)">
<summary>
Builds a quaternion from the given rotation matrix
</summary>
<param name="matrix">A rotation matrix</param>
<param name="result">The equivalent quaternion</param>
</member>
<member name="M:Duality.Quaternion.Slerp(Duality.Quaternion,Duality.Quaternion,System.Single)">
<summary>
Do Spherical linear interpolation between two quaternions
</summary>
<param name="q1">The first quaternion</param>
<param name="q2">The second quaternion</param>
<param name="blend">The blend factor</param>
<returns>A smooth blend between the given quaternions</returns>
</member>
<member name="M:Duality.Quaternion.op_Addition(Duality.Quaternion,Duality.Quaternion)">
<summary>
Adds two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.op_Subtraction(Duality.Quaternion,Duality.Quaternion)">
<summary>
Subtracts two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.op_Multiply(Duality.Quaternion,Duality.Quaternion)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.op_Multiply(Duality.Quaternion,System.Single)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="quaternion">The instance.</param>
<param name="scale">The scalar.</param>
<returns>A new instance containing the result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.op_Multiply(System.Single,Duality.Quaternion)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="quaternion">The instance.</param>
<param name="scale">The scalar.</param>
<returns>A new instance containing the result of the calculation.</returns>
</member>
<member name="M:Duality.Quaternion.op_Equality(Duality.Quaternion,Duality.Quaternion)">
<summary>
Compares two instances for equality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left equals right; false otherwise.</returns>
</member>
<member name="M:Duality.Quaternion.op_Inequality(Duality.Quaternion,Duality.Quaternion)">
<summary>
Compares two instances for inequality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left does not equal right; false otherwise.</returns>
</member>
<member name="M:Duality.Quaternion.ToString">
<summary>
Returns a System.String that represents the current Quaternion.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Quaternion.Equals(System.Object)">
<summary>
Compares this object instance to another object for equality.
</summary>
<param name="other">The other object to be used in the comparison.</param>
<returns>True if both objects are Quaternions of equal value. Otherwise it returns false.</returns>
</member>
<member name="M:Duality.Quaternion.GetHashCode">
<summary>
Provides the hash code for this object.
</summary>
<returns>A hash code formed from the bitwise XOR of this objects members.</returns>
</member>
<member name="M:Duality.Quaternion.Equals(Duality.Quaternion)">
<summary>
Compares this Quaternion instance to another Quaternion for equality.
</summary>
<param name="other">The other Quaternion to be used in the comparison.</param>
<returns>True if both instances are equal; false otherwise.</returns>
</member>
<member name="P:Duality.Quaternion.Xyz">
<summary>
Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance.
</summary>
</member>
<member name="P:Duality.Quaternion.X">
<summary>
Gets or sets the X component of this instance.
</summary>
</member>
<member name="P:Duality.Quaternion.Y">
<summary>
Gets or sets the Y component of this instance.
</summary>
</member>
<member name="P:Duality.Quaternion.Z">
<summary>
Gets or sets the Z component of this instance.
</summary>
</member>
<member name="P:Duality.Quaternion.W">
<summary>
Gets or sets the W component of this instance.
</summary>
</member>
<member name="P:Duality.Quaternion.Length">
<summary>
Gets the length (magnitude) of the quaternion.
</summary>
<seealso cref="P:Duality.Quaternion.LengthSquared"/>
</member>
<member name="P:Duality.Quaternion.LengthSquared">
<summary>
Gets the square of the quaternion length (magnitude).
</summary>
</member>
<member name="T:Duality.Matrix4">
<summary>
Represents a 4x4 matrix containing 3D rotation, scale, transform, and projection.
</summary>
<seealso cref="!:Matrix4d"/>
</member>
<member name="F:Duality.Matrix4.Identity">
<summary>
The identity matrix.
</summary>
</member>
<member name="F:Duality.Matrix4.Zero">
<summary>
The zero matrix.
</summary>
</member>
<member name="F:Duality.Matrix4.Row0">
<summary>
Top row of the matrix.
</summary>
</member>
<member name="F:Duality.Matrix4.Row1">
<summary>
2nd row of the matrix.
</summary>
</member>
<member name="F:Duality.Matrix4.Row2">
<summary>
3rd row of the matrix.
</summary>
</member>
<member name="F:Duality.Matrix4.Row3">
<summary>
Bottom row of the matrix.
</summary>
</member>
<member name="M:Duality.Matrix4.#ctor(Duality.Vector4,Duality.Vector4,Duality.Vector4,Duality.Vector4)">
<summary>
Constructs a new instance.
</summary>
<param name="row0">Top row of the matrix.</param>
<param name="row1">Second row of the matrix.</param>
<param name="row2">Third row of the matrix.</param>
<param name="row3">Bottom row of the matrix.</param>
</member>
<member name="M:Duality.Matrix4.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new instance.
</summary>
<param name="m00">First item of the first row of the matrix.</param>
<param name="m01">Second item of the first row of the matrix.</param>
<param name="m02">Third item of the first row of the matrix.</param>
<param name="m03">Fourth item of the first row of the matrix.</param>
<param name="m10">First item of the second row of the matrix.</param>
<param name="m11">Second item of the second row of the matrix.</param>
<param name="m12">Third item of the second row of the matrix.</param>
<param name="m13">Fourth item of the second row of the matrix.</param>
<param name="m20">First item of the third row of the matrix.</param>
<param name="m21">Second item of the third row of the matrix.</param>
<param name="m22">Third item of the third row of the matrix.</param>
<param name="m23">First item of the third row of the matrix.</param>
<param name="m30">Fourth item of the fourth row of the matrix.</param>
<param name="m31">Second item of the fourth row of the matrix.</param>
<param name="m32">Third item of the fourth row of the matrix.</param>
<param name="m33">Fourth item of the fourth row of the matrix.</param>
</member>
<member name="M:Duality.Matrix4.Invert">
<summary>
Converts this instance into its inverse.
</summary>
</member>
<member name="M:Duality.Matrix4.Transpose">
<summary>
Converts this instance into its transpose.
</summary>
</member>
<member name="M:Duality.Matrix4.Normalize">
<summary>
Divides each element in the Matrix by the <see cref="P:Duality.Matrix4.Determinant"/>.
</summary>
</member>
<member name="M:Duality.Matrix4.Normalized">
<summary>
Returns a normalised copy of this instance.
</summary>
</member>
<member name="M:Duality.Matrix4.Inverted">
<summary>
Returns an inverted copy of this instance.
</summary>
</member>
<member name="M:Duality.Matrix4.ClearTranslation">
<summary>
Returns a copy of this Matrix4 without translation.
</summary>
</member>
<member name="M:Duality.Matrix4.ClearScale">
<summary>
Returns a copy of this Matrix4 without scale.
</summary>
</member>
<member name="M:Duality.Matrix4.ClearRotation">
<summary>
Returns a copy of this Matrix4 without rotation.
</summary>
</member>
<member name="M:Duality.Matrix4.ClearProjection">
<summary>
Returns a copy of this Matrix4 without projection.
</summary>
</member>
<member name="M:Duality.Matrix4.ExtractTranslation">
<summary>
Returns the translation component of this instance.
</summary>
</member>
<member name="M:Duality.Matrix4.ExtractScale">
<summary>
Returns the scale component of this instance.
</summary>
</member>
<member name="M:Duality.Matrix4.ExtractRotation(System.Boolean)">
<summary>
Returns the rotation component of this instance. Quite slow.
</summary>
<param name="row_normalise">Whether the method should row-normalise (i.e. remove scale from) the Matrix. Pass false if you know it's already normalised.</param>
</member>
<member name="M:Duality.Matrix4.ExtractProjection">
<summary>
Returns the projection component of this instance.
</summary>
</member>
<member name="M:Duality.Matrix4.CreateFromAxisAngle(Duality.Vector3,System.Single,Duality.Matrix4@)">
<summary>
Build a rotation matrix from the specified axis/angle rotation.
</summary>
<param name="axis">The axis to rotate about.</param>
<param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
<param name="result">A matrix instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateFromAxisAngle(Duality.Vector3,System.Single)">
<summary>
Build a rotation matrix from the specified axis/angle rotation.
</summary>
<param name="axis">The axis to rotate about.</param>
<param name="angle">Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).</param>
<returns>A matrix instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateFromQuaternion(Duality.Quaternion@,Duality.Matrix4@)">
<summary>
Builds a rotation matrix from a quaternion.
</summary>
<param name="q">The quaternion to rotate by.</param>
<param name="result">A matrix instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateFromQuaternion(Duality.Quaternion)">
<summary>
Builds a rotation matrix from a quaternion.
</summary>
<param name="q">The quaternion to rotate by.</param>
<returns>A matrix instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateRotationX(System.Single,Duality.Matrix4@)">
<summary>
Builds a rotation matrix for a rotation around the x-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateRotationX(System.Single)">
<summary>
Builds a rotation matrix for a rotation around the x-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<returns>The resulting Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateRotationY(System.Single,Duality.Matrix4@)">
<summary>
Builds a rotation matrix for a rotation around the y-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateRotationY(System.Single)">
<summary>
Builds a rotation matrix for a rotation around the y-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<returns>The resulting Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateRotationZ(System.Single,Duality.Matrix4@)">
<summary>
Builds a rotation matrix for a rotation around the z-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateRotationZ(System.Single)">
<summary>
Builds a rotation matrix for a rotation around the z-axis.
</summary>
<param name="angle">The counter-clockwise angle in radians.</param>
<returns>The resulting Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateTranslation(System.Single,System.Single,System.Single,Duality.Matrix4@)">
<summary>
Creates a translation matrix.
</summary>
<param name="x">X translation.</param>
<param name="y">Y translation.</param>
<param name="z">Z translation.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateTranslation(Duality.Vector3@,Duality.Matrix4@)">
<summary>
Creates a translation matrix.
</summary>
<param name="vector">The translation vector.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateTranslation(System.Single,System.Single,System.Single)">
<summary>
Creates a translation matrix.
</summary>
<param name="x">X translation.</param>
<param name="y">Y translation.</param>
<param name="z">Z translation.</param>
<returns>The resulting Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateTranslation(Duality.Vector3)">
<summary>
Creates a translation matrix.
</summary>
<param name="vector">The translation vector.</param>
<returns>The resulting Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreateScale(System.Single)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Single scale factor for the x, y, and z axes.</param>
<returns>A scale matrix.</returns>
</member>
<member name="M:Duality.Matrix4.CreateScale(Duality.Vector3)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Scale factors for the x, y, and z axes.</param>
<returns>A scale matrix.</returns>
</member>
<member name="M:Duality.Matrix4.CreateScale(System.Single,System.Single,System.Single)">
<summary>
Creates a scale matrix.
</summary>
<param name="x">Scale factor for the x axis.</param>
<param name="y">Scale factor for the y axis.</param>
<param name="z">Scale factor for the z axis.</param>
<returns>A scale matrix.</returns>
</member>
<member name="M:Duality.Matrix4.CreateScale(System.Single,Duality.Matrix4@)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Single scale factor for the x, y, and z axes.</param>
<param name="result">A scale matrix.</param>
</member>
<member name="M:Duality.Matrix4.CreateScale(Duality.Vector3@,Duality.Matrix4@)">
<summary>
Creates a scale matrix.
</summary>
<param name="scale">Scale factors for the x, y, and z axes.</param>
<param name="result">A scale matrix.</param>
</member>
<member name="M:Duality.Matrix4.CreateScale(System.Single,System.Single,System.Single,Duality.Matrix4@)">
<summary>
Creates a scale matrix.
</summary>
<param name="x">Scale factor for the x axis.</param>
<param name="y">Scale factor for the y axis.</param>
<param name="z">Scale factor for the z axis.</param>
<param name="result">A scale matrix.</param>
</member>
<member name="M:Duality.Matrix4.CreateOrthographic(System.Single,System.Single,System.Single,System.Single,Duality.Matrix4@)">
<summary>
Creates an orthographic projection matrix.
</summary>
<param name="width">The width of the projection volume.</param>
<param name="height">The height of the projection volume.</param>
<param name="zNear">The near edge of the projection volume.</param>
<param name="zFar">The far edge of the projection volume.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateOrthographic(System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates an orthographic projection matrix.
</summary>
<param name="width">The width of the projection volume.</param>
<param name="height">The height of the projection volume.</param>
<param name="zNear">The near edge of the projection volume.</param>
<param name="zFar">The far edge of the projection volume.</param>
<rereturns>The resulting Matrix4 instance.</rereturns>
</member>
<member name="M:Duality.Matrix4.CreateOrthographicOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Duality.Matrix4@)">
<summary>
Creates an orthographic projection matrix.
</summary>
<param name="left">The left edge of the projection volume.</param>
<param name="right">The right edge of the projection volume.</param>
<param name="bottom">The bottom edge of the projection volume.</param>
<param name="top">The top edge of the projection volume.</param>
<param name="zNear">The near edge of the projection volume.</param>
<param name="zFar">The far edge of the projection volume.</param>
<param name="result">The resulting Matrix4 instance.</param>
</member>
<member name="M:Duality.Matrix4.CreateOrthographicOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates an orthographic projection matrix.
</summary>
<param name="left">The left edge of the projection volume.</param>
<param name="right">The right edge of the projection volume.</param>
<param name="bottom">The bottom edge of the projection volume.</param>
<param name="top">The top edge of the projection volume.</param>
<param name="zNear">The near edge of the projection volume.</param>
<param name="zFar">The far edge of the projection volume.</param>
<returns>The resulting Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.CreatePerspectiveFieldOfView(System.Single,System.Single,System.Single,System.Single,Duality.Matrix4@)">
<summary>
Creates a perspective projection matrix.
</summary>
<param name="fovy">Angle of the field of view in the y direction (in radians)</param>
<param name="aspect">Aspect ratio of the view (width / height)</param>
<param name="zNear">Distance to the near clip plane</param>
<param name="zFar">Distance to the far clip plane</param>
<param name="result">A projection matrix that transforms camera space to raster space</param>
<exception cref="T:System.ArgumentOutOfRangeException">
Thrown under the following conditions:
<list type="bullet">
<item>fovy is zero, less than zero or larger than Math.PI</item>
<item>aspect is negative or zero</item>
<item>zNear is negative or zero</item>
<item>zFar is negative or zero</item>
<item>zNear is larger than zFar</item>
</list>
</exception>
</member>
<member name="M:Duality.Matrix4.CreatePerspectiveFieldOfView(System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates a perspective projection matrix.
</summary>
<param name="fovy">Angle of the field of view in the y direction (in radians)</param>
<param name="aspect">Aspect ratio of the view (width / height)</param>
<param name="zNear">Distance to the near clip plane</param>
<param name="zFar">Distance to the far clip plane</param>
<returns>A projection matrix that transforms camera space to raster space</returns>
<exception cref="T:System.ArgumentOutOfRangeException">
Thrown under the following conditions:
<list type="bullet">
<item>fovy is zero, less than zero or larger than Math.PI</item>
<item>aspect is negative or zero</item>
<item>zNear is negative or zero</item>
<item>zFar is negative or zero</item>
<item>zNear is larger than zFar</item>
</list>
</exception>
</member>
<member name="M:Duality.Matrix4.CreatePerspectiveOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,Duality.Matrix4@)">
<summary>
Creates an perspective projection matrix.
</summary>
<param name="left">Left edge of the view frustum</param>
<param name="right">Right edge of the view frustum</param>
<param name="bottom">Bottom edge of the view frustum</param>
<param name="top">Top edge of the view frustum</param>
<param name="zNear">Distance to the near clip plane</param>
<param name="zFar">Distance to the far clip plane</param>
<param name="result">A projection matrix that transforms camera space to raster space</param>
<exception cref="T:System.ArgumentOutOfRangeException">
Thrown under the following conditions:
<list type="bullet">
<item>zNear is negative or zero</item>
<item>zFar is negative or zero</item>
<item>zNear is larger than zFar</item>
</list>
</exception>
</member>
<member name="M:Duality.Matrix4.CreatePerspectiveOffCenter(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates an perspective projection matrix.
</summary>
<param name="left">Left edge of the view frustum</param>
<param name="right">Right edge of the view frustum</param>
<param name="bottom">Bottom edge of the view frustum</param>
<param name="top">Top edge of the view frustum</param>
<param name="zNear">Distance to the near clip plane</param>
<param name="zFar">Distance to the far clip plane</param>
<returns>A projection matrix that transforms camera space to raster space</returns>
<exception cref="T:System.ArgumentOutOfRangeException">
Thrown under the following conditions:
<list type="bullet">
<item>zNear is negative or zero</item>
<item>zFar is negative or zero</item>
<item>zNear is larger than zFar</item>
</list>
</exception>
</member>
<member name="M:Duality.Matrix4.Translation(Duality.Vector3)">
<summary>
Builds a translation matrix.
</summary>
<param name="trans">The translation vector.</param>
<returns>A new Matrix4 instance.</returns>
</member>
<member name="M:Duality.Matrix4.Translation(System.Single,System.Single,System.Single)">
<summary>
Build a translation matrix with the given translation
</summary>
<param name="x">X translation</param>
<param name="y">Y translation</param>
<param name="z">Z translation</param>
<returns>A Translation matrix</returns>
</member>
<member name="M:Duality.Matrix4.RotateX(System.Single)">
<summary>
Build a rotation matrix that rotates about the x-axis
</summary>
<param name="angle">angle in radians to rotate counter-clockwise around the x-axis</param>
<returns>A rotation matrix</returns>
</member>
<member name="M:Duality.Matrix4.RotateY(System.Single)">
<summary>
Build a rotation matrix that rotates about the y-axis
</summary>
<param name="angle">angle in radians to rotate counter-clockwise around the y-axis</param>
<returns>A rotation matrix</returns>
</member>
<member name="M:Duality.Matrix4.RotateZ(System.Single)">
<summary>
Build a rotation matrix that rotates about the z-axis
</summary>
<param name="angle">angle in radians to rotate counter-clockwise around the z-axis</param>
<returns>A rotation matrix</returns>
</member>
<member name="M:Duality.Matrix4.Rotate(Duality.Vector3,System.Single)">
<summary>
Build a rotation matrix to rotate about the given axis
</summary>
<param name="axis">the axis to rotate about</param>
<param name="angle">angle in radians to rotate counter-clockwise (looking in the direction of the given axis)</param>
<returns>A rotation matrix</returns>
</member>
<member name="M:Duality.Matrix4.Rotate(Duality.Quaternion)">
<summary>
Build a rotation matrix from a quaternion
</summary>
<param name="q">the quaternion</param>
<returns>A rotation matrix</returns>
</member>
<member name="M:Duality.Matrix4.Scale(System.Single)">
<summary>
Build a scaling matrix
</summary>
<param name="scale">Single scale factor for x,y and z axes</param>
<returns>A scaling matrix</returns>
</member>
<member name="M:Duality.Matrix4.Scale(Duality.Vector3)">
<summary>
Build a scaling matrix
</summary>
<param name="scale">Scale factors for x,y and z axes</param>
<returns>A scaling matrix</returns>
</member>
<member name="M:Duality.Matrix4.Scale(System.Single,System.Single,System.Single)">
<summary>
Build a scaling matrix
</summary>
<param name="x">Scale factor for x-axis</param>
<param name="y">Scale factor for y-axis</param>
<param name="z">Scale factor for z-axis</param>
<returns>A scaling matrix</returns>
</member>
<member name="M:Duality.Matrix4.Frustum(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Build a projection matrix
</summary>
<param name="left">Left edge of the view frustum</param>
<param name="right">Right edge of the view frustum</param>
<param name="bottom">Bottom edge of the view frustum</param>
<param name="top">Top edge of the view frustum</param>
<param name="near">Distance to the near clip plane</param>
<param name="far">Distance to the far clip plane</param>
<returns>A projection matrix that transforms camera space to raster space</returns>
</member>
<member name="M:Duality.Matrix4.Perspective(System.Single,System.Single,System.Single,System.Single)">
<summary>
Build a projection matrix
</summary>
<param name="fovy">Angle of the field of view in the y direction (in radians)</param>
<param name="aspect">Aspect ratio of the view (width / height)</param>
<param name="near">Distance to the near clip plane</param>
<param name="far">Distance to the far clip plane</param>
<returns>A projection matrix that transforms camera space to raster space</returns>
</member>
<member name="M:Duality.Matrix4.LookAt(Duality.Vector3,Duality.Vector3,Duality.Vector3)">
<summary>
Build a world space to camera space matrix
</summary>
<param name="eye">Eye (camera) position in world space</param>
<param name="target">Target position in world space</param>
<param name="up">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
<returns>A Matrix4 that transforms world space to camera space</returns>
</member>
<member name="M:Duality.Matrix4.LookAt(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Build a world space to camera space matrix
</summary>
<param name="eyeX">Eye (camera) position in world space</param>
<param name="eyeY">Eye (camera) position in world space</param>
<param name="eyeZ">Eye (camera) position in world space</param>
<param name="targetX">Target position in world space</param>
<param name="targetY">Target position in world space</param>
<param name="targetZ">Target position in world space</param>
<param name="upX">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
<param name="upY">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
<param name="upZ">Up vector in world space (should not be parallel to the camera direction, that is target - eye)</param>
<returns>A Matrix4 that transforms world space to camera space</returns>
</member>
<member name="M:Duality.Matrix4.Add(Duality.Matrix4,Duality.Matrix4)">
<summary>
Adds two instances.
</summary>
<param name="left">The left operand of the addition.</param>
<param name="right">The right operand of the addition.</param>
<returns>A new instance that is the result of the addition.</returns>
</member>
<member name="M:Duality.Matrix4.Add(Duality.Matrix4@,Duality.Matrix4@,Duality.Matrix4@)">
<summary>
Adds two instances.
</summary>
<param name="left">The left operand of the addition.</param>
<param name="right">The right operand of the addition.</param>
<param name="result">A new instance that is the result of the addition.</param>
</member>
<member name="M:Duality.Matrix4.Subtract(Duality.Matrix4,Duality.Matrix4)">
<summary>
Subtracts one instance from another.
</summary>
<param name="left">The left operand of the subraction.</param>
<param name="right">The right operand of the subraction.</param>
<returns>A new instance that is the result of the subraction.</returns>
</member>
<member name="M:Duality.Matrix4.Subtract(Duality.Matrix4@,Duality.Matrix4@,Duality.Matrix4@)">
<summary>
Subtracts one instance from another.
</summary>
<param name="left">The left operand of the subraction.</param>
<param name="right">The right operand of the subraction.</param>
<param name="result">A new instance that is the result of the subraction.</param>
</member>
<member name="M:Duality.Matrix4.Mult(Duality.Matrix4,Duality.Matrix4)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The left operand of the multiplication.</param>
<param name="right">The right operand of the multiplication.</param>
<returns>A new instance that is the result of the multiplication.</returns>
</member>
<member name="M:Duality.Matrix4.Mult(Duality.Matrix4@,Duality.Matrix4@,Duality.Matrix4@)">
<summary>
Multiplies two instances.
</summary>
<param name="left">The left operand of the multiplication.</param>
<param name="right">The right operand of the multiplication.</param>
<param name="result">A new instance that is the result of the multiplication.</param>
</member>
<member name="M:Duality.Matrix4.Mult(Duality.Matrix4,System.Single)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="left">The left operand of the multiplication.</param>
<param name="right">The right operand of the multiplication.</param>
<returns>A new instance that is the result of the multiplication</returns>
</member>
<member name="M:Duality.Matrix4.Mult(Duality.Matrix4@,System.Single,Duality.Matrix4@)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="left">The left operand of the multiplication.</param>
<param name="right">The right operand of the multiplication.</param>
<param name="result">A new instance that is the result of the multiplication</param>
</member>
<member name="M:Duality.Matrix4.Invert(Duality.Matrix4@,Duality.Matrix4@)">
<summary>
Calculate the inverse of the given matrix
</summary>
<param name="mat">The matrix to invert</param>
<param name="result">The inverse of the given matrix if it has one, or the input if it is singular</param>
<exception cref="T:System.InvalidOperationException">Thrown if the Matrix4 is singular.</exception>
</member>
<member name="M:Duality.Matrix4.Invert(Duality.Matrix4)">
<summary>
Calculate the inverse of the given matrix
</summary>
<param name="mat">The matrix to invert</param>
<returns>The inverse of the given matrix if it has one, or the input if it is singular</returns>
<exception cref="T:System.InvalidOperationException">Thrown if the Matrix4 is singular.</exception>
</member>
<member name="M:Duality.Matrix4.Transpose(Duality.Matrix4)">
<summary>
Calculate the transpose of the given matrix
</summary>
<param name="mat">The matrix to transpose</param>
<returns>The transpose of the given matrix</returns>
</member>
<member name="M:Duality.Matrix4.Transpose(Duality.Matrix4@,Duality.Matrix4@)">
<summary>
Calculate the transpose of the given matrix
</summary>
<param name="mat">The matrix to transpose</param>
<param name="result">The result of the calculation</param>
</member>
<member name="M:Duality.Matrix4.op_Multiply(Duality.Matrix4,Duality.Matrix4)">
<summary>
Matrix multiplication
</summary>
<param name="left">left-hand operand</param>
<param name="right">right-hand operand</param>
<returns>A new Matrix4 which holds the result of the multiplication</returns>
</member>
<member name="M:Duality.Matrix4.op_Multiply(Duality.Matrix4,System.Single)">
<summary>
Matrix-scalar multiplication
</summary>
<param name="left">left-hand operand</param>
<param name="right">right-hand operand</param>
<returns>A new Matrix4 which holds the result of the multiplication</returns>
</member>
<member name="M:Duality.Matrix4.op_Addition(Duality.Matrix4,Duality.Matrix4)">
<summary>
Matrix addition
</summary>
<param name="left">left-hand operand</param>
<param name="right">right-hand operand</param>
<returns>A new Matrix4 which holds the result of the addition</returns>
</member>
<member name="M:Duality.Matrix4.op_Subtraction(Duality.Matrix4,Duality.Matrix4)">
<summary>
Matrix subtraction
</summary>
<param name="left">left-hand operand</param>
<param name="right">right-hand operand</param>
<returns>A new Matrix4 which holds the result of the subtraction</returns>
</member>
<member name="M:Duality.Matrix4.op_Equality(Duality.Matrix4,Duality.Matrix4)">
<summary>
Compares two instances for equality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left equals right; false otherwise.</returns>
</member>
<member name="M:Duality.Matrix4.op_Inequality(Duality.Matrix4,Duality.Matrix4)">
<summary>
Compares two instances for inequality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left does not equal right; false otherwise.</returns>
</member>
<member name="M:Duality.Matrix4.ToString">
<summary>
Returns a System.String that represents the current Matrix4.
</summary>
<returns>The string representation of the matrix.</returns>
</member>
<member name="M:Duality.Matrix4.GetHashCode">
<summary>
Returns the hashcode for this instance.
</summary>
<returns>A System.Int32 containing the unique hashcode for this instance.</returns>
</member>
<member name="M:Duality.Matrix4.Equals(System.Object)">
<summary>
Indicates whether this instance and a specified object are equal.
</summary>
<param name="obj">The object to compare tresult.</param>
<returns>True if the instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Matrix4.Equals(Duality.Matrix4)">
<summary>
Indicates whether the current matrix is equal to another matrix.
</summary>
<param name="other">An matrix to compare with this matrix.</param>
<returns>true if the current matrix is equal to the matrix parameter; otherwise, false.</returns>
</member>
<member name="P:Duality.Matrix4.Column0">
<summary>
Gets the first column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix4.Column1">
<summary>
Gets the second column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix4.Column2">
<summary>
Gets the third column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix4.Column3">
<summary>
Gets the fourth column of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix4.M11">
<summary>
Gets or sets the value at row 1, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M12">
<summary>
Gets or sets the value at row 1, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M13">
<summary>
Gets or sets the value at row 1, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M14">
<summary>
Gets or sets the value at row 1, column 4 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M21">
<summary>
Gets or sets the value at row 2, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M22">
<summary>
Gets or sets the value at row 2, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M23">
<summary>
Gets or sets the value at row 2, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M24">
<summary>
Gets or sets the value at row 2, column 4 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M31">
<summary>
Gets or sets the value at row 3, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M32">
<summary>
Gets or sets the value at row 3, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M33">
<summary>
Gets or sets the value at row 3, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M34">
<summary>
Gets or sets the value at row 3, column 4 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M41">
<summary>
Gets or sets the value at row 4, column 1 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M42">
<summary>
Gets or sets the value at row 4, column 2 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M43">
<summary>
Gets or sets the value at row 4, column 3 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.M44">
<summary>
Gets or sets the value at row 4, column 4 of this instance.
</summary>
</member>
<member name="P:Duality.Matrix4.Item(System.Int32,System.Int32)">
<summary>
Gets or sets the value at a specified row and column.
</summary>
</member>
<member name="P:Duality.Matrix4.Determinant">
<summary>
Gets the determinant of this matrix.
</summary>
</member>
<member name="P:Duality.Matrix4.Diagonal">
<summary>
Gets or sets the values along the main diagonal of the matrix.
</summary>
</member>
<member name="P:Duality.Matrix4.Trace">
<summary>
Gets the trace of the matrix, the sum of the values along the diagonal.
</summary>
</member>
<member name="T:Duality.Rect">
<summary>
Describes a rectangular area.
</summary>
</member>
<member name="F:Duality.Rect.Empty">
<summary>
An empty Rect.
</summary>
</member>
<member name="F:Duality.Rect.X">
<summary>
The Rects x-Coordinate.
</summary>
</member>
<member name="F:Duality.Rect.Y">
<summary>
The Rects y-Coordinate.
</summary>
</member>
<member name="F:Duality.Rect.W">
<summary>
The Rects width.
</summary>
</member>
<member name="F:Duality.Rect.H">
<summary>
The Rects height.
</summary>
</member>
<member name="M:Duality.Rect.#ctor(Duality.Vector2)">
<summary>
Creates a Rect of the given size.
</summary>
<param name="size"></param>
</member>
<member name="M:Duality.Rect.#ctor(System.Single,System.Single)">
<summary>
Creates a Rect of the given size.
</summary>
<param name="w"></param>
<param name="h"></param>
</member>
<member name="M:Duality.Rect.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates a Rect of the given size and position.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="w"></param>
<param name="h"></param>
</member>
<member name="M:Duality.Rect.WithOffset(System.Single,System.Single)">
<summary>
Returns a new version of this Rect that has been moved by the specified offset.
</summary>
<param name="x">Movement in x-Direction.</param>
<param name="y">Movement in y-Direction.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.WithOffset(Duality.Vector2)">
<summary>
Returns a new version of this Rect that has been moved by the specified offset.
</summary>
<param name="offset">Movement vector.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.Scaled(System.Single,System.Single)">
<summary>
Returns a new version of this Rect that has been scaled by the specified factor.
Scaling only affects a Rects size, not its position.
</summary>
<param name="x">x-Scale factor.</param>
<param name="y">y-Scale factor.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.Scaled(Duality.Vector2)">
<summary>
Returns a new version of this Rect that has been scaled by the specified factor.
Scaling only affects a Rects size, not its position.
</summary>
<param name="factor">Scale factor.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.Transformed(System.Single,System.Single)">
<summary>
Returns a new version of this Rect that has been transformed by the specified scale factor.
Transforming both affects a Rects size and position.
</summary>
<param name="x">x-Scale factor.</param>
<param name="y">y-Scale factor.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.Transformed(Duality.Vector2)">
<summary>
Returns a new version of this Rect that has been transformed by the specified scale factor.
Transforming both affects a Rects size and position.
</summary>
<param name="scale">Scale factor.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.ExpandedToContain(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns a new version of this Rect that has been expanded to contain
the specified rectangular area.
</summary>
<param name="x">x-Coordinate of the Rect to contain.</param>
<param name="y">y-Coordinate of the Rect to contain.</param>
<param name="w">Width of the Rect to contain.</param>
<param name="h">Height of the Rect to contain.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.ExpandedToContain(Duality.Rect)">
<summary>
Returns a new version of this Rect that has been expanded to contain
the specified Rect.
</summary>
<param name="other">The Rect to contain.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.ExpandedToContain(System.Single,System.Single)">
<summary>
Returns a new version of this Rect that has been expanded to contain
the specified point.
</summary>
<param name="x">x-Coordinate of the point to contain.</param>
<param name="y">y-Coordinate of the point to contain.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.ExpandedToContain(Duality.Vector2)">
<summary>
Returns a new version of this Rect that has been expanded to contain
the specified point.
</summary>
<param name="p">The point to contain.</param>
<returns>A new Rect with the specified adjustments.</returns>
</member>
<member name="M:Duality.Rect.Normalized">
<summary>
Returns a normalized version of the rect, i.e. one with a positive width and height.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Rect.Contains(System.Single,System.Single)">
<summary>
Returns whether this Rect contains a given point.
</summary>
<param name="x">x-Coordinate of the point to test.</param>
<param name="y">y-Coordinate of the point to test.</param>
<returns>True, if the Rect contains the point, false if not.</returns>
</member>
<member name="M:Duality.Rect.Contains(Duality.Vector2)">
<summary>
Returns whether this Rect contains a given point.
</summary>
<param name="pos">The point to test.</param>
<returns>True, if the Rect contains the point, false if not.</returns>
</member>
<member name="M:Duality.Rect.Contains(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns whether this Rect contains a given rectangular area.
</summary>
<param name="x">x-Coordinate of the Rect to test.</param>
<param name="y">y-Coordinate of the Rect to test.</param>
<param name="w">Width of the Rect to test.</param>
<param name="h">Height of the Rect to test.</param>
<returns>True, if the Rect contains the other Rect, false if not.</returns>
</member>
<member name="M:Duality.Rect.Contains(Duality.Rect)">
<summary>
Returns whether this Rect contains a given rectangular area.
</summary>
<param name="rect">The Rect to test.</param>
<returns>True, if the Rect contains the other Rect, false if not.</returns>
</member>
<member name="M:Duality.Rect.Intersects(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns whether this Rect intersects a given rectangular area.
</summary>
<param name="x">x-Coordinate of the Rect to test.</param>
<param name="y">y-Coordinate of the Rect to test.</param>
<param name="w">Width of the Rect to test.</param>
<param name="h">Height of the Rect to test.</param>
<returns>True, if the Rect intersects the other Rect, false if not.</returns>
</member>
<member name="M:Duality.Rect.Intersects(Duality.Rect)">
<summary>
Returns whether this Rect intersects a given rectangular area.
</summary>
<param name="rect">The Rect to test.</param>
<returns>True, if the Rect intersects the other Rect, false if not.</returns>
</member>
<member name="M:Duality.Rect.Intersection(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns a Rect that equals this Rects intersection with another Rect.
</summary>
<param name="x">x-Coordinate of the Rect to intersect with.</param>
<param name="y">y-Coordinate of the Rect to intersect with.</param>
<param name="w">Width of the Rect to intersect with.</param>
<param name="h">Height of the Rect to intersect with.</param>
<returns>A new Rect that describes both Rects intersection area. <see cref="F:Duality.Rect.Empty"/>, if there is no intersection.</returns>
</member>
<member name="M:Duality.Rect.Intersection(Duality.Rect)">
<summary>
Returns a Rect that equals this Rects intersection with another Rect.
</summary>
<param name="rect">The other Rect to intersect with.</param>
<returns>A new Rect that describes both Rects intersection area. <see cref="F:Duality.Rect.Empty"/>, if there is no intersection.</returns>
</member>
<member name="M:Duality.Rect.Equals(Duality.Rect)">
<summary>
Tests if two Rects are equal.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:Duality.Rect.Align(Duality.Alignment,System.Single,System.Single,System.Single,System.Single)">
<summary>
Creates a Rect using x and y Coordinates that are assumed to be aligned as specified.
</summary>
<param name="align">The alignment of the Rects x and y Coordinates.</param>
<param name="x">The Rects x-Coordinate.</param>
<param name="y">The Rects y-Coordinate.</param>
<param name="w">The Rects width.</param>
<param name="h">The Rects height.</param>
<returns></returns>
</member>
<member name="M:Duality.Rect.op_Equality(Duality.Rect,Duality.Rect)">
<summary>
Returns whether two Rects are equal.
</summary>
<param name="left">The first Rect.</param>
<param name="right">The second Rect.</param>
<returns></returns>
</member>
<member name="M:Duality.Rect.op_Inequality(Duality.Rect,Duality.Rect)">
<summary>
Returns whether two Rects are unequal.
</summary>
<param name="left">The first Rect.</param>
<param name="right">The second Rect.</param>
<returns></returns>
</member>
<member name="P:Duality.Rect.Pos">
<summary>
[GET / SET] The Rects position
</summary>
</member>
<member name="P:Duality.Rect.Size">
<summary>
[GET / SET] The Rects size.
</summary>
</member>
<member name="P:Duality.Rect.LeftX">
<summary>
[GET] The minimum x-Coordinate occupied by the Rect. Accounts for negative sizes.
</summary>
</member>
<member name="P:Duality.Rect.TopY">
<summary>
[GET] The minimum y-Coordinate occupied by the Rect. Accounts for negative sizes.
</summary>
</member>
<member name="P:Duality.Rect.BottomY">
<summary>
[GET] The maximum y-Coordinate occupied by the Rect. Accounts for negative sizes.
</summary>
</member>
<member name="P:Duality.Rect.RightX">
<summary>
[GET] The maximum x-Coordinate occupied by the Rect. Accounts for negative sizes.
</summary>
</member>
<member name="P:Duality.Rect.CenterX">
<summary>
[GET] The center x-Coordinate occupied by the Rect.
</summary>
</member>
<member name="P:Duality.Rect.CenterY">
<summary>
[GET] The center y-Coordinate occupied by the Rect.
</summary>
</member>
<member name="P:Duality.Rect.TopLeft">
<summary>
[GET] The Rects top left coordinates
</summary>
</member>
<member name="P:Duality.Rect.TopRight">
<summary>
[GET] The Rects top right coordinates
</summary>
</member>
<member name="P:Duality.Rect.BottomLeft">
<summary>
[GET] The Rects bottom left coordinates
</summary>
</member>
<member name="P:Duality.Rect.BottomRight">
<summary>
[GET] The Rects bottom right coordinates
</summary>
</member>
<member name="P:Duality.Rect.Center">
<summary>
[GET] The Rects center coordinates
</summary>
</member>
<member name="P:Duality.Rect.BoundingRadius">
<summary>
[GET] If this Rect was to fit inside a bounding circle originating from [0,0],
this would be its radius.
</summary>
</member>
<member name="T:Duality.Point2">
<summary>
Represents a 2D point using two integer values. For vector math, see <see cref="T:Duality.Vector2"/>.
</summary>
</member>
<member name="F:Duality.Point2.Zero">
<summary>
A point at the origin (0, 0).
</summary>
</member>
<member name="F:Duality.Point2.X">
<summary>
The X component of the Point.
</summary>
</member>
<member name="F:Duality.Point2.Y">
<summary>
The Y component of the Point.
</summary>
</member>
<member name="M:Duality.Point2.#ctor(System.Int32,System.Int32)">
<summary>
Constructs a new Point.
</summary>
<param name="x">The x coordinate of the Point.</param>
<param name="y">The y coordinate of the Point.</param>
</member>
<member name="M:Duality.Point2.Min(Duality.Point2,Duality.Point2)">
<summary>
Calculate the component-wise minimum of two points.
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise minimum</returns>
</member>
<member name="M:Duality.Point2.Max(Duality.Point2,Duality.Point2)">
<summary>
Calculate the component-wise maximum of two points.
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise maximum</returns>
</member>
<member name="M:Duality.Point2.Distance(Duality.Point2,Duality.Point2)">
<summary>
Calculates the distance between two points described by two points.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Point2.op_Addition(Duality.Point2,Duality.Point2)">
<summary>
Adds the specified points component-wise.
</summary>
</member>
<member name="M:Duality.Point2.op_Subtraction(Duality.Point2,Duality.Point2)">
<summary>
Subtracts the specified points component-wise.
</summary>
</member>
<member name="M:Duality.Point2.op_UnaryNegation(Duality.Point2)">
<summary>
Inverts the specified point component-wise,
</summary>
</member>
<member name="M:Duality.Point2.op_Multiply(Duality.Point2,System.Int32)">
<summary>
Multiplies the specified point component-wise with the specified factor.
</summary>
</member>
<member name="M:Duality.Point2.op_Multiply(System.Int32,Duality.Point2)">
<summary>
Multiplies the specified point component-wise with the specified factor.
</summary>
</member>
<member name="M:Duality.Point2.op_Multiply(Duality.Point2,Duality.Point2)">
<summary>
Multiplies the specified points component-wise.
</summary>
</member>
<member name="M:Duality.Point2.op_Division(Duality.Point2,System.Int32)">
<summary>
Divides the specified point component-wise with the specified value.
</summary>
</member>
<member name="M:Duality.Point2.op_Division(Duality.Point2,Duality.Point2)">
<summary>
Divides the specified points component-wise.
</summary>
</member>
<member name="M:Duality.Point2.op_Multiply(Duality.Point2,System.Single)">
<summary>
Multiplies the specified point component-wise with the specified factor.
</summary>
</member>
<member name="M:Duality.Point2.op_Multiply(System.Single,Duality.Point2)">
<summary>
Multiplies the specified point component-wise with the specified factor.
</summary>
</member>
<member name="M:Duality.Point2.op_Division(Duality.Point2,System.Single)">
<summary>
Divides the specified point component-wise with the specified value.
</summary>
</member>
<member name="M:Duality.Point2.op_Equality(Duality.Point2,Duality.Point2)">
<summary>
Compares the specified instances for equality.
</summary>
<param name="left">Left operand.</param>
<param name="right">Right operand.</param>
<returns>True if both instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Point2.op_Inequality(Duality.Point2,Duality.Point2)">
<summary>
Compares the specified instances for inequality.
</summary>
<param name="left">Left operand.</param>
<param name="right">Right operand.</param>
<returns>True if both instances are not equal; false otherwise.</returns>
</member>
<member name="M:Duality.Point2.ToString">
<summary>
Returns a System.String that represents the current Point.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Point2.GetHashCode">
<summary>
Returns the hashcode for this instance.
</summary>
<returns>A System.Int32 containing the unique hashcode for this instance.</returns>
</member>
<member name="M:Duality.Point2.Equals(System.Object)">
<summary>
Indicates whether this instance and a specified object are equal.
</summary>
<param name="obj">The object to compare to.</param>
<returns>True if the instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Point2.Equals(Duality.Point2)">
<summary>
Indicates whether the current point is equal to another point.
</summary>
<param name="other">A point to compare with this point.</param>
<returns>true if the current point is equal to the point parameter; otherwise, false.</returns>
</member>
<member name="P:Duality.Point2.Item(System.Int32)">
<summary>
Gets or sets the value at the index of the Point.
</summary>
</member>
<member name="T:Duality.DontSerializeAttribute">
<summary>
Flags a class, struct or field as inappropriate for serialization.
</summary>
</member>
<member name="T:Duality.Vector2">
<summary>
Represents a 2D vector using two single-precision floating-point numbers.
</summary>
</member>
<member name="F:Duality.Vector2.UnitX">
<summary>
Defines a unit-length Vector2 that points along the X-axis.
</summary>
</member>
<member name="F:Duality.Vector2.UnitY">
<summary>
Defines a unit-length Vector2 that points along the Y-axis.
</summary>
</member>
<member name="F:Duality.Vector2.Zero">
<summary>
Defines a zero-length Vector2.
</summary>
</member>
<member name="F:Duality.Vector2.One">
<summary>
Defines an instance with all components set to 1.
</summary>
</member>
<member name="F:Duality.Vector2.X">
<summary>
The X component of the Vector2.
</summary>
</member>
<member name="F:Duality.Vector2.Y">
<summary>
The Y component of the Vector2.
</summary>
</member>
<member name="M:Duality.Vector2.#ctor(System.Single)">
<summary>
Constructs a new instance.
</summary>
<param name="value">The value that will initialize this instance.</param>
</member>
<member name="M:Duality.Vector2.#ctor(System.Single,System.Single)">
<summary>
Constructs a new Vector2.
</summary>
<param name="x">The x coordinate of the net Vector2.</param>
<param name="y">The y coordinate of the net Vector2.</param>
</member>
<member name="M:Duality.Vector2.FromAngleLength(System.Single,System.Single)">
<summary>
Constructs a new vector from angle and length.
</summary>
<param name="angle"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:Duality.Vector2.Normalize">
<summary>
Scales the Vector2 to unit length.
</summary>
</member>
<member name="M:Duality.Vector2.Add(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Adds two vectors.
</summary>
<param name="a">Left operand.</param>
<param name="b">Right operand.</param>
<param name="result">Result of operation.</param>
</member>
<member name="M:Duality.Vector2.Subtract(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Subtract one Vector from another
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">Result of subtraction</param>
</member>
<member name="M:Duality.Vector2.Multiply(Duality.Vector2@,System.Single,Duality.Vector2@)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector2.Multiply(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Multiplies a vector by the components of a vector (scale).
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector2.Divide(Duality.Vector2@,System.Single,Duality.Vector2@)">
<summary>
Divides a vector by a scalar.
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector2.Divide(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Divide a vector by the components of a vector (scale).
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector2.Min(Duality.Vector2,Duality.Vector2)">
<summary>
Calculate the component-wise minimum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise minimum</returns>
</member>
<member name="M:Duality.Vector2.Min(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Calculate the component-wise minimum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">The component-wise minimum</param>
</member>
<member name="M:Duality.Vector2.Max(Duality.Vector2,Duality.Vector2)">
<summary>
Calculate the component-wise maximum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise maximum</returns>
</member>
<member name="M:Duality.Vector2.Max(Duality.Vector2@,Duality.Vector2@,Duality.Vector2@)">
<summary>
Calculate the component-wise maximum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">The component-wise maximum</param>
</member>
<member name="M:Duality.Vector2.Dot(Duality.Vector2,Duality.Vector2)">
<summary>
Calculate the dot (scalar) product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<returns>The dot product of the two inputs</returns>
</member>
<member name="M:Duality.Vector2.Dot(Duality.Vector2@,Duality.Vector2@,System.Single@)">
<summary>
Calculate the dot (scalar) product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<param name="result">The dot product of the two inputs</param>
</member>
<member name="M:Duality.Vector2.Lerp(Duality.Vector2,Duality.Vector2,System.Single)">
<summary>
Returns a new Vector that is the linear blend of the 2 given Vectors
</summary>
<param name="a">First input vector</param>
<param name="b">Second input vector</param>
<param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
<returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
</member>
<member name="M:Duality.Vector2.Lerp(Duality.Vector2@,Duality.Vector2@,System.Single,Duality.Vector2@)">
<summary>
Returns a new Vector that is the linear blend of the 2 given Vectors
</summary>
<param name="a">First input vector</param>
<param name="b">Second input vector</param>
<param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
<param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
</member>
<member name="M:Duality.Vector2.AngleBetween(Duality.Vector2,Duality.Vector2)">
<summary>
Calculates the angle (in radians) between two vectors.
</summary>
<param name="first">The first vector.</param>
<param name="second">The second vector.</param>
<returns>Angle (in radians) between the vectors.</returns>
<remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
</member>
<member name="M:Duality.Vector2.AngleBetween(Duality.Vector2@,Duality.Vector2@,System.Single@)">
<summary>
Calculates the angle (in radians) between two vectors.
</summary>
<param name="first">The first vector.</param>
<param name="second">The second vector.</param>
<param name="result">Angle (in radians) between the vectors.</param>
<remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
</member>
<member name="M:Duality.Vector2.Transform(Duality.Vector2,Duality.Quaternion)">
<summary>
Transforms a vector by a quaternion rotation.
</summary>
<param name="vec">The vector to transform.</param>
<param name="quat">The quaternion to rotate the vector by.</param>
<returns>The result of the operation.</returns>
</member>
<member name="M:Duality.Vector2.Transform(Duality.Vector2@,Duality.Quaternion@,Duality.Vector2@)">
<summary>
Transforms a vector by a quaternion rotation.
</summary>
<param name="vec">The vector to transform.</param>
<param name="quat">The quaternion to rotate the vector by.</param>
<param name="result">The result of the operation.</param>
</member>
<member name="M:Duality.Vector2.Transform(Duality.Vector2,Duality.Matrix4)">
<summary>
Transforms the vector
</summary>
<param name="vec"></param>
<param name="mat"></param>
<returns></returns>
</member>
<member name="M:Duality.Vector2.Transform(Duality.Vector2@,Duality.Matrix4@,Duality.Vector2@)">
<summary>
Transforms the vector
</summary>
<param name="vec"></param>
<param name="mat"></param>
<param name="result"></param>
<returns></returns>
</member>
<member name="M:Duality.Vector2.op_Addition(Duality.Vector2,Duality.Vector2)">
<summary>
Adds the specified instances.
</summary>
<param name="left">Left operand.</param>
<param name="right">Right operand.</param>
<returns>Result of addition.</returns>
</member>
<member name="M:Duality.Vector2.op_Subtraction(Duality.Vector2,Duality.Vector2)">
<summary>
Subtracts the specified instances.
</summary>
<param name="left">Left operand.</param>
<param name="right">Right operand.</param>
<returns>Result of subtraction.</returns>
</member>
<member name="M:Duality.Vector2.op_UnaryNegation(Duality.Vector2)">
<summary>
Negates the specified instance.
</summary>
<param name="vec">Operand.</param>
<returns>Result of negation.</returns>
</member>
<member name="M:Duality.Vector2.op_Multiply(Duality.Vector2,System.Single)">
<summary>
Multiplies the specified instance by a scalar.
</summary>
<param name="vec">Left operand.</param>
<param name="scale">Right operand.</param>
<returns>Result of multiplication.</returns>
</member>
<member name="M:Duality.Vector2.op_Multiply(System.Single,Duality.Vector2)">
<summary>
Multiplies the specified instance by a scalar.
</summary>
<param name="scale">Left operand.</param>
<param name="vec">Right operand.</param>
<returns>Result of multiplication.</returns>
</member>
<member name="M:Duality.Vector2.op_Multiply(Duality.Vector2,Duality.Vector2)">
<summary>
Scales the specified instance by a vector.
</summary>
<param name="vec">Left operand.</param>
<param name="scale">Right operand.</param>
<returns>Result of multiplication.</returns>
</member>
<member name="M:Duality.Vector2.op_Division(Duality.Vector2,System.Single)">
<summary>
Divides the specified instance by a scalar.
</summary>
<param name="vec">Left operand</param>
<param name="scale">Right operand</param>
<returns>Result of the division.</returns>
</member>
<member name="M:Duality.Vector2.op_Division(Duality.Vector2,Duality.Vector2)">
<summary>
Divides the specified instance by a vector.
</summary>
<param name="vec">Left operand</param>
<param name="scale">Right operand</param>
<returns>Result of the division.</returns>
</member>
<member name="M:Duality.Vector2.op_Equality(Duality.Vector2,Duality.Vector2)">
<summary>
Compares the specified instances for equality.
</summary>
<param name="left">Left operand.</param>
<param name="right">Right operand.</param>
<returns>True if both instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Vector2.op_Inequality(Duality.Vector2,Duality.Vector2)">
<summary>
Compares the specified instances for inequality.
</summary>
<param name="left">Left operand.</param>
<param name="right">Right operand.</param>
<returns>True if both instances are not equal; false otherwise.</returns>
</member>
<member name="M:Duality.Vector2.ToString">
<summary>
Returns a System.String that represents the current Vector2.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Vector2.GetHashCode">
<summary>
Returns the hashcode for this instance.
</summary>
<returns>A System.Int32 containing the unique hashcode for this instance.</returns>
</member>
<member name="M:Duality.Vector2.Equals(System.Object)">
<summary>
Indicates whether this instance and a specified object are equal.
</summary>
<param name="obj">The object to compare to.</param>
<returns>True if the instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Vector2.Equals(Duality.Vector2)">
<summary>
Indicates whether the current vector is equal to another vector.
</summary>
<param name="other">A vector to compare with this vector.</param>
<returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
</member>
<member name="P:Duality.Vector2.Length">
<summary>
Gets the length (magnitude) of the vector.
</summary>
<seealso cref="P:Duality.Vector2.LengthSquared"/>
</member>
<member name="P:Duality.Vector2.LengthSquared">
<summary>
Gets the square of the vector length (magnitude).
</summary>
<remarks>
This property avoids the costly square root operation required by the Length property. This makes it more suitable
for comparisons.
</remarks>
<see cref="P:Duality.Vector2.Length"/>
</member>
<member name="P:Duality.Vector2.Angle">
<summary>
Returns the vectors angle
</summary>
</member>
<member name="P:Duality.Vector2.PerpendicularRight">
<summary>
Gets the perpendicular vector on the right side of this vector.
</summary>
</member>
<member name="P:Duality.Vector2.PerpendicularLeft">
<summary>
Gets the perpendicular vector on the left side of this vector.
</summary>
</member>
<member name="P:Duality.Vector2.Normalized">
<summary>
Returns a normalized version of this vector.
</summary>
</member>
<member name="P:Duality.Vector2.Item(System.Int32)">
<summary>
Gets or sets the value at the index of the Vector.
</summary>
</member>
<member name="T:Duality.Vector3">
<summary>
Represents a 3D vector using three single-precision floating-point numbers.
</summary>
</member>
<member name="F:Duality.Vector3.UnitX">
<summary>
Defines a unit-length Vector3 that points towards the X-axis.
</summary>
</member>
<member name="F:Duality.Vector3.UnitY">
<summary>
Defines a unit-length Vector3 that points towards the Y-axis.
</summary>
</member>
<member name="F:Duality.Vector3.UnitZ">
<summary>
/// Defines a unit-length Vector3 that points towards the Z-axis.
</summary>
</member>
<member name="F:Duality.Vector3.Zero">
<summary>
Defines a zero-length Vector3.
</summary>
</member>
<member name="F:Duality.Vector3.One">
<summary>
Defines an instance with all components set to 1.
</summary>
</member>
<member name="F:Duality.Vector3.X">
<summary>
The X component of the Vector3.
</summary>
</member>
<member name="F:Duality.Vector3.Y">
<summary>
The Y component of the Vector3.
</summary>
</member>
<member name="F:Duality.Vector3.Z">
<summary>
The Z component of the Vector3.
</summary>
</member>
<member name="M:Duality.Vector3.#ctor(System.Single)">
<summary>
Constructs a new instance.
</summary>
<param name="value">The value that will initialize this instance.</param>
</member>
<member name="M:Duality.Vector3.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructs a new Vector3.
</summary>
<param name="x">The x component of the Vector3.</param>
<param name="y">The y component of the Vector3.</param>
<param name="z">The z component of the Vector3.</param>
</member>
<member name="M:Duality.Vector3.#ctor(Duality.Vector2)">
<summary>
Constructs a new Vector3 from the given Vector2.
</summary>
<param name="v">The Vector2 to copy components from.</param>
</member>
<member name="M:Duality.Vector3.#ctor(Duality.Vector2,System.Single)">
<summary>
Constructs a new Vector3 from the given Vector2.
</summary>
<param name="v">The Vector2 to copy components from.</param>
<param name="z"></param>
</member>
<member name="M:Duality.Vector3.Normalize">
<summary>
Scales the Vector3 to unit length.
</summary>
</member>
<member name="M:Duality.Vector3.Add(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Adds two vectors.
</summary>
<param name="a">Left operand.</param>
<param name="b">Right operand.</param>
<param name="result">Result of operation.</param>
</member>
<member name="M:Duality.Vector3.Subtract(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Subtract one Vector from another
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">Result of subtraction</param>
</member>
<member name="M:Duality.Vector3.Multiply(Duality.Vector3@,System.Single,Duality.Vector3@)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector3.Multiply(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Multiplies a vector by the components of a vector (scale).
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector3.Divide(Duality.Vector3@,System.Single,Duality.Vector3@)">
<summary>
Divides a vector by a scalar.
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector3.Divide(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Divide a vector by the components of a vector (scale).
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector3.Min(Duality.Vector3,Duality.Vector3)">
<summary>
Calculate the component-wise minimum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise minimum</returns>
</member>
<member name="M:Duality.Vector3.Min(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Calculate the component-wise minimum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">The component-wise minimum</param>
</member>
<member name="M:Duality.Vector3.Max(Duality.Vector3,Duality.Vector3)">
<summary>
Calculate the component-wise maximum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise maximum</returns>
</member>
<member name="M:Duality.Vector3.Max(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Calculate the component-wise maximum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">The component-wise maximum</param>
</member>
<member name="M:Duality.Vector3.Dot(Duality.Vector3,Duality.Vector3)">
<summary>
Calculate the dot (scalar) product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<returns>The dot product of the two inputs</returns>
</member>
<member name="M:Duality.Vector3.Dot(Duality.Vector3@,Duality.Vector3@,System.Single@)">
<summary>
Calculate the dot (scalar) product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<param name="result">The dot product of the two inputs</param>
</member>
<member name="M:Duality.Vector3.Cross(Duality.Vector3,Duality.Vector3)">
<summary>
Caclulate the cross (vector) product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<returns>The cross product of the two inputs</returns>
</member>
<member name="M:Duality.Vector3.Cross(Duality.Vector3@,Duality.Vector3@,Duality.Vector3@)">
<summary>
Caclulate the cross (vector) product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<returns>The cross product of the two inputs</returns>
<param name="result">The cross product of the two inputs</param>
</member>
<member name="M:Duality.Vector3.Distance(Duality.Vector3@,Duality.Vector3@)">
<summary>
Calculates the distance between two points described by two vectors.
</summary>
<param name="left"></param>
<param name="right"></param>
<returns></returns>
</member>
<member name="M:Duality.Vector3.Lerp(Duality.Vector3,Duality.Vector3,System.Single)">
<summary>
Returns a new Vector that is the linear blend of the 2 given Vectors
</summary>
<param name="a">First input vector</param>
<param name="b">Second input vector</param>
<param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
<returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
</member>
<member name="M:Duality.Vector3.Lerp(Duality.Vector3@,Duality.Vector3@,System.Single,Duality.Vector3@)">
<summary>
Returns a new Vector that is the linear blend of the 2 given Vectors
</summary>
<param name="a">First input vector</param>
<param name="b">Second input vector</param>
<param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
<param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
</member>
<member name="M:Duality.Vector3.AngleBetween(Duality.Vector3,Duality.Vector3)">
<summary>
Calculates the angle (in radians) between two vectors.
</summary>
<param name="first">The first vector.</param>
<param name="second">The second vector.</param>
<returns>Angle (in radians) between the vectors.</returns>
<remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
</member>
<member name="M:Duality.Vector3.AngleBetween(Duality.Vector3@,Duality.Vector3@,System.Single@)">
<summary>
Calculates the angle (in radians) between two vectors.
</summary>
<param name="first">The first vector.</param>
<param name="second">The second vector.</param>
<param name="result">Angle (in radians) between the vectors.</param>
<remarks>Note that the returned angle is never bigger than the constant Pi.</remarks>
</member>
<member name="M:Duality.Vector3.Transform(Duality.Vector3,Duality.Matrix4)">
<summary>
Transform a Vector by the given Matrix</summary>
<param name="vec">The vector to transform</param>
<param name="mat">The desired transformation</param>
<returns>The transformed vector</returns>
</member>
<member name="M:Duality.Vector3.Transform(Duality.Vector3@,Duality.Matrix4@,Duality.Vector3@)">
<summary>
Transform a Vector by the given Matrix</summary>
<param name="vec">The vector to transform</param>
<param name="mat">The desired transformation</param>
<param name="result">The transformed vector</param>
</member>
<member name="M:Duality.Vector3.Transform(Duality.Vector3,Duality.Quaternion)">
<summary>
Transforms a vector by a quaternion rotation.
</summary>
<param name="vec">The vector to transform.</param>
<param name="quat">The quaternion to rotate the vector by.</param>
<returns>The result of the operation.</returns>
</member>
<member name="M:Duality.Vector3.Transform(Duality.Vector3@,Duality.Quaternion@,Duality.Vector3@)">
<summary>
Transforms a vector by a quaternion rotation.
</summary>
<param name="vec">The vector to transform.</param>
<param name="quat">The quaternion to rotate the vector by.</param>
<param name="result">The result of the operation.</param>
</member>
<member name="M:Duality.Vector3.op_Addition(Duality.Vector3,Duality.Vector3)">
<summary>
Adds two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Subtraction(Duality.Vector3,Duality.Vector3)">
<summary>
Subtracts two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_UnaryNegation(Duality.Vector3)">
<summary>
Negates an instance.
</summary>
<param name="vec">The instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Multiply(Duality.Vector3,System.Single)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Multiply(System.Single,Duality.Vector3)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="scale">The scalar.</param>
<param name="vec">The instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Multiply(Duality.Vector3,Duality.Vector3)">
<summary>
Scales an instance by a vector.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scale.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Division(Duality.Vector3,System.Single)">
<summary>
Divides an instance by a scalar.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Division(Duality.Vector3,Duality.Vector3)">
<summary>
Divides an instance by a vector.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector3.op_Equality(Duality.Vector3,Duality.Vector3)">
<summary>
Compares two instances for equality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left equals right; false otherwise.</returns>
</member>
<member name="M:Duality.Vector3.op_Inequality(Duality.Vector3,Duality.Vector3)">
<summary>
Compares two instances for inequality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left does not equa lright; false otherwise.</returns>
</member>
<member name="M:Duality.Vector3.ToString">
<summary>
Returns a System.String that represents the current Vector3.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Vector3.GetHashCode">
<summary>
Returns the hashcode for this instance.
</summary>
<returns>A System.Int32 containing the unique hashcode for this instance.</returns>
</member>
<member name="M:Duality.Vector3.Equals(System.Object)">
<summary>
Indicates whether this instance and a specified object are equal.
</summary>
<param name="obj">The object to compare to.</param>
<returns>True if the instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Vector3.Equals(Duality.Vector3)">
<summary>
Indicates whether the current vector is equal to another vector.
</summary>
<param name="other">A vector to compare with this vector.</param>
<returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
</member>
<member name="P:Duality.Vector3.Xy">
<summary>
Gets or sets an OpenTK.Vector2 with the X and Y components of this instance.
</summary>
</member>
<member name="P:Duality.Vector3.Length">
<summary>
Gets the length (magnitude) of the vector.
</summary>
<see cref="!:LengthFast"/>
<seealso cref="P:Duality.Vector3.LengthSquared"/>
</member>
<member name="P:Duality.Vector3.LengthSquared">
<summary>
Gets the square of the vector length (magnitude).
</summary>
<remarks>
This property avoids the costly square root operation required by the Length property. This makes it more suitable
for comparisons.
</remarks>
<see cref="P:Duality.Vector3.Length"/>
<seealso cref="!:LengthFast"/>
</member>
<member name="P:Duality.Vector3.Normalized">
<summary>
Returns a normalized version of this vector.
</summary>
</member>
<member name="P:Duality.Vector3.Item(System.Int32)">
<summary>
Gets or sets the value at the index of the Vector.
</summary>
</member>
<member name="T:Duality.Vector4">
<summary>
Represents a 4D vector using four single-precision floating-point numbers.
</summary>
</member>
<member name="F:Duality.Vector4.UnitX">
<summary>
Defines a unit-length Vector4 that points towards the X-axis.
</summary>
</member>
<member name="F:Duality.Vector4.UnitY">
<summary>
Defines a unit-length Vector4 that points towards the Y-axis.
</summary>
</member>
<member name="F:Duality.Vector4.UnitZ">
<summary>
Defines a unit-length Vector4 that points towards the Z-axis.
</summary>
</member>
<member name="F:Duality.Vector4.UnitW">
<summary>
Defines a unit-length Vector4 that points towards the W-axis.
</summary>
</member>
<member name="F:Duality.Vector4.Zero">
<summary>
Defines a zero-length Vector4.
</summary>
</member>
<member name="F:Duality.Vector4.One">
<summary>
Defines an instance with all components set to 1.
</summary>
</member>
<member name="F:Duality.Vector4.X">
<summary>
The X component of the Vector4.
</summary>
</member>
<member name="F:Duality.Vector4.Y">
<summary>
The Y component of the Vector4.
</summary>
</member>
<member name="F:Duality.Vector4.Z">
<summary>
The Z component of the Vector4.
</summary>
</member>
<member name="F:Duality.Vector4.W">
<summary>
The W component of the Vector4.
</summary>
</member>
<member name="M:Duality.Vector4.Normalize">
<summary>
Scales the Vector4 to unit length.
</summary>
</member>
<member name="M:Duality.Vector4.#ctor(System.Single)">
<summary>
Constructs a new instance.
</summary>
<param name="value">The value that will initialize this instance.</param>
</member>
<member name="M:Duality.Vector4.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructs a new Vector4.
</summary>
<param name="x">The x component of the Vector4.</param>
<param name="y">The y component of the Vector4.</param>
<param name="z">The z component of the Vector4.</param>
<param name="w">The w component of the Vector4.</param>
</member>
<member name="M:Duality.Vector4.#ctor(Duality.Vector2)">
<summary>
Constructs a new Vector4 from the given Vector2.
</summary>
<param name="v">The Vector2 to copy components from.</param>
</member>
<member name="M:Duality.Vector4.#ctor(Duality.Vector2,System.Single)">
<summary>
Constructs a new Vector4 from the given Vector2.
</summary>
<param name="v">The Vector2 to copy components from.</param>
<param name="z"></param>
</member>
<member name="M:Duality.Vector4.#ctor(Duality.Vector2,System.Single,System.Single)">
<summary>
Constructs a new Vector4 from the given Vector2.
</summary>
<param name="v">The Vector2 to copy components from.</param>
<param name="z"></param>
<param name="w"></param>
</member>
<member name="M:Duality.Vector4.#ctor(Duality.Vector3)">
<summary>
Constructs a new Vector4 from the given Vector3.
The w component is initialized to 0.
</summary>
<param name="v">The Vector3 to copy components from.</param>
<remarks><seealso cref="M:Duality.Vector4.#ctor(Duality.Vector3,System.Single)"/></remarks>
</member>
<member name="M:Duality.Vector4.#ctor(Duality.Vector3,System.Single)">
<summary>
Constructs a new Vector4 from the specified Vector3 and w component.
</summary>
<param name="v">The Vector3 to copy components from.</param>
<param name="w">The w component of the new Vector4.</param>
</member>
<member name="M:Duality.Vector4.Add(Duality.Vector4@,Duality.Vector4@,Duality.Vector4@)">
<summary>
Adds two vectors.
</summary>
<param name="a">Left operand.</param>
<param name="b">Right operand.</param>
<param name="result">Result of operation.</param>
</member>
<member name="M:Duality.Vector4.Subtract(Duality.Vector4@,Duality.Vector4@,Duality.Vector4@)">
<summary>
Subtract one Vector from another
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">Result of subtraction</param>
</member>
<member name="M:Duality.Vector4.Multiply(Duality.Vector4@,System.Single,Duality.Vector4@)">
<summary>
Multiplies a vector by a scalar.
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector4.Multiply(Duality.Vector4@,Duality.Vector4@,Duality.Vector4@)">
<summary>
Multiplies a vector by the components of a vector (scale).
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector4.Divide(Duality.Vector4@,System.Single,Duality.Vector4@)">
<summary>
Divides a vector by a scalar.
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector4.Divide(Duality.Vector4@,Duality.Vector4@,Duality.Vector4@)">
<summary>
Divide a vector by the components of a vector (scale).
</summary>
<param name="vector">Left operand.</param>
<param name="scale">Right operand.</param>
<param name="result">Result of the operation.</param>
</member>
<member name="M:Duality.Vector4.Min(Duality.Vector4,Duality.Vector4)">
<summary>
Calculate the component-wise minimum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise minimum</returns>
</member>
<member name="M:Duality.Vector4.Min(Duality.Vector4@,Duality.Vector4@,Duality.Vector4@)">
<summary>
Calculate the component-wise minimum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">The component-wise minimum</param>
</member>
<member name="M:Duality.Vector4.Max(Duality.Vector4,Duality.Vector4)">
<summary>
Calculate the component-wise maximum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<returns>The component-wise maximum</returns>
</member>
<member name="M:Duality.Vector4.Max(Duality.Vector4@,Duality.Vector4@,Duality.Vector4@)">
<summary>
Calculate the component-wise maximum of two vectors
</summary>
<param name="a">First operand</param>
<param name="b">Second operand</param>
<param name="result">The component-wise maximum</param>
</member>
<member name="M:Duality.Vector4.Dot(Duality.Vector4,Duality.Vector4)">
<summary>
Calculate the dot product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<returns>The dot product of the two inputs</returns>
</member>
<member name="M:Duality.Vector4.Dot(Duality.Vector4@,Duality.Vector4@,System.Single@)">
<summary>
Calculate the dot product of two vectors
</summary>
<param name="left">First operand</param>
<param name="right">Second operand</param>
<param name="result">The dot product of the two inputs</param>
</member>
<member name="M:Duality.Vector4.Lerp(Duality.Vector4,Duality.Vector4,System.Single)">
<summary>
Returns a new Vector that is the linear blend of the 2 given Vectors
</summary>
<param name="a">First input vector</param>
<param name="b">Second input vector</param>
<param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
<returns>a when blend=0, b when blend=1, and a linear combination otherwise</returns>
</member>
<member name="M:Duality.Vector4.Lerp(Duality.Vector4@,Duality.Vector4@,System.Single,Duality.Vector4@)">
<summary>
Returns a new Vector that is the linear blend of the 2 given Vectors
</summary>
<param name="a">First input vector</param>
<param name="b">Second input vector</param>
<param name="blend">The blend factor. a when blend=0, b when blend=1.</param>
<param name="result">a when blend=0, b when blend=1, and a linear combination otherwise</param>
</member>
<member name="M:Duality.Vector4.Transform(Duality.Vector4,Duality.Matrix4)">
<summary>
Transform a Vector by the given Matrix</summary>
<param name="vec">The vector to transform</param>
<param name="mat">The desired transformation</param>
<returns>The transformed vector</returns>
</member>
<member name="M:Duality.Vector4.Transform(Duality.Vector4@,Duality.Matrix4@,Duality.Vector4@)">
<summary>
Transform a Vector by the given Matrix</summary>
<param name="vec">The vector to transform</param>
<param name="mat">The desired transformation</param>
<param name="result">The transformed vector</param>
</member>
<member name="M:Duality.Vector4.Transform(Duality.Vector4,Duality.Quaternion)">
<summary>
Transforms a vector by a quaternion rotation.
</summary>
<param name="vec">The vector to transform.</param>
<param name="quat">The quaternion to rotate the vector by.</param>
<returns>The result of the operation.</returns>
</member>
<member name="M:Duality.Vector4.Transform(Duality.Vector4@,Duality.Quaternion@,Duality.Vector4@)">
<summary>
Transforms a vector by a quaternion rotation.
</summary>
<param name="vec">The vector to transform.</param>
<param name="quat">The quaternion to rotate the vector by.</param>
<param name="result">The result of the operation.</param>
</member>
<member name="M:Duality.Vector4.op_Addition(Duality.Vector4,Duality.Vector4)">
<summary>
Adds two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Subtraction(Duality.Vector4,Duality.Vector4)">
<summary>
Subtracts two instances.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_UnaryNegation(Duality.Vector4)">
<summary>
Negates an instance.
</summary>
<param name="vec">The instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Multiply(Duality.Vector4,System.Single)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Multiply(Duality.Vector4,Duality.Vector4)">
<summary>
Scales an instance by a vector.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Multiply(System.Single,Duality.Vector4)">
<summary>
Multiplies an instance by a scalar.
</summary>
<param name="scale">The scalar.</param>
<param name="vec">The instance.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Division(Duality.Vector4,System.Single)">
<summary>
Divides an instance by a scalar.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Division(Duality.Vector4,Duality.Vector4)">
<summary>
Divides an instance by a vector.
</summary>
<param name="vec">The instance.</param>
<param name="scale">The scalar.</param>
<returns>The result of the calculation.</returns>
</member>
<member name="M:Duality.Vector4.op_Equality(Duality.Vector4,Duality.Vector4)">
<summary>
Compares two instances for equality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left equals right; false otherwise.</returns>
</member>
<member name="M:Duality.Vector4.op_Inequality(Duality.Vector4,Duality.Vector4)">
<summary>
Compares two instances for inequality.
</summary>
<param name="left">The first instance.</param>
<param name="right">The second instance.</param>
<returns>True, if left does not equa lright; false otherwise.</returns>
</member>
<member name="M:Duality.Vector4.ToString">
<summary>
Returns a System.String that represents the current Vector4.
</summary>
<returns></returns>
</member>
<member name="M:Duality.Vector4.GetHashCode">
<summary>
Returns the hashcode for this instance.
</summary>
<returns>A System.Int32 containing the unique hashcode for this instance.</returns>
</member>
<member name="M:Duality.Vector4.Equals(System.Object)">
<summary>
Indicates whether this instance and a specified object are equal.
</summary>
<param name="obj">The object to compare to.</param>
<returns>True if the instances are equal; false otherwise.</returns>
</member>
<member name="M:Duality.Vector4.Equals(Duality.Vector4)">
<summary>
Indicates whether the current vector is equal to another vector.</summary>
<param name="other">A vector to compare with this vector.</param>
<returns>true if the current vector is equal to the vector parameter; otherwise, false.</returns>
</member>
<member name="P:Duality.Vector4.Xy">
<summary>
Gets or sets an OpenTK.Vector2 with the X and Y components of this instance.
</summary>
</member>
<member name="P:Duality.Vector4.Xyz">
<summary>
Gets or sets an OpenTK.Vector3 with the X, Y and Z components of this instance.
</summary>
</member>
<member name="P:Duality.Vector4.Length">
<summary>
Gets the length (magnitude) of the vector.
</summary>
<seealso cref="P:Duality.Vector4.LengthSquared"/>
</member>
<member name="P:Duality.Vector4.LengthSquared">
<summary>
Gets the square of the vector length (magnitude).
</summary>
<remarks>
This property avoids the costly square root operation required by the Length property. This makes it more suitable
for comparisons.
</remarks>
<see cref="P:Duality.Vector4.Length"/>
</member>
<member name="P:Duality.Vector4.Normalized">
<summary>
Returns a normalized version of this vector.
</summary>
</member>
<member name="P:Duality.Vector4.Item(System.Int32)">
<summary>
Gets or sets the value at the index of the Vector.
</summary>
</member>
</members>
</doc>