diff --git a/Source/OpenTK/Math/Matrix3.cs b/Source/OpenTK/Math/Matrix3.cs
index 4c594930..9278e32b 100644
--- a/Source/OpenTK/Math/Matrix3.cs
+++ b/Source/OpenTK/Math/Matrix3.cs
@@ -192,7 +192,10 @@ namespace OpenTK
#region Instance
#region public void Invert()
-
+
+ ///
+ /// Converts this instance into its inverse.
+ ///
public void Invert()
{
this = Matrix3.Invert(this);
@@ -201,7 +204,10 @@ namespace OpenTK
#endregion
#region public void Transpose()
-
+
+ ///
+ /// Converts this instance into its transpose.
+ ///
public void Transpose()
{
this = Matrix3.Transpose(this);
@@ -214,7 +220,13 @@ namespace OpenTK
#region Static
#region CreateFromAxisAngle
-
+
+ ///
+ /// Build a rotation matrix from the specified axis/angle rotation.
+ ///
+ /// The axis to rotate about.
+ /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).
+ /// A matrix instance.
public static void CreateFromAxisAngle(Vector3 axis, float angle, out Matrix3 result)
{
//normalize and create a local copy of the vector.
@@ -248,7 +260,13 @@ namespace OpenTK
result.Row2.Y = tYZ + sinX;
result.Row2.Z = tZZ + cos;
}
-
+
+ ///
+ /// Build a rotation matrix from the specified axis/angle rotation.
+ ///
+ /// The axis to rotate about.
+ /// Angle in radians to rotate counter-clockwise (looking in the direction of the given axis).
+ /// A matrix instance.
public static Matrix3 CreateFromAxisAngle(Vector3 axis, float angle)
{
Matrix3 result;
@@ -259,7 +277,12 @@ namespace OpenTK
#endregion
#region CreateFromQuaternion
-
+
+ ///
+ /// Build a rotation matrix from the specified quaternion.
+ ///
+ /// Quaternion to translate.
+ /// Matrix result.
public static void CreateFromQuaternion(ref Quaternion q, out Matrix3 result)
{
Vector3 axis;
@@ -267,7 +290,12 @@ namespace OpenTK
q.ToAxisAngle(out axis, out angle);
CreateFromAxisAngle(axis, angle, out result);
}
-
+
+ ///
+ /// Build a rotation matrix from the specified quaternion.
+ ///
+ /// Quaternion to translate.
+ /// A matrix instance.
public static Matrix3 CreateFromQuaternion(Quaternion q)
{
Matrix3 result;
@@ -278,7 +306,12 @@ namespace OpenTK
#endregion
#region CreateRotation[XYZ]
-
+
+ ///
+ /// Builds a rotation matrix for a rotation around the x-axis.
+ ///
+ /// The counter-clockwise angle in radians.
+ /// The resulting Matrix3 instance.
public static void CreateRotationX(float angle, out Matrix3 result)
{
float cos = (float)System.Math.Cos(angle);
@@ -290,14 +323,24 @@ namespace OpenTK
result.Row2.Y = -sin;
result.Row2.Z = cos;
}
-
+
+ ///
+ /// Builds a rotation matrix for a rotation around the x-axis.
+ ///
+ /// The counter-clockwise angle in radians.
+ /// The resulting Matrix3 instance.
public static Matrix3 CreateRotationX(float angle)
{
Matrix3 result;
CreateRotationX(angle, out result);
return result;
}
-
+
+ ///
+ /// Builds a rotation matrix for a rotation around the y-axis.
+ ///
+ /// The counter-clockwise angle in radians.
+ /// The resulting Matrix3 instance.
public static void CreateRotationY(float angle, out Matrix3 result)
{
float cos = (float)System.Math.Cos(angle);
@@ -309,14 +352,24 @@ namespace OpenTK
result.Row2.X = sin;
result.Row2.Z = cos;
}
-
+
+ ///
+ /// Builds a rotation matrix for a rotation around the y-axis.
+ ///
+ /// The counter-clockwise angle in radians.
+ /// The resulting Matrix3 instance.
public static Matrix3 CreateRotationY(float angle)
{
Matrix3 result;
CreateRotationY(angle, out result);
return result;
}
-
+
+ ///
+ /// Builds a rotation matrix for a rotation around the z-axis.
+ ///
+ /// The counter-clockwise angle in radians.
+ /// The resulting Matrix3 instance.
public static void CreateRotationZ(float angle, out Matrix3 result)
{
float cos = (float)System.Math.Cos(angle);
@@ -328,7 +381,12 @@ namespace OpenTK
result.Row1.X = -sin;
result.Row1.Y = cos;
}
-
+
+ ///
+ /// Builds a rotation matrix for a rotation around the z-axis.
+ ///
+ /// The counter-clockwise angle in radians.
+ /// The resulting Matrix3 instance.
public static Matrix3 CreateRotationZ(float angle)
{
Matrix3 result;
@@ -422,14 +480,26 @@ namespace OpenTK
#endregion
#region Multiply Functions
-
+
+ ///
+ /// Multiplies two instances.
+ ///
+ /// The left operand of the multiplication.
+ /// The right operand of the multiplication.
+ /// A new instance that is the result of the multiplication
public static Matrix3 Mult(Matrix3 left, Matrix3 right)
{
Matrix3 result;
Mult(ref left, ref right, out result);
return result;
}
-
+
+ ///
+ /// Multiplies two instances.
+ ///
+ /// The left operand of the multiplication.
+ /// The right operand of the multiplication.
+ /// A new instance that is the result of the multiplication
public static void Mult(ref Matrix3 left, ref Matrix3 right, out Matrix3 result)
{
float lM11 = left.Row0.X, lM12 = left.Row0.Y, lM13 = left.Row0.Z,
@@ -578,12 +648,22 @@ namespace OpenTK
#endregion
#region Transpose
-
+
+ ///
+ /// Calculate the transpose of the given matrix
+ ///
+ /// The matrix to transpose
+ /// The transpose of the given matrix
public static Matrix3 Transpose(Matrix3 mat)
{
return new Matrix3(mat.Column0, mat.Column1, mat.Column2);
}
-
+
+ ///
+ /// Calculate the transpose of the given matrix
+ ///
+ /// The matrix to transpose
+ /// The result of the calculation
public static void Transpose(ref Matrix3 mat, out Matrix3 result)
{
result.Row0 = mat.Column0;
@@ -596,17 +676,35 @@ namespace OpenTK
#endregion
#region Operators
-
+
+ ///
+ /// Matrix multiplication
+ ///
+ /// left-hand operand
+ /// right-hand operand
+ /// A new Matrix3d which holds the result of the multiplication
public static Matrix3 operator *(Matrix3 left, Matrix3 right)
{
return Matrix3.Mult(left, right);
}
-
+
+ ///
+ /// Compares two instances for equality.
+ ///
+ /// The first instance.
+ /// The second instance.
+ /// True, if left equals right; false otherwise.
public static bool operator ==(Matrix3 left, Matrix3 right)
{
return left.Equals(right);
}
-
+
+ ///
+ /// Compares two instances for inequality.
+ ///
+ /// The first instance.
+ /// The second instance.
+ /// True, if left does not equal right; false otherwise.
public static bool operator !=(Matrix3 left, Matrix3 right)
{
return !left.Equals(right);
@@ -664,7 +762,10 @@ namespace OpenTK
#endregion
#region IEquatable Members
-
+
+ /// Indicates whether the current matrix is equal to another matrix.
+ /// A matrix to compare with this matrix.
+ /// true if the current matrix is equal to the matrix parameter; otherwise, false.
public bool Equals(Matrix3 other)
{
return