Show / Hide Table of Contents

Class VectorPacker3Int

Vector packing helper. Packs a 3 int vector into single int value.

Inheritance
System.Object
VectorPacker3Int
Namespace: Eco.Shared.Math
Assembly: Eco.Shared.dll
Syntax
public sealed class VectorPacker3Int : ValueType

Constructors

VectorPacker3Int(Int32, Int32)

Declaration
public VectorPacker3Int(int xSize, int zSize)
Parameters
Type Name Description
System.Int32 xSize
System.Int32 zSize

Fields

XSize

Declaration
public readonly int XSize
Field Value
Type Description
System.Int32

ZSize

Declaration
public readonly int ZSize
Field Value
Type Description
System.Int32

Properties

MaxY

Max Y which may be packed.

Declaration
public int MaxY { get; }
Property Value
Type Description
System.Int32

Methods

AddX(Int32, Int32)

Declaration
public int AddX(int packedYZX, int val)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 val
Returns
Type Description
System.Int32

AddY(Int32, Int32)

Declaration
public int AddY(int packedYZX, int val)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 val
Returns
Type Description
System.Int32

AddZ(Int32, Int32)

Declaration
public int AddZ(int packedYZX, int val)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 val
Returns
Type Description
System.Int32

DecrementX(Int32)

Declaration
public int DecrementX(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

DecrementY(Int32)

Declaration
public int DecrementY(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

DecrementZ(Int32)

Declaration
public int DecrementZ(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

IncrementX(Int32)

Declaration
public int IncrementX(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

IncrementY(Int32)

Declaration
public int IncrementY(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

IncrementZ(Int32)

Declaration
public int IncrementZ(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

Pack(Vector3i)

Declaration
public int Pack(Vector3i value)
Parameters
Type Name Description
Vector3i value
Returns
Type Description
System.Int32

Pack(Int32, Int32, Int32)

Declaration
public int Pack(int x, int y, int z)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
System.Int32 z
Returns
Type Description
System.Int32

PackWrapped(Int32, Int32, Int32)

Packs values assuming they already wrapped. Unlike Pack(Int32, Int32, Int32) doesn't wrap X and Z to match their number space and so can exceed limits and corrupt packed value.

Declaration
public int PackWrapped(int wrappedX, int y, int wrappedZ)
Parameters
Type Name Description
System.Int32 wrappedX
System.Int32 y
System.Int32 wrappedZ
Returns
Type Description
System.Int32

PackXZ(Int32, Int32)

Declaration
public int PackXZ(int x, int z)
Parameters
Type Name Description
System.Int32 x
System.Int32 z
Returns
Type Description
System.Int32

PackY(Int32)

Declaration
public int PackY(int y)
Parameters
Type Name Description
System.Int32 y
Returns
Type Description
System.Int32

RemoveY(Int32)

Removes Y and returns packed value as if it with Y == 0.

Declaration
public int RemoveY(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

ReplaceX(Int32, Int32)

Declaration
public int ReplaceX(int packedYZX, int x)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 x
Returns
Type Description
System.Int32

ReplaceY(Int32, Int32)

Declaration
public int ReplaceY(int packedYZX, int y)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 y
Returns
Type Description
System.Int32

ReplaceZ(Int32, Int32)

Declaration
public int ReplaceZ(int packedYZX, int z)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 z
Returns
Type Description
System.Int32

TryAddY(Int32, Int32, out Int32)

Declaration
public bool TryAddY(int packedYZX, int val, out int newPackedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 val
System.Int32 newPackedYZX
Returns
Type Description
System.Boolean

TryDecrementY(Int32, out Int32)

Declaration
public bool TryDecrementY(int packedYZX, out int newPackedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 newPackedYZX
Returns
Type Description
System.Boolean

TryIncrementY(Int32, out Int32)

Declaration
public bool TryIncrementY(int packedYZX, out int newPackedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 newPackedYZX
Returns
Type Description
System.Boolean

TryPack(Int32, Int32, Int32, out Int32)

Declaration
public bool TryPack(int x, int y, int z, out int packedYZX)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
System.Int32 z
System.Int32 packedYZX
Returns
Type Description
System.Boolean

TryPackWrapped(Int32, Int32, Int32, out Int32)

Tries to pack values assuming they already wrapped, but Y may be out of bounds. Unlike TryPack(Int32, Int32, Int32, out Int32) doesn't wrap X and Z to match their number space and so can exceed limits and corrupt packed value.

Declaration
public bool TryPackWrapped(int wrappedX, int y, int wrappedZ, out int packedYZX)
Parameters
Type Name Description
System.Int32 wrappedX
System.Int32 y
System.Int32 wrappedZ
System.Int32 packedYZX
Returns
Type Description
System.Boolean

false if Y out of bounds.

Unpack(Int32)

Declaration
public Vector3i Unpack(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
Vector3i

Unpack(Int32, out Int32, out Int32, out Int32)

Declaration
public void Unpack(int packedYZX, out int x, out int y, out int z)
Parameters
Type Name Description
System.Int32 packedYZX
System.Int32 x
System.Int32 y
System.Int32 z

UnpackX(Int32)

Declaration
public int UnpackX(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

UnpackY(Int32)

Declaration
public int UnpackY(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

UnpackZ(Int32)

Declaration
public int UnpackZ(int packedYZX)
Parameters
Type Name Description
System.Int32 packedYZX
Returns
Type Description
System.Int32

XZRange(Int32)

Returns range of packed values for specified y.

Declaration
public IntRange XZRange(int y = 0)
Parameters
Type Name Description
System.Int32 y
Returns
Type Description
IntRange

Extension Methods

CommandLine.FeedFromCommandLine(Object)
CommandLine.ToCommandLineArgs(Object, Func<Object, Boolean>)
ListUtil.DepthFirstTraversal<T>(T, Func<T, IEnumerable<T>>)
EnumerableExtensions.SingleItemAsEnumerable<T>(T)
EventUtils.RaiseEvent<TEventArgs>(Object, String, TEventArgs)
PredicateUtils.MatchesAll<TEnumerable, T>(T, TEnumerable)
PredicateUtils.MatchesAll<T>(T, Func<T, Boolean>[])
PredicateUtils.MatchesAny<TEnumerable, T>(T, TEnumerable)
ReflectionUtils.PropertyValue<T>(Object, PropertyInfo)
ReflectionUtils.TryGetPropertyValueByName<T>(Object, String, out T)
ReflectionUtils.GetPropertyValueByName<T>(Object, String)
ReflectionUtils.SetPropertyByName(Object, String, Object)
ReflectionUtils.GetStructPropertyByName<T>(Object, String)
ReflectionUtils.GetStringPropertyByName(Object, String)
ReflectionUtils.ZipByProperty<T>(Object, Object, Object, Func<T, T, T>)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾