Show / Hide Table of Contents

Class SVector3

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

Constructors

SVector3(Single)

Declaration
public SVector3(float v)
Parameters
Type Name Description
System.Single v

SVector3(Single, Single, Single)

Declaration
public SVector3(float x, float y, float z)
Parameters
Type Name Description
System.Single x
System.Single y
System.Single z

Fields

Back

Declaration
public static SVector3 Back
Field Value
Type Description
SVector3

Down

Declaration
public static SVector3 Down
Field Value
Type Description
SVector3

Forward

Declaration
public static SVector3 Forward
Field Value
Type Description
SVector3

Left

Declaration
public static SVector3 Left
Field Value
Type Description
SVector3

MinValue

Declaration
public static SVector3 MinValue
Field Value
Type Description
SVector3

One

Declaration
public static SVector3 One
Field Value
Type Description
SVector3

Right

Declaration
public static SVector3 Right
Field Value
Type Description
SVector3

Up

Declaration
public static SVector3 Up
Field Value
Type Description
SVector3

x

Declaration
public float x
Field Value
Type Description
System.Single

y

Declaration
public float y
Field Value
Type Description
System.Single

z

Declaration
public float z
Field Value
Type Description
System.Single

Zero

Declaration
public static SVector3 Zero
Field Value
Type Description
SVector3

Properties

Ceiling

Declaration
public Vector3i Ceiling { get; }
Property Value
Type Description
Vector3i

Floor

Declaration
public Vector3i Floor { get; }
Property Value
Type Description
Vector3i

Magnitude

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

MagnitudeSq

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

Normalized

Declaration
public SVector3 Normalized { get; }
Property Value
Type Description
SVector3

Round

Uses default rounding rules (bank rounding, or round to closest even in case of tie). I.e. 0.5 -> 0, but 1.5 -> 2.

Declaration
public Vector3i Round { get; }
Property Value
Type Description
Vector3i

RoundUp

Always rounds to closes greater number. Preferred way of rounding for coordinates, because voxel coordinates always shifted down. I.e. 0.5 -> 1, 1.5 -> 2 and -1.5 -> -1.

Declaration
public Vector3i RoundUp { get; }
Property Value
Type Description
Vector3i

WorldPosition3i

Declaration
public WorldPosition3i WorldPosition3i { get; }
Property Value
Type Description
WorldPosition3i

X

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

XY

Declaration
public Vector2 XY { get; }
Property Value
Type Description
Vector2

XYZi

Declaration
public Vector3i XYZi { get; }
Property Value
Type Description
Vector3i

XZ

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

XZi

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

Y

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

YZ

Declaration
public Vector2 YZ { get; }
Property Value
Type Description
Vector2

Z

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

Methods

Abs()

Declaration
public SVector3 Abs()
Returns
Type Description
SVector3

Angle(SVector3, SVector3)

Declaration
public static float Angle(SVector3 lhs, SVector3 rhs)
Parameters
Type Name Description
SVector3 lhs
SVector3 rhs
Returns
Type Description
System.Single

AngleDeg(SVector3)

Declaration
public float AngleDeg(SVector3 to)
Parameters
Type Name Description
SVector3 to
Returns
Type Description
System.Single

AngleRad(SVector3)

Returns angle between two in degs.

Declaration
public float AngleRad(SVector3 to)
Parameters
Type Name Description
SVector3 to
Returns
Type Description
System.Single

Clamp(SVector3, SVector3)

Declaration
public void Clamp(SVector3 min, SVector3 max)
Parameters
Type Name Description
SVector3 min
SVector3 max

CloseTo(SVector3, SVector3)

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

Cross(SVector3)

Declaration
public SVector3 Cross(SVector3 rhs)
Parameters
Type Name Description
SVector3 rhs
Returns
Type Description
SVector3

Cross(SVector3, SVector3)

Declaration
public static SVector3 Cross(SVector3 lhs, SVector3 rhs)
Parameters
Type Name Description
SVector3 lhs
SVector3 rhs
Returns
Type Description
SVector3

Distance(SVector3, SVector3)

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

DistanceSq(SVector3, SVector3)

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

Dot(SVector3, SVector3)

Declaration
public static float Dot(SVector3 v1, SVector3 v2)
Parameters
Type Name Description
SVector3 v1
SVector3 v2
Returns
Type Description
System.Single

Equals(SVector3)

Declaration
public bool Equals(SVector3 other)
Parameters
Type Name Description
SVector3 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

GetHashCode()

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

IsInfinity(SVector3)

Declaration
public static bool IsInfinity(SVector3 v)
Parameters
Type Name Description
SVector3 v
Returns
Type Description
System.Boolean

IsNAN(SVector3)

Declaration
public static bool IsNAN(SVector3 v)
Parameters
Type Name Description
SVector3 v
Returns
Type Description
System.Boolean

IsValid(SVector3)

Declaration
public static bool IsValid(SVector3 v)
Parameters
Type Name Description
SVector3 v
Returns
Type Description
System.Boolean

Lerp(SVector3, SVector3, Single)

Declaration
public static SVector3 Lerp(SVector3 a, SVector3 b, float t)
Parameters
Type Name Description
SVector3 a
SVector3 b
System.Single t
Returns
Type Description
SVector3

Max(SVector3, SVector3)

Declaration
public static SVector3 Max(SVector3 max, SVector3 othermax)
Parameters
Type Name Description
SVector3 max
SVector3 othermax
Returns
Type Description
SVector3

Min(SVector3, SVector3)

Declaration
public static SVector3 Min(SVector3 min, SVector3 othermin)
Parameters
Type Name Description
SVector3 min
SVector3 othermin
Returns
Type Description
SVector3

NormalizeSafe(SVector3)

Returns normalized version of vector (by dividing each component on vector length), but returns defaultValue in case if length is zero to avoid producing NaN vector.

Declaration
public SVector3 NormalizeSafe(SVector3 defaultValue = null)
Parameters
Type Name Description
SVector3 defaultValue
Returns
Type Description
SVector3

RotateByXAxis(Single)

Declaration
public SVector3 RotateByXAxis(float radians)
Parameters
Type Name Description
System.Single radians
Returns
Type Description
SVector3

RotateByYAxis(Single)

Declaration
public SVector3 RotateByYAxis(float radians)
Parameters
Type Name Description
System.Single radians
Returns
Type Description
SVector3

RotateByZAxis(Single)

Declaration
public SVector3 RotateByZAxis(float radians)
Parameters
Type Name Description
System.Single radians
Returns
Type Description
SVector3

ToString()

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

ToString(String, IFormatProvider)

Declaration
public string ToString(string formatString, IFormatProvider formatProvider = null)
Parameters
Type Name Description
System.String formatString
System.IFormatProvider formatProvider
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

WrappedDistance(SVector3)

Declaration
public float WrappedDistance(SVector3 other)
Parameters
Type Name Description
SVector3 other
Returns
Type Description
System.Single

WrappedDistance(SVector3, SVector3)

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

WrappedDistanceSq(SVector3, SVector3)

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

XZWrappedDirectionalVector(in SVector3, in SVector3, in SVector3)

Returns directional difference vector wrapped in size (i.e. WrappedVoxelSize, WrappedChunkSize or WrappedPlotSize).

Declaration
public static SVector3 XZWrappedDirectionalVector(in SVector3 from, in SVector3 to, in SVector3 size)
Parameters
Type Name Description
SVector3 from
SVector3 to
SVector3 size
Returns
Type Description
SVector3

ZeroY()

Declaration
public SVector3 ZeroY()
Returns
Type Description
SVector3

Operators

Addition(SVector3, SVector3)

Declaration
public static SVector3 operator +(SVector3 v1, SVector3 v2)
Parameters
Type Name Description
SVector3 v1
SVector3 v2
Returns
Type Description
SVector3

Addition(SVector3, Single)

Declaration
public static SVector3 operator +(SVector3 v1, float f)
Parameters
Type Name Description
SVector3 v1
System.Single f
Returns
Type Description
SVector3

Division(SVector3, Int32)

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

Division(SVector3, Single)

Declaration
public static SVector3 operator /(SVector3 v, float f)
Parameters
Type Name Description
SVector3 v
System.Single f
Returns
Type Description
SVector3

Equality(SVector3, SVector3)

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

Implicit(SVector3 to Vector3)

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

Implicit(Vector3 to SVector3)

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

Inequality(SVector3, SVector3)

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

Multiply(SVector3, SVector3)

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

Multiply(SVector3, Int32)

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

Multiply(SVector3, Single)

Declaration
public static SVector3 operator *(SVector3 v, float f)
Parameters
Type Name Description
SVector3 v
System.Single f
Returns
Type Description
SVector3

Subtraction(SVector3, SVector3)

Declaration
public static SVector3 operator -(SVector3 v1, SVector3 v2)
Parameters
Type Name Description
SVector3 v1
SVector3 v2
Returns
Type Description
SVector3

Implements

System.IEquatable<>
System.IFormattable

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
☀
☾