• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

excessive / cpml / 13079282556

07 May 2022 10:53PM UTC coverage: 57.717% (+43.7%) from 14.013%
13079282556

push

github

shakesoda
fix typo in mat4.mul

0 of 1 new or added line in 1 file covered. (0.0%)

527 existing lines in 19 files now uncovered.

4581 of 7937 relevant lines covered (57.72%)

52.86 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

45.0
/modules/mesh.lua
1
--- Mesh utilities
2
-- @module mesh
3

4
local modules = (...):gsub('%.[^%.]+$', '') .. "."
1✔
5
local vec3    = require(modules .. "vec3")
1✔
6
local mesh    = {}
1✔
7

8
-- vertices is an arbitrary list of vec3s
9
function mesh.average(vertices)
1✔
10
        local out = vec3()
×
11
        for _, v in ipairs(vertices) do
×
UNCOV
12
                out = out + v
×
13
        end
UNCOV
14
        return out / #vertices
×
15
end
16

17
-- triangle[1] is a vec3
18
-- triangle[2] is a vec3
19
-- triangle[3] is a vec3
20
function mesh.normal(triangle)
1✔
21
        local ba = triangle[2] - triangle[1]
×
22
        local ca = triangle[3] - triangle[1]
×
UNCOV
23
        return ba:cross(ca):normalize()
×
24
end
25

26
-- triangle[1] is a vec3
27
-- triangle[2] is a vec3
28
-- triangle[3] is a vec3
29
function mesh.plane_from_triangle(triangle)
1✔
UNCOV
30
        return {
×
31
                origin = triangle[1],
UNCOV
32
                normal = mesh.normal(triangle)
×
33
        }
34
end
35

36
-- plane.origin is a vec3
37
-- plane.normal is a vec3
38
-- direction    is a vec3
39
function mesh.is_front_facing(plane, direction)
1✔
UNCOV
40
        return plane.normal:dot(direction) >= 0
×
41
end
42

43
-- point        is a vec3
44
-- plane.origin is a vec3
45
-- plane.normal is a vec3
46
-- plane.dot    is a number
47
function mesh.signed_distance(point, plane)
1✔
UNCOV
48
        return point:dot(plane.normal) - plane.normal:dot(plane.origin)
×
49
end
50

51
return mesh
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc