Files
enduro2d/samples/bin/library/scripts/emmy/math/aabb.lua

84 lines
1.6 KiB
Lua

---@class aabb
local aabb = {
---@type v3f
position = v3f.zero(),
---@type v3f
size = v3f.zero()
}
---@overload fun(): aabb
---@overload fun(r: aabb): aabb
---@overload fun(w: number, h: number): aabb
---@overload fun(x: number, y: number, w: number, h: number): aabb
---@overload fun(s: v3f): aabb
---@overload fun(p: v3f, s: v3f): aabb
---@return aabb
function aabb.new() end
---@return aabb
function aabb.zero() end
---@return aabb
function aabb.unit() end
---@overload fun(r: aabb): aabb
---@overload fun(x1: number, y1: number, x2: number, y2: number): aabb
---@overload fun(p1: v3f, p2: v3f): aabb
---@param r aabb
---@return aabb
function aabb.make_minmax(r) end
---@param l aabb
---@param r aabb
---@return boolean
function aabb.approximately(l, r) end
---@param r aabb
---@return v3f
function aabb.minimum(r) end
---@param r aabb
---@return v3f
function aabb.maximum(r) end
---@param r aabb
---@return number
function aabb.volume(r) end
---@param r aabb
---@return number
function aabb.abs_volume(r) end
---@param l aabb
---@param r aabb
---@return aabb
function aabb.merged(l, r) end
---@param r aabb
---@param p v3f
---@return boolean
function aabb.inside(r, p) end
---@param l aabb
---@param r aabb
---@return boolean
function aabb.overlaps(l, r) end
---@param r aabb
---@param p v3f
---@return v3f
function aabb.normalized_to_point(r, p) end
---@param r aabb
---@param p v3f
---@return v3f
function aabb.point_to_normalized(r, p) end
---@param r aabb
---@return boolean
function aabb.contains_nan(r) end
---@type aabb
_G.aabb = _G.aabb or aabb