Show / Hide Table of Contents

Class Distance

Class representing methods of calculating distance on a grid. You cannot create instances of this class using a constructor -- instead this class contains static instances representing the various distance calculations.

Inheritance
System.Object
Distance
Implements
System.IEquatable<Distance>
Inherited Members
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: GoRogue
Assembly: GoRogue.dll
Syntax
[Serializable]
public class Distance : IEquatable<Distance>
Remarks

Provides functions that calculate the distance between two points according to the distance measurement being used. Instances of Distance are also implicitly convertible to AdjacencyRule types (since an adjacency method is implied by a distance calculation), and they may also be explicitly casted to the appropriate 2D Radius types.

Fields

| Improve this Doc View Source

CHEBYSHEV

Represents chebyshev distance (equivalent to 8-way movement with no extra cost for diagonals).

Declaration
[NonSerialized]
public static Distance CHEBYSHEV
Field Value
Type Description
Distance
| Improve this Doc View Source

EUCLIDEAN

Represents euclidean distance (equivalent to 8-way movement with ~1.41 movement cost for diagonals).

Declaration
[NonSerialized]
public static Distance EUCLIDEAN
Field Value
Type Description
Distance
| Improve this Doc View Source

MANHATTAN

Represents manhattan distance (equivalent to 4-way, cardinal-only movement).

Declaration
[NonSerialized]
public static Distance MANHATTAN
Field Value
Type Description
Distance
| Improve this Doc View Source

Type

Enum value representing the method of calcuating distance -- useful for using Distance types in switch statements.

Declaration
public readonly Distance.Types Type
Field Value
Type Description
Distance.Types

Methods

| Improve this Doc View Source

Calculate(Coord)

Returns the distance between two locations, given the change in X and change in Y value (specified by the X and Y values of the given vector).

Declaration
public double Calculate(Coord deltaChange)
Parameters
Type Name Description
Coord deltaChange

The delta-x and delta-y between the two locations.

Returns
Type Description
System.Double

The distance between two locations withe the given delta-change values.

| Improve this Doc View Source

Calculate(Coord, Coord)

Returns the distance between the two (2D) points specified.

Declaration
public double Calculate(Coord start, Coord end)
Parameters
Type Name Description
Coord start

Starting point.

Coord end

Ending point.

Returns
Type Description
System.Double

The distance between the two points.

| Improve this Doc View Source

Calculate(Double, Double)

Returns the distance between two locations, given the change in X and change in Y value.

Declaration
public double Calculate(double dx, double dy)
Parameters
Type Name Description
System.Double dx

The delta-x between the two locations.

System.Double dy

The delta-y between the two locations.

Returns
Type Description
System.Double

The distance between two locations with the given delta-change values.

| Improve this Doc View Source

Calculate(Double, Double, Double)

Returns the distance between two locations, given the change in X, Y, and Z value.

Declaration
public double Calculate(double dx, double dy, double dz)
Parameters
Type Name Description
System.Double dx

The delta-x between the two locations.

System.Double dy

The delta-y between the two locations.

System.Double dz

The delta-z between the two locations.

Returns
Type Description
System.Double

The distance between two locations with the given delta-change values.

| Improve this Doc View Source

Calculate(Double, Double, Double, Double)

Returns the distance between the two (2D) points specified.

Declaration
public double Calculate(double startX, double startY, double endX, double endY)
Parameters
Type Name Description
System.Double startX

X-Coordinate of the starting point.

System.Double startY

Y-Coordinate of the starting point.

System.Double endX

X-Coordinate of the ending point.

System.Double endY

Y-Coordinate of the ending point.

Returns
Type Description
System.Double

The distance between the two points.

| Improve this Doc View Source

Calculate(Double, Double, Double, Double, Double, Double)

Returns the distance between the two (3D) points specified.

Declaration
public double Calculate(double startX, double startY, double startZ, double endX, double endY, double endZ)
Parameters
Type Name Description
System.Double startX

X-Coordinate of the starting point.

System.Double startY

Y-Coordinate of the starting point.

System.Double startZ

Z-Coordinate of the starting point.

System.Double endX

X-Coordinate of the ending point.

System.Double endY

Y-Coordinate of the ending point.

System.Double endZ

Z-Coordinate of the ending point.

Returns
Type Description
System.Double

The distance between the two points.

| Improve this Doc View Source

Calculate(Int32, Int32)

Returns the distance between two locations, given the change in X and change in Y value.

Declaration
public double Calculate(int dx, int dy)
Parameters
Type Name Description
System.Int32 dx

The delta-x between the two locations.

System.Int32 dy

The delta-y between the two locations.

Returns
Type Description
System.Double

The distance between two locations with the given delta-change values.

| Improve this Doc View Source

Calculate(Int32, Int32, Int32)

Returns the distance between two locations, given the change in X, Y, and Z value.

Declaration
public double Calculate(int dx, int dy, int dz)
Parameters
Type Name Description
System.Int32 dx

The delta-x between the two locations.

System.Int32 dy

The delta-y between the two locations.

System.Int32 dz

The delta-z between the two locations.

Returns
Type Description
System.Double

The distance between the locations with the given delta-change values.

| Improve this Doc View Source

Calculate(Int32, Int32, Int32, Int32)

Returns the distance between the two (2D) points specified.

Declaration
public double Calculate(int startX, int startY, int endX, int endY)
Parameters
Type Name Description
System.Int32 startX

X-Coordinate of the starting point.

System.Int32 startY

Y-Coordinate of the starting point.

System.Int32 endX

X-Coordinate of the ending point.

System.Int32 endY

Y-Coordinate of the ending point.

Returns
Type Description
System.Double

The distance between the two points.

| Improve this Doc View Source

Calculate(Int32, Int32, Int32, Int32, Int32, Int32)

Returns the distance between the two (3D) points specified.

Declaration
public double Calculate(int startX, int startY, int startZ, int endX, int endY, int endZ)
Parameters
Type Name Description
System.Int32 startX

X-Coordinate of the starting point.

System.Int32 startY

Y-Coordinate of the starting point.

System.Int32 startZ

Z-Coordinate of the starting point.

System.Int32 endX

X-Coordinate of the ending point.

System.Int32 endY

Y-Coordinate of the ending point.

System.Int32 endZ

Z-Coordinate of the ending point.

Returns
Type Description
System.Double

The distance between the two points.

| Improve this Doc View Source

Equals(Distance)

Compares the current Distance to the one given.

Declaration
public bool Equals(Distance other)
Parameters
Type Name Description
Distance other
Returns
Type Description
System.Boolean

True if the given Distance has the same Type, false otherwise.

| Improve this Doc View Source

Equals(Object)

Compares the current Distance to the object given.

Declaration
public override bool Equals(object obj)
Parameters
Type Name Description
System.Object obj
Returns
Type Description
System.Boolean

True if the given object is a Distance with the same Type, false otherwise.

Overrides
System.Object.Equals(System.Object)
| Improve this Doc View Source

GetHashCode()

Returns a hash-value for this object.

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32
Overrides
System.Object.GetHashCode()
| Improve this Doc View Source

ToDistance(Distance.Types)

Gets the Distance class instance representing the distance type specified.

Declaration
public static Distance ToDistance(Distance.Types distanceType)
Parameters
Type Name Description
Distance.Types distanceType

The enum value for the distance calculation method.

Returns
Type Description
Distance

The Distance class representing the given distance calculation.

| Improve this Doc View Source

ToString()

Returns a string representation of the distance calculation method represented.

Declaration
public override string ToString()
Returns
Type Description
System.String

A string representation of the distance method represented.

Overrides
System.Object.ToString()

Operators

| Improve this Doc View Source

Equality(Distance, Distance)

Compares the two Distance instances.

Declaration
public static bool operator ==(Distance lhs, Distance rhs)
Parameters
Type Name Description
Distance lhs
Distance rhs
Returns
Type Description
System.Boolean

True if the two given Distance instances have the same Type, false otherwise.

| Improve this Doc View Source

Explicit(Distance to Radius)

Allows explicit casting to Radius type.

Declaration
public static explicit operator Radius(Distance distance)
Parameters
Type Name Description
Distance distance
Returns
Type Description
Radius
Remarks

The 2D radius shape corresponding to the definition of a radius according to the distance calculation casted will be returned.

| Improve this Doc View Source

Implicit(Distance to AdjacencyRule)

Allows implicit casting to the AdjacencyRule type.

Declaration
public static implicit operator AdjacencyRule(Distance distance)
Parameters
Type Name Description
Distance distance
Returns
Type Description
AdjacencyRule
Remarks

The adjacency rule corresponding to the definition of a adjacency according to the distance calculation casted will be returned.

| Improve this Doc View Source

Inequality(Distance, Distance)

Compares the two Distance instances.

Declaration
public static bool operator !=(Distance lhs, Distance rhs)
Parameters
Type Name Description
Distance lhs
Distance rhs
Returns
Type Description
System.Boolean

True if the two given Distance instances do NOT have the same Type, false otherwise.

Implements

System.IEquatable<T>

Extension Methods

Utility.Yield<T>(T)
  • Improve this Doc
  • View Source
Back to top Generated by DocFX