Show / Hide Table of Contents

Class Vector3i

Inheritance
System.Object
Vector3i
Implements
System.IEquatable<Vector3i>
System.IComparable<Vector3i>
Namespace: Eco.Shared.Math
Assembly: Eco.Shared.dll
Syntax
public sealed class Vector3i : ValueType, IEquatable<Vector3i>, IComparable<Vector3i>

Constructors

Vector3i(Int32, Int32)

Declaration
public Vector3i(int x, int y)
Parameters
Type Name Description
System.Int32 x
System.Int32 y

Vector3i(Int32, Int32, Int32)

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

Fields

Back

Declaration
public static readonly Vector3i Back
Field Value
Type Description
Vector3i

Directions

Declaration
public static readonly Vector3i[] Directions
Field Value
Type Description
Vector3i[]

DirectionsXZ

Declaration
public static readonly Vector3i[] DirectionsXZ
Field Value
Type Description
Vector3i[]

Down

Declaration
public static readonly Vector3i Down
Field Value
Type Description
Vector3i

Forward

Declaration
public static readonly Vector3i Forward
Field Value
Type Description
Vector3i

ForwardRight

Declaration
public static readonly Vector3i ForwardRight
Field Value
Type Description
Vector3i

Full26NeighborOffsets

Declaration
public static readonly Vector3i[] Full26NeighborOffsets
Field Value
Type Description
Vector3i[]

Left

Declaration
public static readonly Vector3i Left
Field Value
Type Description
Vector3i

MaxValue

Declaration
public static readonly Vector3i MaxValue
Field Value
Type Description
Vector3i

MinValue

Declaration
public static readonly Vector3i MinValue
Field Value
Type Description
Vector3i

NegOne

Declaration
public static readonly Vector3i NegOne
Field Value
Type Description
Vector3i

One

Declaration
public static readonly Vector3i One
Field Value
Type Description
Vector3i

Right

Declaration
public static readonly Vector3i Right
Field Value
Type Description
Vector3i

Up

Declaration
public static readonly Vector3i Up
Field Value
Type Description
Vector3i

x

Declaration
public int x
Field Value
Type Description
System.Int32

y

Declaration
public int y
Field Value
Type Description
System.Int32

z

Declaration
public int z
Field Value
Type Description
System.Int32

Zero

Declaration
public static readonly Vector3i Zero
Field Value
Type Description
Vector3i

Properties

Full26Neighbors

Declaration
public IEnumerable<Vector3i> Full26Neighbors { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

Magnitude

Declaration
public float Magnitude { get; }
Property Value
Type Description
System.Single

MultTogether

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

Normalized

Declaration
public Vector3 Normalized { get; }
Property Value
Type Description
System.Numerics.Vector3

NormalizedOrZero

Declaration
public Vector3 NormalizedOrZero { get; }
Property Value
Type Description
System.Numerics.Vector3

SqrMagnitude

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

X

Declaration
[JsonIgnore]
public int X { get; set; }
Property Value
Type Description
System.Int32

XYZNeighbors

Declaration
public IEnumerable<Vector3i> XYZNeighbors { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XYZNeighborsAndSelf

Declaration
public IEnumerable<Vector3i> XYZNeighborsAndSelf { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XZ

Declaration
public Vector2i XZ { get; }
Property Value
Type Description
Vector2i

XZFullNeighbors

Declaration
public IEnumerable<Vector3i> XZFullNeighbors { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XZFullNeighborsAndSelf

Declaration
public IEnumerable<Vector3i> XZFullNeighborsAndSelf { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XZNeighbors

Declaration
public IEnumerable<Vector3i> XZNeighbors { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XZNeighborsAndDir

Declaration
public IEnumerable<Ray> XZNeighborsAndDir { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Ray>

XZNeighborsAndSelf

Declaration
public IEnumerable<Vector3i> XZNeighborsAndSelf { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

Y

Declaration
[JsonIgnore]
public int Y { get; set; }
Property Value
Type Description
System.Int32

Z

Declaration
[JsonIgnore]
public int Z { get; set; }
Property Value
Type Description
System.Int32

Methods

Abs()

Declaration
public Vector3i Abs()
Returns
Type Description
Vector3i

AddY(Int32)

Returns new Vector3i with Y component with added deltaY. You can use negative deltaY to subtract value.

Declaration
public Vector3i AddY(int deltaY)
Parameters
Type Name Description
System.Int32 deltaY
Returns
Type Description
Vector3i

CloseTo(Vector3i, Vector3i)

Declaration
public bool CloseTo(Vector3i other, Vector3i maxDistance)
Parameters
Type Name Description
Vector3i other
Vector3i maxDistance
Returns
Type Description
System.Boolean

CompareTo(Vector3i)

Declaration
public int CompareTo(Vector3i other)
Parameters
Type Name Description
Vector3i other
Returns
Type Description
System.Int32

Distance(Vector3i, Vector3i)

Declaration
public static float Distance(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
System.Single

DistanceSq(Vector3i, Vector3i)

Declaration
public static int DistanceSq(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
System.Int32

Equals(Vector3i)

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

Equals(Object)

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

FromStringBasic(String)

Declaration
public static Vector3i FromStringBasic(string s)
Parameters
Type Name Description
System.String s
Returns
Type Description
Vector3i

GetAxis(Axis)

Returns the scalar value for the given axis.

Declaration
public int GetAxis(Axis a)
Parameters
Type Name Description
Axis a
Returns
Type Description
System.Int32

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32

InBounds(Int32)

Declaration
public bool InBounds(int max)
Parameters
Type Name Description
System.Int32 max
Returns
Type Description
System.Boolean

Max(Vector3i, Vector3i)

Declaration
public static Vector3i Max(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
Vector3i

MaxAxis()

Return the largest axis, breaking ties arbitrarily.

Declaration
public Axis MaxAxis()
Returns
Type Description
Axis

Mid(Vector3i, Vector3i)

Declaration
public static Vector3i Mid(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
Vector3i

Min(Vector3i, Vector3i)

Declaration
public static Vector3i Min(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
Vector3i

MinAxis()

Return the smallest axis, breaking ties arbitrarily.

Declaration
public Axis MinAxis()
Returns
Type Description
Axis

RandomXZOrthoDirection()

Declaration
public static Vector3i RandomXZOrthoDirection()
Returns
Type Description
Vector3i

ToString()

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

ToStringBasic()

Declaration
public string ToStringBasic()
Returns
Type Description
System.String

ToStringLabelled(String)

Declaration
public string ToStringLabelled(string text)
Parameters
Type Name Description
System.String text
Returns
Type Description
System.String

UnwrapRelative(Vector3i)

Declaration
public Vector3i UnwrapRelative(Vector3i other)
Parameters
Type Name Description
Vector3i other
Returns
Type Description
Vector3i

WrappedDistance(Vector3i)

Declaration
public float WrappedDistance(Vector3i pos)
Parameters
Type Name Description
Vector3i pos
Returns
Type Description
System.Single

X_Z(Int32)

Declaration
public Vector3i X_Z(int newY = 0)
Parameters
Type Name Description
System.Int32 newY
Returns
Type Description
Vector3i

XY_(Int32)

Declaration
public Vector3i XY_(int newZ = 0)
Parameters
Type Name Description
System.Int32 newZ
Returns
Type Description
Vector3i

XYZIter()

Declaration
public IEnumerable<Vector3i> XYZIter()
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XYZIter(Int32)

Declaration
public static IEnumerable<Vector3i> XYZIter(int size)
Parameters
Type Name Description
System.Int32 size
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XYZIterInclusive()

Declaration
public IEnumerable<Vector3i> XYZIterInclusive()
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XYZIterInclusive(Vector3i, Vector3i)

Declaration
public static IEnumerable<Vector3i> XYZIterInclusive(Vector3i min, Vector3i max)
Parameters
Type Name Description
Vector3i min
Vector3i max
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XYZIterInclusive(Int32, Int32)

Declaration
public static IEnumerable<Vector3i> XYZIterInclusive(int min, int max)
Parameters
Type Name Description
System.Int32 min
System.Int32 max
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XYZIterInSphere(Vector3i, Int32)

Returns List of positions in sphere based on center and radius. Gets cube with 2x radius as side + center point, and then filters by the squared distance from the center. Positions are proved to be not under the bedrock

Declaration
public static IEnumerable<Vector3i> XYZIterInSphere(Vector3i center, int radius)
Parameters
Type Name Description
Vector3i center
System.Int32 radius
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

XZWrap(Vector3i)

Declaration
public Vector3i XZWrap(Vector3i wrapSize)
Parameters
Type Name Description
Vector3i wrapSize
Returns
Type Description
Vector3i

XZWrappedDirectionalVector(Vector3i, Vector3i)

Wraps a true 'vector' (which is now meaningless so we need a long name, points in the shortest direction after accounting for world voxel wrapping).

Declaration
public static Vector3i XZWrappedDirectionalVector(Vector3i from, Vector3i to)
Parameters
Type Name Description
Vector3i from
Vector3i to
Returns
Type Description
Vector3i

YXZIter()

Declaration
public IEnumerable<Vector3i> YXZIter()
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>

ZeroY()

Declaration
public Vector3i ZeroY()
Returns
Type Description
Vector3i

Operators

Addition(Vector3i, Vector3i)

Declaration
public static Vector3i operator +(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
Vector3i

Addition(Vector3i, Int32)

Declaration
public static Vector3i operator +(Vector3i v, int t)
Parameters
Type Name Description
Vector3i v
System.Int32 t
Returns
Type Description
Vector3i

Division(Vector3i, Int32)

Declaration
public static Vector3i operator /(Vector3i v, int t)
Parameters
Type Name Description
Vector3i v
System.Int32 t
Returns
Type Description
Vector3i

Equality(Vector3i, Vector3i)

Declaration
public static bool operator ==(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
System.Boolean

Explicit(Vector3 to Vector3i)

Declaration
public static explicit operator Vector3i(Vector3 v)
Parameters
Type Name Description
System.Numerics.Vector3 v
Returns
Type Description
Vector3i

GreaterThan(Vector3i, Vector3i)

Declaration
public static bool operator>(Vector3i v1, Vector3i v2)
Parameters
Type Name Description
Vector3i v1
Vector3i v2
Returns
Type Description
System.Boolean

GreaterThanOrEqual(Vector3i, Vector3i)

Declaration
public static bool operator >=(Vector3i v1, Vector3i v2)
Parameters
Type Name Description
Vector3i v1
Vector3i v2
Returns
Type Description
System.Boolean

Implicit(Vector3i to Vector3)

Declaration
public static implicit operator Vector3(Vector3i v)
Parameters
Type Name Description
Vector3i v
Returns
Type Description
System.Numerics.Vector3

Inequality(Vector3i, Vector3i)

Declaration
public static bool operator !=(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
System.Boolean

LessThan(Vector3i, Vector3i)

Declaration
public static bool operator <(Vector3i v1, Vector3i v2)
Parameters
Type Name Description
Vector3i v1
Vector3i v2
Returns
Type Description
System.Boolean

LessThanOrEqual(Vector3i, Vector3i)

Declaration
public static bool operator <=(Vector3i v1, Vector3i v2)
Parameters
Type Name Description
Vector3i v1
Vector3i v2
Returns
Type Description
System.Boolean

Multiply(Vector3i, Vector3i)

Declaration
public static Vector3i operator *(Vector3i v1, Vector3i v2)
Parameters
Type Name Description
Vector3i v1
Vector3i v2
Returns
Type Description
Vector3i

Multiply(Vector3i, Int32)

Declaration
public static Vector3i operator *(Vector3i v, int t)
Parameters
Type Name Description
Vector3i v
System.Int32 t
Returns
Type Description
Vector3i

Multiply(Vector3i, Single)

Declaration
public static Vector3 operator *(Vector3i v, float t)
Parameters
Type Name Description
Vector3i v
System.Single t
Returns
Type Description
System.Numerics.Vector3

Subtraction(Vector3i, Vector3i)

Declaration
public static Vector3i operator -(Vector3i a, Vector3i b)
Parameters
Type Name Description
Vector3i a
Vector3i b
Returns
Type Description
Vector3i

Subtraction(Vector3i, Int32)

Declaration
public static Vector3i operator -(Vector3i v, int t)
Parameters
Type Name Description
Vector3i v
System.Int32 t
Returns
Type Description
Vector3i

UnaryNegation(Vector3i)

Declaration
public static Vector3i operator -(Vector3i v)
Parameters
Type Name Description
Vector3i v
Returns
Type Description
Vector3i

Implements

System.IEquatable<>
System.IComparable<>

Extension Methods

DirectionExtensions.ToDir(Vector3i)
Vector3Extensions.WorldPosition3iOrInvalid(Vector3i)
Vector3iExtensions.WithX(Vector3i, Int32)
Vector3iExtensions.WithY(Vector3i, Int32)
Vector3iExtensions.WithZ(Vector3i, Int32)
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)
MathUtil.DivideAndFloor(Vector3i, Int32)
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>)
PlotUtil.CornerOfCurrentPlot(Vector3i)
PlotUtil.ToPlotPos(Vector3i)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾