calculates the squared length of a vector or quaternion * * Returns the squared length of the supplied vector or quaternion. * * @name vmath.length_sqr * @param v [type:vector3|vector4|quaternion] value of which to calculate the squared length * @return n [type:number] squared length * @examples * * ```lua * if vmath.length_sqr(vector1) < vmath.len
| 1861 | * ``` |
| 1862 | */ |
| 1863 | static int LengthSqr(lua_State* L) |
| 1864 | { |
| 1865 | void* argument = 0; |
| 1866 | const ScriptUserType type = CheckUserData(L, 1, &argument); |
| 1867 | if (type == SCRIPT_TYPE_VECTOR3) |
| 1868 | { |
| 1869 | Vector3* v = (Vector3*)argument; |
| 1870 | lua_pushnumber(L, dmVMath::LengthSqr(*v)); |
| 1871 | } |
| 1872 | else if (type == SCRIPT_TYPE_VECTOR4) |
| 1873 | { |
| 1874 | Vector4* v = (Vector4*)argument; |
| 1875 | lua_pushnumber(L, dmVMath::LengthSqr(*v)); |
| 1876 | } |
| 1877 | else if (type == SCRIPT_TYPE_QUAT) |
| 1878 | { |
| 1879 | Quat* value = (Quat*)argument; |
| 1880 | lua_pushnumber(L, dmVMath::LengthSqr(*value)); |
| 1881 | } |
| 1882 | else |
| 1883 | { |
| 1884 | return luaL_error(L, "%s.%s accepts (%s|%s|%s) as argument.", SCRIPT_LIB_NAME, "lengthSqr", SCRIPT_TYPE_NAME_VECTOR3, SCRIPT_TYPE_NAME_VECTOR4, SCRIPT_TYPE_NAME_QUAT); |
| 1885 | } |
| 1886 | return 1; |
| 1887 | } |
| 1888 | |
| 1889 | /*# calculates the length of a vector or quaternion |
| 1890 | * |