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

excessive / cpml / 6132588926

09 Sep 2023 06:38PM UTC coverage: 14.013% (-44.7%) from 58.701%
6132588926

push

github

FatalError42O
fixed Busted support (hopefully)

975 of 6958 relevant lines covered (14.01%)

10.82 hits per line

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

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

4
local vec3    = require(modules .. "vec3")
3✔
5
local mesh    = {}
×
6

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

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

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

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

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

50
return mesh
×
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