/// <summary> /// returns the euclidean distance between the midpoints of both input edges /// </summary> public static float BetweenEdgesEuclidean(Vector3Int edgeA, Vector3Int edgeB) { Vector3 a = HexConverter.EdgeCoordToCartesianCoord(edgeA); Vector3 b = HexConverter.EdgeCoordToCartesianCoord(edgeB); return(Vector3.Distance(a, b)); }
/// <summary> /// TODO /// </summary> public float Euclidean(Vector3Int edgeA, Vector3Int edgeB) { if (coordinateWrapper != null) { edgeB = coordinateWrapper.ShiftTargetToClosestPeriodicEdgePosition(edgeA, edgeB); } return(Vector3.Distance(HexConverter.EdgeCoordToCartesianCoord(edgeA), HexConverter.EdgeCoordToCartesianCoord(edgeB))); }
public static Vector2 EdgeCoordToNormalizedPosition(Vector3Int edgeCoordinate, float minX, float maxX, float minZ, float maxZ) { Vector3 cartesianCoord = HexConverter.EdgeCoordToCartesianCoord(edgeCoordinate); return(CartesianCoordToNormalizedPosition(cartesianCoord, minX, maxX, minZ, maxZ)); }