Saga
Saga Game Engine
Loading...
Searching...
No Matches
ellipsoid.cpp File Reference
#include "ellipsoid.h"
#include "triangle.h"
#include <glm/geometric.hpp>
#include "Engine/Utils/math.h"
#include "Engine/_Core/asserts.h"
#include "Engine/_Core/logger.h"
#include "glm/gtx/string_cast.hpp"
Include dependency graph for ellipsoid.cpp:

Namespaces

namespace  Saga
 
namespace  Saga::Geometry
 

Functions

std::optional< float > Saga::Geometry::unitSphereEdgeCollision (const glm::vec3 &pos, const glm::vec3 &dir, const glm::vec3 &c, const glm::vec3 &d)
 Find collision between a moving unit sphere and an edge (line segment) in 3D.
 
std::optional< float > Saga::Geometry::rayUnitSphereAtOriginIntersection (const glm::vec3 &origin, const glm::vec3 &rayDirection)
 Find the intersection time t between a unit sphere at the origin and a ray.
 
std::optional< float > Saga::Geometry::rayEllipsoidIntersection (const glm::vec3 &rayOrigin, const glm::vec3 &rayDirection, const glm::vec3 &position, const glm::vec3 &radius)
 Find the intersection time t between a ray and an axis-aligned ellipsoid.
 
std::optional< float > Saga::Geometry::unitSphereTriangleCollision (const glm::vec3 &pos, const glm::vec3 &dir, const glm::vec3 &a, const glm::vec3 &b, const glm::vec3 &c)
 Find the intersection time t between a moving unit sphere with a triangle.
 
std::optional< float > Saga::Geometry::movingEllipsoidEllipsoidIntersection (const glm::vec3 &ellipsoidPos0, const glm::vec3 &ellipsoidDir0, const glm::vec3 &ellipsoidRadius0, const glm::vec3 &ellipsoidPos1, const glm::vec3 &ellipsoidRadius1)
 Find the intersection between two moving axis-aligned ellipsoids.
 
std::optional< float > Saga::Geometry::ellipsoidTriangleCollision (const glm::vec3 &ellipsoidPos, const glm::vec3 &ellipsoidDir, const glm::vec3 &ellipsoidRadius, const glm::vec3 &a, const glm::vec3 &b, const glm::vec3 &c)
 Find the intersection time t between a moving ellipsoid and a triangle.