## Libraries.Game.Collision.Narrowphase.DistanceProxy2D Documentation

This class records all of the vertices of a shape, and with these vertices, this class can calculate the support vertex of a shape to be used by the DistanceInput2D class.

*Inherits from: *Libraries.Language.Object

## Summary

### Actions Summary Table

Actions | Description |
---|---|

Compare(Libraries.Language.Object object) | This action compares two object hash codes and returns an integer. |

Equals(Libraries.Language.Object object) | This action determines if two objects are equal based on their hash code values. |

GetHashCode() | This action gets the hash code for an object. |

GetRadius() | This action returns the radius of the shape that was used to create this DistanceProxy2D. |

GetSupport(Libraries.Compute.Vector2 direction) | This action finds a vertex index on the shape that is the best candidate for a vector that is in the direction of "Vector2 direction" or almost in the direction of "Vector2 direction. |

GetSupportVertex(Libraries.Compute.Vector2 direction) | This action finds a vertex on the shape that is the best candidate for a vector that is in the direction of "Vector2 direction" or almost in the direction of "Vector2 direction. |

GetVertex(integer index) | This action returns the designated vertex that is in the shape that was used to create this DistanceProxy2D. |

GetVertexCount() | This action returns how many vertices are in the shape that was used to create this DistanceProxy2D. |

Set(Libraries.Game.Collision.Shapes.CollisionShape2D shape, integer index) | This action loads the vertices of the shape into this DistanceProxy2D object. |

## Actions Documentation

### Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

**Example Code**

```
Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)
```

#### Parameters

- Libraries.Language.Object: The object to compare to.

#### Return

integer: The Compare result, Smaller, Equal, or Larger.

### Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

**Example Code**

```
use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)
```

#### Parameters

- Libraries.Language.Object: The to be compared.

#### Return

boolean: True if the hash codes are equal and false if they are not equal.

### GetHashCode()

This action gets the hash code for an object.

**Example Code**

```
Object o
integer hash = o:GetHashCode()
```

#### Return

integer: The integer hash code of the object.

### GetRadius()

This action returns the radius of the shape that was used to create this DistanceProxy2D.

#### Return

number:

### GetSupport(Libraries.Compute.Vector2 direction)

This action finds a vertex index on the shape that is the best candidate for a vector that is in the direction of "Vector2 direction" or almost in the direction of "Vector2 direction." To do this, this action takes the dot product of the vertex and the "Vector2 direction" such that the candidate has to have a positive dot product and has the highest value for the dot product.

#### Parameters

#### Return

integer:

### GetSupportVertex(Libraries.Compute.Vector2 direction)

This action finds a vertex on the shape that is the best candidate for a vector that is in the direction of "Vector2 direction" or almost in the direction of "Vector2 direction." To do this, this action takes the dot product of the vertex and the "Vector2 direction" such that the candidate has to have a positive dot product and has the highest value for the dot product.

#### Parameters

#### Return

### GetVertex(integer index)

This action returns the designated vertex that is in the shape that was used to create this DistanceProxy2D.

#### Parameters

#### Return

### GetVertexCount()

This action returns how many vertices are in the shape that was used to create this DistanceProxy2D.

#### Return

integer:

### Set(Libraries.Game.Collision.Shapes.CollisionShape2D shape, integer index)

This action loads the vertices of the shape into this DistanceProxy2D object.