GetOrthogonalVector3 function
Vector3
GetOrthogonalVector3(
- Vector3 dir
Implementation
VM.Vector3 GetOrthogonalVector3(VM.Vector3 dir) {
if (dir.x != 0.0) {
if (dir.y != 0.0) return VM.Vector3(-dir.y, dir.x, 0.0);
if (dir.z != 0.0) return VM.Vector3(-dir.z, 0.0, dir.x);
return VM.Vector3(0.0, 1.0, 1.0);
} else {
if (dir.y == 0.0) return VM.Vector3(1.0, 1.0, 0.0);
if (dir.z == 0.0) return VM.Vector3(1.0, 0.0, 1.0);
return VM.Vector3(0.0, -dir.z, dir.y);
}
}