1
0
mirror of https://github.com/moparisthebest/minetest synced 2024-11-17 23:05:07 -05:00

Remove vector assertions

These were initially added to get tracebacks for invalid vector errors, but it
didn't work and tracebacks have since been properly fixed in the core.
This commit is contained in:
ShadowNinja 2014-07-08 20:44:47 -04:00
parent f0db6c4423
commit 33ca115ae4

View File

@ -1,10 +1,6 @@
vector = {}
local function assert_vector(v)
assert(type(v) == "table" and v.x and v.y and v.z, "Invalid vector")
end
function vector.new(a, b, c)
if type(a) == "table" then
assert(a.x and a.y and a.z, "Invalid vector passed to vector.new()")
@ -17,20 +13,16 @@ function vector.new(a, b, c)
end
function vector.equals(a, b)
assert_vector(a)
assert_vector(b)
return a.x == b.x and
a.y == b.y and
a.z == b.z
end
function vector.length(v)
assert_vector(v)
return math.hypot(v.x, math.hypot(v.y, v.z))
end
function vector.normalize(v)
assert_vector(v)
local len = vector.length(v)
if len == 0 then
return {x=0, y=0, z=0}
@ -40,7 +32,6 @@ function vector.normalize(v)
end
function vector.round(v)
assert_vector(v)
return {
x = math.floor(v.x + 0.5),
y = math.floor(v.y + 0.5),
@ -49,8 +40,6 @@ function vector.round(v)
end
function vector.distance(a, b)
assert_vector(a)
assert_vector(b)
local x = a.x - b.x
local y = a.y - b.y
local z = a.z - b.z
@ -58,8 +47,6 @@ function vector.distance(a, b)
end
function vector.direction(pos1, pos2)
assert_vector(pos1)
assert_vector(pos2)
local x_raw = pos2.x - pos1.x
local y_raw = pos2.y - pos1.y
local z_raw = pos2.z - pos1.z
@ -89,9 +76,7 @@ end
function vector.add(a, b)
assert_vector(a)
if type(b) == "table" then
assert_vector(b)
return {x = a.x + b.x,
y = a.y + b.y,
z = a.z + b.z}
@ -103,9 +88,7 @@ function vector.add(a, b)
end
function vector.subtract(a, b)
assert_vector(a)
if type(b) == "table" then
assert_vector(b)
return {x = a.x - b.x,
y = a.y - b.y,
z = a.z - b.z}
@ -117,9 +100,7 @@ function vector.subtract(a, b)
end
function vector.multiply(a, b)
assert_vector(a)
if type(b) == "table" then
assert_vector(b)
return {x = a.x * b.x,
y = a.y * b.y,
z = a.z * b.z}
@ -131,9 +112,7 @@ function vector.multiply(a, b)
end
function vector.divide(a, b)
assert_vector(a)
if type(b) == "table" then
assert_vector(b)
return {x = a.x / b.x,
y = a.y / b.y,
z = a.z / b.z}