public static ThreadVector3 operator -(ThreadVector3 a, ThreadVector3 b) { float x = a.x - b.x; float y = a.y - b.y; float z = a.z - b.z; ThreadVector3 temp = new ThreadVector3(x, y, z); return(temp); }
public static ThreadVector3 operator +(ThreadVector3 a, Vector3 b) { float x = a.x + b.x; float y = a.y + b.y; float z = a.z + b.z; ThreadVector3 temp = new ThreadVector3(x, y, z); return(temp); }
public static float Dot(ThreadVector3 a, ThreadVector3 b) { float dot = 0; dot += a.x * b.x; dot += a.y * b.y; dot += a.z * b.z; return(dot); }
public static ThreadVector3[] ToThreadVectorArray(List <Vector3> vector3List) { ThreadVector3[] threadVector3Array = new ThreadVector3[vector3List.Count]; for (int i = 0; i < vector3List.Count; i++) { Vector3 vec3 = vector3List[i]; threadVector3Array[i] = new ThreadVector3(vec3.x, vec3.y, vec3.z); } return(threadVector3Array); }
public static ThreadVector3[] ToThreadVectorArray(Vector3[] vector3Array) { ThreadVector3[] threadVector3Array = new ThreadVector3[vector3Array.Length]; for (int i = 0; i < vector3Array.Length; i++) { Vector3 vec3 = vector3Array[i]; threadVector3Array[i] = new ThreadVector3(vec3.x, vec3.y, vec3.z); } return(threadVector3Array); }
public static List <Vector3> ToVectorList(ThreadVector3[] vector3Array) { List <Vector3> threadVector3List = new List <Vector3>(); for (int i = 0; i < vector3Array.Length; i++) { ThreadVector3 vec3 = vector3Array[i]; threadVector3List.Add(new Vector3(vec3.x, vec3.y, vec3.z)); } return(threadVector3List); }
public static List <Vector3> ToVectorList(List <ThreadVector3> vector3List) { List <Vector3> threadVector3List = new List <Vector3>(); for (int i = 0; i < vector3List.Count; i++) { ThreadVector3 vec3 = vector3List[i]; threadVector3List.Add(new Vector3(vec3.x, vec3.y, vec3.z)); } return(threadVector3List); }
void ThreadedDot(Vector3 a, Vector3 b) { result = ThreadVector3.Dot(new ThreadVector3(a), new ThreadVector3(b)); isThreadDone = true; }
public static float Distance(ThreadVector3 a, ThreadVector3 b) { return(ThreadVector3.Magnitude(a - b)); }
public static float Magnitude(ThreadVector3 a) { return(Mathf.Sqrt(a.x * a.x + a.y * a.y + a.z * a.z)); }
public static ThreadVector3 Normalize(ThreadVector3 a) { return(a / Mathf.Sqrt((Dot(a, a)))); }