Updated GUI library
This commit is contained in:
@@ -37,9 +37,9 @@ struct Box
|
||||
inline bool is_inside(Box b, v3 p)
|
||||
{
|
||||
return
|
||||
(p.x < b.min.x || p.x > b.max.x) ||
|
||||
(p.y < b.min.y || p.y > b.max.y) ||
|
||||
(p.z < b.min.z || p.z > b.max.z);
|
||||
(p.x > b.min.x && p.x < b.max.x) &&
|
||||
(p.y > b.min.y && p.y < b.max.y) &&
|
||||
(p.z > b.min.z && p.z < b.max.z);
|
||||
}
|
||||
|
||||
inline bool overlaps(Box a, Box b)
|
||||
@@ -67,7 +67,7 @@ inline Box box_from_point_cloud(v3 *points, u32 count)
|
||||
Box box;
|
||||
box.min = points[0];
|
||||
box.max = points[0];
|
||||
for(u32 i = 0; i < count; i++)
|
||||
for(u32 i = 1; i < count; i++)
|
||||
{
|
||||
v3 p = points[i];
|
||||
box.min.x = minimum(box.min.x, p.x);
|
||||
@@ -302,6 +302,17 @@ inline m4 scale(f32 factor)
|
||||
}
|
||||
|
||||
|
||||
// Other geometric algebra
|
||||
inline void compute_basis(v3 a, v3 *b, v3 *c)
|
||||
{
|
||||
// from https://box2d.org/posts/2014/02/computing-a-basis/
|
||||
if(abs(a.x) >= 0.57735f)
|
||||
*b = {a.y, -a.x, 0.0f};
|
||||
else
|
||||
*b = {0.0f, a.z, -a.y};
|
||||
*b = normalize(*b);
|
||||
*c = cross(a, *b);
|
||||
}
|
||||
|
||||
|
||||
// Primitives
|
||||
|
||||
Reference in New Issue
Block a user