Class VectorUtils
Inheritance
System.Object
VectorUtils
Assembly: Eco.Shared.dll
Syntax
public static class VectorUtils : Object
Methods
AngleToDirDeg(Single)
Declaration
public static Vector3 AngleToDirDeg(float angleDeg)
Parameters
| Type |
Name |
Description |
| System.Single |
angleDeg |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
Average(IEnumerable<Vector2>)
Average position, or zero's if none in list.
Declaration
public static Vector2 Average(this IEnumerable<Vector2> posList)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<Vector2> |
posList |
|
Returns
Average(IEnumerable<Vector2i>)
Average position, or zero's if none in list.
Declaration
public static Vector2i Average(this IEnumerable<Vector2i> posList)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<Vector2i> |
posList |
|
Returns
Average(IEnumerable<Vector3i>)
Average position, or zero's if none in list.
Declaration
public static Vector3i Average(this IEnumerable<Vector3i> posList)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<Vector3i> |
posList |
|
Returns
Average(IEnumerable<Vector3>)
Average position, or zero's if none in list.
Declaration
public static Vector3 Average(this IEnumerable<Vector3> posList)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<System.Numerics.Vector3> |
posList |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
AvgWrappedPos(IEnumerable<Vector3>)
Declaration
public static Vector3 AvgWrappedPos(this IEnumerable<Vector3> list)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<System.Numerics.Vector3> |
list |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
CapToLength(Vector2, Single)
Declaration
public static Vector2 CapToLength(this Vector2 vector, float maxLength)
Parameters
| Type |
Name |
Description |
| Vector2 |
vector |
|
| System.Single |
maxLength |
|
Returns
CapToLength(Vector3, Single)
Declaration
public static Vector3 CapToLength(this Vector3 vector, float maxLength)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
vector |
|
| System.Single |
maxLength |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
ClosestGridPositions(Vector3)
Find the nearest block to this one in horizontal, vertical, or diagonal position away.
Declaration
public static IEnumerable<Vector3i> ClosestGridPositions(Vector3 position)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
position |
|
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerable<Vector3i> |
|
DistanceTo(Vector3, Vector3)
Declaration
public static float DistanceTo(this Vector3 vector, Vector3 other)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
vector |
|
| System.Numerics.Vector3 |
other |
|
Returns
| Type |
Description |
| System.Single |
|
GetNearestXZNeighbors(Vector3)
Declaration
public static (Vector3i, Vector3i) GetNearestXZNeighbors(this Vector3 pos)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
pos |
|
Returns
MoveAndRotate(IEnumerable<Vector3i>, Vector3i, Quaternion)
Returns distinct collection of vectors form the area that were shifted and rotated according to provided params.
Declaration
public static IEnumerable<Vector3i> MoveAndRotate(this IEnumerable<Vector3i> area, Vector3i position, Quaternion rotation)
Parameters
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerable<Vector3i> |
|
NormalizedNoY(Vector3)
Declaration
public static Vector3 NormalizedNoY(this Vector3 vec)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
vec |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
ParseVector2(String)
Parses Vector2 string representation to Vector2 value.
Declaration
public static Vector2 ParseVector2(string str)
Parameters
| Type |
Name |
Description |
| System.String |
str |
|
Returns
ParseVector3(String)
Parses Vector3 string representation to System.Numerics.Vector3 value.
Declaration
public static Vector3 ParseVector3(string str)
Parameters
| Type |
Name |
Description |
| System.String |
str |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
Project(Vector3, Vector3)
Analogue of Unity Vector3.Project
Declaration
public static Vector3 Project(this Vector3 vector, Vector3 onNormal)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
vector |
|
| System.Numerics.Vector3 |
onNormal |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
RandomNormalXZ()
Declaration
public static Vector3 RandomNormalXZ()
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
RotatedAroundY(Vector3, Single)
Rotate vector clockwise around +Y axis
Declaration
public static Vector3 RotatedAroundY(this Vector3 vector, float angle)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
vector |
|
| System.Single |
angle |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
Slerp(Vector3, Vector3, Single)
Declaration
public static Vector3 Slerp(this Vector3 start, Vector3 end, float percent)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
start |
|
| System.Numerics.Vector3 |
end |
|
| System.Single |
percent |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
TryGetNearestAdjacent(Vector3, out Vector3i, Func<Vector3i, Boolean>)
Get the nearest XZ-adjacent grid cell to pos that satisfies isValid.
Declaration
public static bool TryGetNearestAdjacent(this Vector3 pos, out Vector3i nearest, Func<Vector3i, bool> isValid)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
pos |
|
| Vector3i |
nearest |
|
| System.Func<Vector3i, System.Boolean> |
isValid |
|
Returns
| Type |
Description |
| System.Boolean |
|
UnwrapRelative(Vector3, Vector3)
Declaration
public static Vector3 UnwrapRelative(this Vector3 v, Vector3 other)
Parameters
| Type |
Name |
Description |
| System.Numerics.Vector3 |
v |
|
| System.Numerics.Vector3 |
other |
|
Returns
| Type |
Description |
| System.Numerics.Vector3 |
|
Wrap(Vector2i)
Declaration
public static Vector2i Wrap(this Vector2i vec)
Parameters
Returns
WrapAll(IEnumerable<Vector2i>, Vector2i)
Average position, or zero's if none in list.
Declaration
public static IEnumerable<Vector2i> WrapAll(this IEnumerable<Vector2i> posList, Vector2i wrapSize)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.IEnumerable<Vector2i> |
posList |
|
| Vector2i |
wrapSize |
|
Returns
| Type |
Description |
| System.Collections.Generic.IEnumerable<Vector2i> |
|