ViewDesignEngine  3.1.0
高性能 CAD 计算几何引擎
ray_intersect.h 文件参考

射线求交工具集 更多...

#include "vde/core/point.h"
#include "vde/core/line.h"
#include "vde/core/triangle.h"
#include "vde/core/aabb.h"
#include <optional>
#include <vector>
ray_intersect.h 的引用(Include)关系图:

浏览源代码.

struct  vde::collision::RayTriResult
 射线-三角形求交结果 更多...
 
struct  vde::collision::RaySphereResult
 射线-球体求交结果 更多...
 

命名空间

 vde
 
 vde::collision
 

函数

std::optional< RayTriResult > vde::collision::ray_triangle_intersect (const Point3D &origin, const Vector3D &dir, const Triangle3D &tri)
 射线-三角形求交(Möller-Trumbore 算法) 更多...
 
std::optional< RayTriResult > vde::collision::ray_triangle_intersect (const Ray3Dd &ray, const Triangle3D &tri)
 射线-三角形求交(Ray3Dd 重载) 更多...
 
bool vde::collision::ray_aabb_intersect (const Ray3Dd &ray, const AABB3D &box, double &tmin_out, double &tmax_out)
 射线-AABB 求交(slab 方法) 更多...
 
std::optional< RaySphereResult > vde::collision::ray_sphere_intersect (const Point3D &origin, const Vector3D &dir, const Point3D &center, double radius)
 射线-球体求交(解析法) 更多...
 
std::optional< RaySphereResult > vde::collision::ray_sphere_intersect (const Ray3Dd &ray, const Point3D &center, double radius)
 射线-球体求交(Ray3Dd 重载) 更多...
 
std::optional< double > vde::collision::ray_plane_intersect (const Point3D &origin, const Vector3D &dir, const Point3D &plane_point, const Vector3D &plane_normal)
 射线-平面求交 更多...
 
std::optional< double > vde::collision::ray_plane_intersect (const Ray3Dd &ray, const Point3D &plane_point, const Vector3D &plane_normal)
 射线-平面求交(Ray3Dd 重载) 更多...
 
std::optional< RayTriResult > vde::collision::ray_mesh_intersect (const Point3D &origin, const Vector3D &dir, const std::vector< Triangle3D > &triangles)
 射线-网格求交(暴力遍历) 更多...
 
std::optional< RayTriResult > vde::collision::ray_mesh_intersect (const Ray3Dd &ray, const std::vector< Triangle3D > &triangles)
 射线-网格求交(Ray3Dd 重载) 更多...
 

详细描述

射线求交工具集

射线与基本几何图元(三角形、AABB、球体、平面、网格)的求交函数。 包含 Möller-Trumbore 算法、slab 方法、解析求交等。

在文件 ray_intersect.h 中定义.