public static Vector3 FilterCombine(this Vector3 vector, Vector3 other, AxesFilter filter) { return(new Vector3( filter.x ? vector.x : other.x, filter.y ? vector.y : other.y, filter.z ? vector.z : other.z)); }
public static AxesFilter GetAxesOutOfRangeOrOnEdge(this Vector3 vector, AxesRanges range) { var filter = new AxesFilter(); filter.x = !range.xRange.ContainsNotOnEdge(vector.x); filter.y = !range.yRange.ContainsNotOnEdge(vector.y); filter.z = !range.zRange.ContainsNotOnEdge(vector.z); return(filter); }
public static Vector3 Constrain(this Vector3 vector, AxesFilter constraint) { return(FilterCombine(Vector3.zero, vector, constraint)); }
public static Vector3 ToDirection(this AxesFilter filter) { return(Filter(new Vector3(1.0f, 1.0f, 1.0f), filter)); }
public static Vector3 Filter(this Vector3 vector, AxesFilter filter) { return(FilterCombine(vector, Vector3.zero, filter)); }