Added (Vector3, float) and (Vector3d, double) constructors.

This commit is contained in:
the_fiddler 2009-01-29 00:41:09 +00:00
parent e0f981d4c5
commit 4e82e450be
2 changed files with 40 additions and 6 deletions

View file

@ -130,6 +130,19 @@ namespace OpenTK.Math
W = 0.0f; W = 0.0f;
} }
/// <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>
public Vector4(Vector3 v, float w)
{
X = v.X;
Y = v.Y;
Z = v.Z;
W = w;
}
/// <summary> /// <summary>
/// Constructs a new Vector4 from the given Vector4. /// Constructs a new Vector4 from the given Vector4.
/// </summary> /// </summary>
@ -812,6 +825,14 @@ namespace OpenTK.Math
#endregion #endregion
#region Swizzle
public Vector2 Xy { get { return new Vector2(X, Y); } set { X = value.X; Y = value.Y; } }
public Vector3 Xyz { get { return new Vector3(X, Y, Z); } set { X = value.X; Y = value.Y; Z = value.Z; } }
#endregion
#region Operators #region Operators
public static Vector4 operator +(Vector4 left, Vector4 right) public static Vector4 operator +(Vector4 left, Vector4 right)

View file

@ -104,10 +104,10 @@ namespace OpenTK.Math
} }
/// <summary> /// <summary>
/// Constructs a new Vector4d from the given Vector2. /// Constructs a new Vector4d from the given Vector2d.
/// </summary> /// </summary>
/// <param name="v">The Vector2 to copy components from.</param> /// <param name="v">The Vector2d to copy components from.</param>
public Vector4d(Vector2 v) public Vector4d(Vector2d v)
{ {
X = v.X; X = v.X;
Y = v.Y; Y = v.Y;
@ -116,10 +116,10 @@ namespace OpenTK.Math
} }
/// <summary> /// <summary>
/// Constructs a new Vector4d from the given Vector3. /// Constructs a new Vector4d from the given Vector3d.
/// </summary> /// </summary>
/// <param name="v">The Vector3 to copy components from.</param> /// <param name="v">The Vector3d to copy components from.</param>
public Vector4d(Vector3 v) public Vector4d(Vector3d v)
{ {
X = v.X; X = v.X;
Y = v.Y; Y = v.Y;
@ -127,6 +127,19 @@ namespace OpenTK.Math
W = 0.0f; W = 0.0f;
} }
/// <summary>
/// Constructs a new Vector4d from the specified Vector3d and W component.
/// </summary>
/// <param name="v">The Vector3d to copy components from.</param>
/// <param name="w">The W component of the new Vector4.</param>
public Vector4d(Vector3 v, double w)
{
X = v.X;
Y = v.Y;
Z = v.Z;
W = w;
}
/// <summary> /// <summary>
/// Constructs a new Vector4d from the given Vector4d. /// Constructs a new Vector4d from the given Vector4d.
/// </summary> /// </summary>