# C1.Util.DX.Vector2

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_Util_DX_Vector2" data-uid="C1.Util.DX.Vector2" class="text-break">Vector2 Struct
</h1>
  <div class="markdown level0 summary"><p>Represents a two dimensional mathematical vector.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a>&lt;<a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a>&gt;</div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iformattable">IFormattable</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.Util.DX.html">C1.Util.DX</a></h6>
  <h6><strong>Assembly</strong>: C1.Win.DX.10.dll</h6>
  <h5 id="C1_Util_DX_Vector2_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[TypeConverter(typeof(Vector2Converter))]
public struct Vector2 : IEquatable&lt;Vector2&gt;, IFormattable</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">&lt;TypeConverter(GetType(Vector2Converter))&gt;
Public Structure Vector2
    Implements IEquatable(Of Vector2), IFormattable</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Vector2__ctor_System_Single_" data-uid="C1.Util.DX.Vector2.#ctor(System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.-ctor.html#C1_Util_DX_Vector2__ctor_System_Single_">Vector2(float)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> struct.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2__ctor_System_Single_System_Single_" data-uid="C1.Util.DX.Vector2.#ctor(System.Single,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.-ctor.html#C1_Util_DX_Vector2__ctor_System_Single_System_Single_">Vector2(float, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> struct.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2__ctor_System_Single___" data-uid="C1.Util.DX.Vector2.#ctor(System.Single[])">
          <a class="xref" href="C1.Util.DX.Vector2.-ctor.html#C1_Util_DX_Vector2__ctor_System_Single___">Vector2(float[])</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> struct.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Vector2_One" data-uid="C1.Util.DX.Vector2.One">
          <a class="xref" href="C1.Util.DX.Vector2.One.html">One</a>
        </td>
        <td class="markdown level1 summary"><p>A <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> with all of its components set to one.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_SizeInBytes" data-uid="C1.Util.DX.Vector2.SizeInBytes">
          <a class="xref" href="C1.Util.DX.Vector2.SizeInBytes.html">SizeInBytes</a>
        </td>
        <td class="markdown level1 summary"><p>The size of the <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> type, in bytes.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_UnitX" data-uid="C1.Util.DX.Vector2.UnitX">
          <a class="xref" href="C1.Util.DX.Vector2.UnitX.html">UnitX</a>
        </td>
        <td class="markdown level1 summary"><p>The X unit <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> (1, 0).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_UnitY" data-uid="C1.Util.DX.Vector2.UnitY">
          <a class="xref" href="C1.Util.DX.Vector2.UnitY.html">UnitY</a>
        </td>
        <td class="markdown level1 summary"><p>The Y unit <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> (0, 1).</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_X" data-uid="C1.Util.DX.Vector2.X">
          <a class="xref" href="C1.Util.DX.Vector2.X.html">X</a>
        </td>
        <td class="markdown level1 summary"><p>The X component of the vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Y" data-uid="C1.Util.DX.Vector2.Y">
          <a class="xref" href="C1.Util.DX.Vector2.Y.html">Y</a>
        </td>
        <td class="markdown level1 summary"><p>The Y component of the vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Zero" data-uid="C1.Util.DX.Vector2.Zero">
          <a class="xref" href="C1.Util.DX.Vector2.Zero.html">Zero</a>
        </td>
        <td class="markdown level1 summary"><p>A <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> with all of its components set to zero.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Vector2_IsNormalized" data-uid="C1.Util.DX.Vector2.IsNormalized">
          <a class="xref" href="C1.Util.DX.Vector2.IsNormalized.html#C1_Util_DX_Vector2_IsNormalized">IsNormalized</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a value indicting whether this instance is normalized.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Item_System_Int32_" data-uid="C1.Util.DX.Vector2.Item(System.Int32)">
          <a class="xref" href="C1.Util.DX.Vector2.Item.html#C1_Util_DX_Vector2_Item_System_Int32_">this[int]</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the component at the specified index.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Length" data-uid="C1.Util.DX.Vector2.Length">
          <a class="xref" href="C1.Util.DX.Vector2.Length.html#C1_Util_DX_Vector2_Length">Length</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the length of the vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_LengthSquared" data-uid="C1.Util.DX.Vector2.LengthSquared">
          <a class="xref" href="C1.Util.DX.Vector2.LengthSquared.html#C1_Util_DX_Vector2_LengthSquared">LengthSquared</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the squared length of the vector.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Vector2_Abs_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Abs(C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Abs.html#C1_Util_DX_Vector2_Abs_C1_Util_DX_Vector2_">Abs(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a vector whose elements are the absolute values of each of the specified vector's elements.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_AbsRef_C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.AbsRef(C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.AbsRef.html#C1_Util_DX_Vector2_AbsRef_C1_Util_DX_Vector2__">AbsRef(ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Calculates the absolute value vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_AbsRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.AbsRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.AbsRef.html#C1_Util_DX_Vector2_AbsRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__">AbsRef(out Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a vector whose elements are the absolute values of each of the specified vector's elements.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Add_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Add(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Add.html#C1_Util_DX_Vector2_Add_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Add(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Adds two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_AddRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.AddRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.AddRef.html#C1_Util_DX_Vector2_AddRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">AddRef(out Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Adds two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_AngleBetween_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.AngleBetween(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.AngleBetween.html#C1_Util_DX_Vector2_AngleBetween_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">AngleBetween(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Calculates an angle between two vectors, in radians.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Clamp_C1_Util_DX_Vector2_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Clamp(C1.Util.DX.Vector2,C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Clamp.html#C1_Util_DX_Vector2_Clamp_C1_Util_DX_Vector2_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Clamp(Vector2, Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Restricts a vector between a minimum and a maximum value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_ClampRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.ClampRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.ClampRef.html#C1_Util_DX_Vector2_ClampRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">ClampRef(out Vector2, ref Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Restricts a vector between a minimum and a maximum value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Divide_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Divide(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Divide.html#C1_Util_DX_Vector2_Divide_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Divide(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Divides the first vector by the second.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Divide_C1_Util_DX_Vector2_System_Single_" data-uid="C1.Util.DX.Vector2.Divide(C1.Util.DX.Vector2,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.Divide.html#C1_Util_DX_Vector2_Divide_C1_Util_DX_Vector2_System_Single_">Divide(Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Divides the specified vector by a specified scalar value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_DivideRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.DivideRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.DivideRef.html#C1_Util_DX_Vector2_DivideRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">DivideRef(out Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Divides the first vector by the second.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_DivideRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__System_Single_" data-uid="C1.Util.DX.Vector2.DivideRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.DivideRef.html#C1_Util_DX_Vector2_DivideRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__System_Single_">DivideRef(out Vector2, ref Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Divides the specified vector by a specified scalar value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Dot_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Dot(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Dot.html#C1_Util_DX_Vector2_Dot_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Dot(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Calculates the dot product of two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_DotRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.DotRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.DotRef.html#C1_Util_DX_Vector2_DotRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__">DotRef(ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Calculates the dot product of two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Equals_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Equals(C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Equals.html#C1_Util_DX_Vector2_Equals_C1_Util_DX_Vector2_">Equals(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> is equal to this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Equals_System_Object_" data-uid="C1.Util.DX.Vector2.Equals(System.Object)">
          <a class="xref" href="C1.Util.DX.Vector2.Equals.html#C1_Util_DX_Vector2_Equals_System_Object_">Equals(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a> is equal to this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_EqualsRef_C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.EqualsRef(C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.EqualsRef.html#C1_Util_DX_Vector2_EqualsRef_C1_Util_DX_Vector2__">EqualsRef(ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> is equal to this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_GetHashCode" data-uid="C1.Util.DX.Vector2.GetHashCode">
          <a class="xref" href="C1.Util.DX.Vector2.GetHashCode.html#C1_Util_DX_Vector2_GetHashCode">GetHashCode()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a hash code for this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Lerp_C1_Util_DX_Vector2_C1_Util_DX_Vector2_System_Single_" data-uid="C1.Util.DX.Vector2.Lerp(C1.Util.DX.Vector2,C1.Util.DX.Vector2,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.Lerp.html#C1_Util_DX_Vector2_Lerp_C1_Util_DX_Vector2_C1_Util_DX_Vector2_System_Single_">Lerp(Vector2, Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs a linear interpolation between two vectors based on the given weighting.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_LerpRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__System_Single_" data-uid="C1.Util.DX.Vector2.LerpRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.LerpRef.html#C1_Util_DX_Vector2_LerpRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__System_Single_">LerpRef(out Vector2, ref Vector2, ref Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs a linear interpolation between two vectors based on the given weighting.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Max_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Max(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Max.html#C1_Util_DX_Vector2_Max_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Max(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a vector containing the largest components of the specified vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_MaxRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.MaxRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.MaxRef.html#C1_Util_DX_Vector2_MaxRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">MaxRef(out Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a vector containing the largest components of the specified vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Min_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Min(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Min.html#C1_Util_DX_Vector2_Min_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Min(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a vector containing the smallest components of the specified vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_MinRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.MinRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.MinRef.html#C1_Util_DX_Vector2_MinRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">MinRef(out Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a vector containing the smallest components of the specified vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Multiply_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Multiply(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Multiply.html#C1_Util_DX_Vector2_Multiply_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Multiply(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Modulates a vector with another by performing component-wise multiplication.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Multiply_C1_Util_DX_Vector2_System_Single_" data-uid="C1.Util.DX.Vector2.Multiply(C1.Util.DX.Vector2,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.Multiply.html#C1_Util_DX_Vector2_Multiply_C1_Util_DX_Vector2_System_Single_">Multiply(Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Scales a vector by the given value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_MultiplyRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.MultiplyRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.MultiplyRef.html#C1_Util_DX_Vector2_MultiplyRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">MultiplyRef(out Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Modulates a vector with another by performing component-wise multiplication.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_MultiplyRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__System_Single_" data-uid="C1.Util.DX.Vector2.MultiplyRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.MultiplyRef.html#C1_Util_DX_Vector2_MultiplyRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__System_Single_">MultiplyRef(out Vector2, ref Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Scales a vector by the given value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Negate_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Negate(C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Negate.html#C1_Util_DX_Vector2_Negate_C1_Util_DX_Vector2_">Negate(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Reverses the direction of a given vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_NegateRef_C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.NegateRef(C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.NegateRef.html#C1_Util_DX_Vector2_NegateRef_C1_Util_DX_Vector2__">NegateRef(ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Reverses the direction of the vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_NegateRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.NegateRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.NegateRef.html#C1_Util_DX_Vector2_NegateRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__">NegateRef(out Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Reverses the direction of a given vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Normalize_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Normalize(C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Normalize.html#C1_Util_DX_Vector2_Normalize_C1_Util_DX_Vector2_">Normalize(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Converts the vector into a unit vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_NormalizeRef_C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.NormalizeRef(C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.NormalizeRef.html#C1_Util_DX_Vector2_NormalizeRef_C1_Util_DX_Vector2__">NormalizeRef(ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Converts the vector into a unit vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_NormalizeRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.NormalizeRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.NormalizeRef.html#C1_Util_DX_Vector2_NormalizeRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__">NormalizeRef(out Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Converts the vector into a unit vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_Subtract_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.Subtract(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.Subtract.html#C1_Util_DX_Vector2_Subtract_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">Subtract(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Subtracts two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_SubtractRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__" data-uid="C1.Util.DX.Vector2.SubtractRef(C1.Util.DX.Vector2@,C1.Util.DX.Vector2@,C1.Util.DX.Vector2@)">
          <a class="xref" href="C1.Util.DX.Vector2.SubtractRef.html#C1_Util_DX_Vector2_SubtractRef_C1_Util_DX_Vector2__C1_Util_DX_Vector2__C1_Util_DX_Vector2__">SubtractRef(out Vector2, ref Vector2, ref Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Subtracts two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_ToArray" data-uid="C1.Util.DX.Vector2.ToArray">
          <a class="xref" href="C1.Util.DX.Vector2.ToArray.html#C1_Util_DX_Vector2_ToArray">ToArray()</a>
        </td>
        <td class="markdown level1 summary"><p>Creates an array containing the elements of the vector.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_ToString" data-uid="C1.Util.DX.Vector2.ToString">
          <a class="xref" href="C1.Util.DX.Vector2.ToString.html#C1_Util_DX_Vector2_ToString">ToString()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> that represents this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_ToString_System_IFormatProvider_" data-uid="C1.Util.DX.Vector2.ToString(System.IFormatProvider)">
          <a class="xref" href="C1.Util.DX.Vector2.ToString.html#C1_Util_DX_Vector2_ToString_System_IFormatProvider_">ToString(IFormatProvider)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> that represents this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_ToString_System_String_" data-uid="C1.Util.DX.Vector2.ToString(System.String)">
          <a class="xref" href="C1.Util.DX.Vector2.ToString.html#C1_Util_DX_Vector2_ToString_System_String_">ToString(string)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> that represents this instance.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_ToString_System_String_System_IFormatProvider_" data-uid="C1.Util.DX.Vector2.ToString(System.String,System.IFormatProvider)">
          <a class="xref" href="C1.Util.DX.Vector2.ToString.html#C1_Util_DX_Vector2_ToString_System_String_System_IFormatProvider_">ToString(string, IFormatProvider)</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a> that represents this instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Addition_C1_Util_DX_Vector2_C1_Util_DX_Point2F_" data-uid="C1.Util.DX.Vector2.op_Addition(C1.Util.DX.Vector2,C1.Util.DX.Point2F)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Addition.html#C1_Util_DX_Vector2_op_Addition_C1_Util_DX_Vector2_C1_Util_DX_Point2F_">operator +(Vector2, Point2F)</a>
        </td>
        <td class="markdown level1 summary"><p>Adds the vector to the point.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Addition_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Addition(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Addition.html#C1_Util_DX_Vector2_op_Addition_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">operator +(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Adds two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Division_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Division(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Division.html#C1_Util_DX_Vector2_op_Division_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">operator /(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Divides the first vector by the second.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Division_C1_Util_DX_Vector2_System_Single_" data-uid="C1.Util.DX.Vector2.op_Division(C1.Util.DX.Vector2,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Division.html#C1_Util_DX_Vector2_op_Division_C1_Util_DX_Vector2_System_Single_">operator /(Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Divides the specified vector by a specified scalar value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Equality_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Equality(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Equality.html#C1_Util_DX_Vector2_op_Equality_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">operator ==(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Tests for equality between two objects.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Explicit_C1_Util_DX_Vector2__C1_Util_DX_Vector3" data-uid="C1.Util.DX.Vector2.op_Explicit(C1.Util.DX.Vector2)~C1.Util.DX.Vector3">
          <a class="xref" href="C1.Util.DX.Vector2.op_Explicit.html#C1_Util_DX_Vector2_op_Explicit_C1_Util_DX_Vector2__C1_Util_DX_Vector3">explicit operator Vector3(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs an explicit conversion from <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> to <a class="xref" href="C1.Util.DX.Vector3.html">Vector3</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Explicit_C1_Util_DX_Vector2__C1_Util_DX_Vector4" data-uid="C1.Util.DX.Vector2.op_Explicit(C1.Util.DX.Vector2)~C1.Util.DX.Vector4">
          <a class="xref" href="C1.Util.DX.Vector2.op_Explicit.html#C1_Util_DX_Vector2_op_Explicit_C1_Util_DX_Vector2__C1_Util_DX_Vector4">explicit operator Vector4(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Performs an explicit conversion from <a class="xref" href="C1.Util.DX.Vector2.html">Vector2</a> to <a class="xref" href="C1.Util.DX.Vector4.html">Vector4</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Inequality_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Inequality(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Inequality.html#C1_Util_DX_Vector2_op_Inequality_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">operator !=(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Tests for inequality between two objects.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Multiply_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Multiply(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Multiply.html#C1_Util_DX_Vector2_op_Multiply_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">operator *(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Modulates a vector with another by performing component-wise multiplication.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Multiply_C1_Util_DX_Vector2_System_Single_" data-uid="C1.Util.DX.Vector2.op_Multiply(C1.Util.DX.Vector2,System.Single)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Multiply.html#C1_Util_DX_Vector2_op_Multiply_C1_Util_DX_Vector2_System_Single_">operator *(Vector2, float)</a>
        </td>
        <td class="markdown level1 summary"><p>Scales a vector by the given value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Multiply_System_Single_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Multiply(System.Single,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Multiply.html#C1_Util_DX_Vector2_op_Multiply_System_Single_C1_Util_DX_Vector2_">operator *(float, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Scales a vector by the given value.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_Subtraction_C1_Util_DX_Vector2_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_Subtraction(C1.Util.DX.Vector2,C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_Subtraction.html#C1_Util_DX_Vector2_op_Subtraction_C1_Util_DX_Vector2_C1_Util_DX_Vector2_">operator -(Vector2, Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Subtracts two vectors.</p>
</td>
      </tr>
      <tr>
        <td id="C1_Util_DX_Vector2_op_UnaryNegation_C1_Util_DX_Vector2_" data-uid="C1.Util.DX.Vector2.op_UnaryNegation(C1.Util.DX.Vector2)">
          <a class="xref" href="C1.Util.DX.Vector2.op_UnaryNegation.html#C1_Util_DX_Vector2_op_UnaryNegation_C1_Util_DX_Vector2_">operator -(Vector2)</a>
        </td>
        <td class="markdown level1 summary"><p>Reverses the direction of a given vector.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
