/// <param name="arg1">The vector to add.</param>
/// <param name="arg2">The vector to add.</param>
/// <returns>The vector containing the result of the addition.</returns>
/// <param name="arg1">The vector to add.</param>
/// <param name="arg2">The vector to add.</param>
/// <returns>The vector containing the result of the addition.</returns>
/// <param name="arg1">The vector to subtract.</param>
/// <param name="arg2">The vector to subtract.</param>
/// <returns>The vector containing the result of the subtraction.</returns>
/// <param name="arg1">The vector to subtract.</param>
/// <param name="arg2">The vector to subtract.</param>
/// <returns>The vector containing the result of the subtraction.</returns>
public static Position2D operator -(Position2D arg1, Position2D arg2)
{
return arg1.Subtract(arg2);
public static Position2D operator -(Position2D arg1, Position2D arg2)
{
return arg1.Subtract(arg2);
/// </summary>
/// <param name="arg1">The vector to negate.</param>
/// <returns>The vector containing the negation.</returns>
/// </summary>
/// <param name="arg1">The vector to negate.</param>
/// <returns>The vector containing the negation.</returns>
/// <param name="arg1">The vector to multiply.</param>
/// <param name="arg2">The vector to multiply.</param>
/// <returns>The vector containing the result of the multiplication.</returns>
/// <param name="arg1">The vector to multiply.</param>
/// <param name="arg2">The vector to multiply.</param>
/// <returns>The vector containing the result of the multiplication.</returns>
public static Position2D operator *(Position2D arg1, Position2D arg2)
{
return arg1.Multiply(arg2);
public static Position2D operator *(Position2D arg1, Position2D arg2)
{
return arg1.Multiply(arg2);
/// <param name="arg1">The vector to multiply.</param>
/// <param name="arg2">The integer value to scale the vector.</param>
/// <returns>The vector containing the result of the multiplication.</returns>
/// <param name="arg1">The vector to multiply.</param>
/// <param name="arg2">The integer value to scale the vector.</param>
/// <returns>The vector containing the result of the multiplication.</returns>
public static Position2D operator *(Position2D arg1, int arg2)
{
return arg1.Multiply(arg2);
public static Position2D operator *(Position2D arg1, int arg2)
{
return arg1.Multiply(arg2);
/// <param name="arg1">The vector to divide.</param>
/// <param name="arg2">The vector to divide.</param>
/// <returns>The vector containing the result of the division.</returns>
/// <param name="arg1">The vector to divide.</param>
/// <param name="arg2">The vector to divide.</param>
/// <returns>The vector containing the result of the division.</returns>
public static Position2D operator /(Position2D arg1, Position2D arg2)
{
return arg1.Divide(arg2);
public static Position2D operator /(Position2D arg1, Position2D arg2)
{
return arg1.Divide(arg2);
/// <param name="arg1">The vector to divide.</param>
/// <param name="arg2">The integer value to scale the vector by.</param>
/// <returns>The vector containing the result of the division.</returns>
/// <param name="arg1">The vector to divide.</param>
/// <param name="arg2">The integer value to scale the vector by.</param>
/// <returns>The vector containing the result of the division.</returns>
public static Position2D operator /(Position2D arg1, int arg2)
{
return arg1.Divide(arg2);
public static Position2D operator /(Position2D arg1, int arg2)
{
return arg1.Divide(arg2);
/// </summary>
/// <param name="index">The subscript index.</param>
/// <returns>The float at the given index.</returns>
/// </summary>
/// <param name="index">The subscript index.</param>
/// <returns>The float at the given index.</returns>
public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// </summary>
/// <param name="rhs">The vector to compare</param>
/// <returns>Returns true if the two vectors are equal, otherwise false</returns>
/// </summary>
/// <param name="rhs">The vector to compare</param>
/// <returns>Returns true if the two vectors are equal, otherwise false</returns>
public bool EqualTo(Position2D rhs)
{
bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
public bool EqualTo(Position2D rhs)
{
bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
/// </summary>
/// <param name="rhs">The vector to compare.</param>
/// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
/// </summary>
/// <param name="rhs">The vector to compare.</param>
/// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
public bool NotEqualTo(Position2D rhs)
{
bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
public bool NotEqualTo(Position2D rhs)
{
bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
public static implicit operator Vector2(Position2D position2d)
{
return new Vector2((float)position2d.X, (float)position2d.Y);
public static implicit operator Vector2(Position2D position2d)
{
return new Vector2((float)position2d.X, (float)position2d.Y);
public static implicit operator Position2D(Vector2 vec)
{
return new Position2D((int)vec.X, (int)vec.Y);
public static implicit operator Position2D(Vector2 vec)
{
return new Position2D((int)vec.X, (int)vec.Y);
public static implicit operator Uint16Pair(Position2D position2d)
{
return new Uint16Pair((uint)position2d.X, (uint)position2d.Y);
public static implicit operator Uint16Pair(Position2D position2d)
{
return new Uint16Pair((uint)position2d.X, (uint)position2d.Y);
public static implicit operator Position2D(Uint16Pair pair)
{
return new Position2D((int)pair.GetX(), (int)pair.GetY());
public static implicit operator Position2D(Uint16Pair pair)
{
return new Position2D((int)pair.GetX(), (int)pair.GetY());