Show / Hide Table of Contents

Class WrappedWorldPositionExtensions

Extension methods for wrapped world positions.

Inheritance
System.Object
WrappedWorldPositionExtensions
Namespace: Eco.Shared.Math.Wrapping
Assembly: Eco.Shared.dll
Syntax
public static class WrappedWorldPositionExtensions : Object

Methods

Add<TPosition>(TPosition, Direction, Int32)

Declaration
public static TPosition Add<TPosition>(this TPosition position, Direction dir, int count)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Direction dir
System.Int32 count
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

Add<TPosition>(TPosition, Vector3i)

Declaration
public static TPosition Add<TPosition>(this TPosition position, Vector3i delta)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Vector3i delta
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

Add<TPosition>(TPosition, Int32, Int32, Int32)

Declaration
public static TPosition Add<TPosition>(this TPosition position, int dx, int dy, int dz)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
System.Int32 dx
System.Int32 dy
System.Int32 dz
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

AddX<TPosition>(TPosition, Int32)

Declaration
public static TPosition AddX<TPosition>(this TPosition position, int dx)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
System.Int32 dx
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

AddY<TPosition>(TPosition, Int32)

Declaration
public static TPosition AddY<TPosition>(this TPosition position, int dy)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
System.Int32 dy
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

AddZ<TPosition>(TPosition, Int32)

Declaration
public static TPosition AddZ<TPosition>(this TPosition position, int dz)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
System.Int32 dz
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

DecrementX<TPosition>(TPosition)

Declaration
public static TPosition DecrementX<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

DecrementY<TPosition>(TPosition)

Declaration
public static TPosition DecrementY<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

DecrementZ<TPosition>(TPosition)

Declaration
public static TPosition DecrementZ<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

IncrementX<TPosition>(TPosition)

Declaration
public static TPosition IncrementX<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

IncrementY<TPosition>(TPosition)

Declaration
public static TPosition IncrementY<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

IncrementZ<TPosition>(TPosition)

Declaration
public static TPosition IncrementZ<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
TPosition
Type Parameters
Name Description
TPosition

StepToInc<TPosition>(TPosition, TPosition, Direction)

Returns enumerable of positions from current position to other with provided dir. Be aware if dir is wrong then position may never be reached!

Declaration
public static IEnumerable<TPosition> StepToInc<TPosition>(this TPosition position, TPosition other, Direction dir)
    where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>, IEquatable<TPosition>
Parameters
Type Name Description
TPosition position
TPosition other
Direction dir
Returns
Type Description
System.Collections.Generic.IEnumerable<TPosition>
Type Parameters
Name Description
TPosition

TryAdd<TPosition>(TPosition, Int32, Int32, Int32, out TPosition)

Declaration
public static bool TryAdd<TPosition>(this TPosition position, int dx, int dy, int dz, out TPosition newPosition)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
System.Int32 dx
System.Int32 dy
System.Int32 dz
TPosition newPosition
Returns
Type Description
System.Boolean
Type Parameters
Name Description
TPosition

TryAddY<TPosition>(TPosition, Int32, out TPosition)

Declaration
public static bool TryAddY<TPosition>(this TPosition position, int dy, out TPosition newPosition)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
System.Int32 dy
TPosition newPosition
Returns
Type Description
System.Boolean
Type Parameters
Name Description
TPosition

TryDecrementY<TPosition>(TPosition, out TPosition)

Declaration
public static bool TryDecrementY<TPosition>(this TPosition position, out TPosition newPosition)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
TPosition newPosition
Returns
Type Description
System.Boolean
Type Parameters
Name Description
TPosition

TryIncrementY<TPosition>(TPosition, out TPosition)

Declaration
public static bool TryIncrementY<TPosition>(this TPosition position, out TPosition newPosition)
    where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type Name Description
TPosition position
TPosition newPosition
Returns
Type Description
System.Boolean
Type Parameters
Name Description
TPosition

WrappedDifference<T>(T, T)

Calculates wrapped difference between a and b. I.e. for world size (100, 100, 80):

  • (10, 10, 10).WrappedDelta(20, 20, 20) -> (-10, -10, -10)
  • (10, 10, 10).WrappedDelta(60, 20, 60) -> (-50, -10, -30)
  • (10, 10, 10).WrappedDelta(60, 20, 60) -> (-50, -10, -50)
Declaration
public static Vector3i WrappedDifference<T>(this T a, T b)
    where T : IWrappedPosition3<int>
Parameters
Type Name Description
T a
T b
Returns
Type Description
Vector3i
Type Parameters
Name Description
T

WrappedDistanceSq<T>(T, T)

Calculates wrapped distance (squared) between a and b.

Declaration
public static int WrappedDistanceSq<T>(this T a, T b)
    where T : IWrappedPosition3<int>
Parameters
Type Name Description
T a
T b
Returns
Type Description
System.Int32
Type Parameters
Name Description
T

XZWrappedNeighborsRay<TPosition>(TPosition)

Returns enumerable of XZ rays in wrapped space.

Declaration
public static Ray[] XZWrappedNeighborsRay<TPosition>(this TPosition position)
    where TPosition : IWrappedPosition3<int>
Parameters
Type Name Description
TPosition position
Returns
Type Description
Ray[]
Type Parameters
Name Description
TPosition
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾