summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/common/bounds.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/examples/common/bounds.h')
-rw-r--r--3rdparty/bgfx/examples/common/bounds.h161
1 files changed, 0 insertions, 161 deletions
diff --git a/3rdparty/bgfx/examples/common/bounds.h b/3rdparty/bgfx/examples/common/bounds.h
deleted file mode 100644
index aea395df780..00000000000
--- a/3rdparty/bgfx/examples/common/bounds.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright 2011-2018 Branimir Karadzic. All rights reserved.
- * License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
- */
-
-#ifndef BOUNDS_H_HEADER_GUARD
-#define BOUNDS_H_HEADER_GUARD
-
-#include <bx/math.h>
-
-struct Aabb
-{
- bx::Vec3 m_min;
- bx::Vec3 m_max;
-};
-
-struct Cylinder
-{
- bx::Vec3 m_pos;
- bx::Vec3 m_end;
- float m_radius;
-};
-
-struct Capsule
-{
- bx::Vec3 m_pos;
- bx::Vec3 m_end;
- float m_radius;
-};
-
-struct Cone
-{
- bx::Vec3 m_pos;
- bx::Vec3 m_end;
- float m_radius;
-};
-
-struct Disk
-{
- bx::Vec3 m_center;
- bx::Vec3 m_normal;
- float m_radius;
-};
-
-struct Obb
-{
- float m_mtx[16];
-};
-
-struct Plane
-{
- bx::Vec3 m_normal;
- float m_dist;
-};
-
-struct Ray
-{
- bx::Vec3 m_pos;
- bx::Vec3 m_dir;
-};
-
-struct Sphere
-{
- bx::Vec3 m_center;
- float m_radius;
-};
-
-struct Tris
-{
- bx::Vec3 m_v0;
- bx::Vec3 m_v1;
- bx::Vec3 m_v2;
-};
-
-struct Hit
-{
- bx::Vec3 m_pos;
- bx::Vec3 m_normal;
- float m_dist;
-};
-
-/// Convert axis aligned bounding box to oriented bounding box.
-void aabbToObb(Obb& _obb, const Aabb& _aabb);
-
-/// Convert oriented bounding box to axis aligned bounding box.
-void toAabb(Aabb& _aabb, const Obb& _obb);
-
-/// Convert sphere to axis aligned bounding box.
-void toAabb(Aabb& _aabb, const Sphere& _sphere);
-
-/// Convert disk to axis aligned bounding box.
-void toAabb(Aabb& _aabb, const Disk& _disk);
-
-/// Convert cylinder to axis aligned bounding box.
-void toAabb(Aabb& _aabb, const Cylinder& _cylinder);
-
-/// Calculate axis aligned bounding box.
-void toAabb(Aabb& _aabb, const void* _vertices, uint32_t _numVertices, uint32_t _stride);
-
-/// Transform vertices and calculate axis aligned bounding box.
-void toAabb(Aabb& _aabb, const float* _mtx, const void* _vertices, uint32_t _numVertices, uint32_t _stride);
-
-/// Expand AABB.
-void aabbExpand(Aabb& _aabb, float _factor);
-
-/// Expand AABB with xyz.
-void aabbExpand(Aabb& _aabb, const float* _pos);
-
-/// Calculate surface area of axis aligned bounding box.
-float calcAreaAabb(const Aabb& _aabb);
-
-/// Returns 0 is two AABB don't overlap, otherwise returns flags of overlap
-/// test.
-uint32_t aabbOverlapTest(const Aabb& _aabb0, const Aabb& _aabb1);
-
-/// Calculate oriented bounding box.
-void calcObb(Obb& _obb, const void* _vertices, uint32_t _numVertices, uint32_t _stride, uint32_t _steps = 17);
-
-/// Calculate maximum bounding sphere.
-void calcMaxBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride);
-
-/// Calculate minimum bounding sphere.
-void calcMinBoundingSphere(Sphere& _sphere, const void* _vertices, uint32_t _numVertices, uint32_t _stride, float _step = 0.01f);
-
-/// Returns 6 (near, far, left, right, top, bottom) planes representing frustum planes.
-void buildFrustumPlanes(Plane* _planes, const float* _viewProj);
-
-/// Returns point from 3 intersecting planes.
-bx::Vec3 intersectPlanes(const Plane& _pa, const Plane& _pb, const Plane& _pc);
-
-/// Make screen space ray from x, y coordinate and inverse view-projection matrix.
-Ray makeRay(float _x, float _y, const float* _invVp);
-
-/// Intersect ray / AABB.
-bool intersect(const Ray& _ray, const Aabb& _aabb, Hit* _hit = NULL);
-
-/// Intersect ray / OBB.
-bool intersect(const Ray& _ray, const Obb& _obb, Hit* _hit = NULL);
-
-/// Intersect ray / cylinder.
-bool intersect(const Ray& _ray, const Cylinder& _cylinder, Hit* _hit = NULL);
-
-/// Intersect ray / capsule.
-bool intersect(const Ray& _ray, const Capsule& _capsule, Hit* _hit = NULL);
-
-/// Intersect ray / cone.
-bool intersect(const Ray& _ray, const Cone& _cone, Hit* _hit = NULL);
-
-/// Intersect ray / disk.
-bool intersect(const Ray& _ray, const Disk& _disk, Hit* _hit = NULL);
-
-/// Intersect ray / plane.
-bool intersect(const Ray& _ray, const Plane& _plane, Hit* _hit = NULL);
-
-/// Intersect ray / sphere.
-bool intersect(const Ray& _ray, const Sphere& _sphere, Hit* _hit = NULL);
-
-/// Intersect ray / triangle.
-bool intersect(const Ray& _ray, const Tris& _triangle, Hit* _hit = NULL);
-
-#endif // BOUNDS_H_HEADER_GUARD