0.9.9 API documenation
Functions
GLM_GTX_intersect

Functions

template<typename genType >
GLM_FUNC_DECL bool intersectLineSphere (genType const &point0, genType const &point1, genType const &sphereCenter, typename genType::value_type sphereRadius, genType &intersectionPosition1, genType &intersectionNormal1, genType &intersectionPosition2=genType(), genType &intersectionNormal2=genType())
 
template<typename genType >
GLM_FUNC_DECL bool intersectLineTriangle (genType const &orig, genType const &dir, genType const &vert0, genType const &vert1, genType const &vert2, genType &position)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRayPlane (genType const &orig, genType const &dir, genType const &planeOrig, genType const &planeNormal, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, typename genType::value_type const sphereRadiusSquered, typename genType::value_type &intersectionDistance)
 
template<typename genType >
GLM_FUNC_DECL bool intersectRaySphere (genType const &rayStarting, genType const &rayNormalizedDirection, genType const &sphereCenter, const typename genType::value_type sphereRadius, genType &intersectionPosition, genType &intersectionNormal)
 
template<typename T , qualifier Q>
GLM_FUNC_DECL bool intersectRayTriangle (vec< 3, T, Q > const &orig, vec< 3, T, Q > const &dir, vec< 3, T, Q > const &v0, vec< 3, T, Q > const &v1, vec< 3, T, Q > const &v2, vec< 2, T, Q > &baryPosition, T &distance)
 

Detailed Description

Include <glm/gtx/intersect.hpp> to use the features of this extension.

Add intersection functions

Function Documentation

◆ intersectLineSphere()

GLM_FUNC_DECL bool glm::intersectLineSphere ( genType const &  point0,
genType const &  point1,
genType const &  sphereCenter,
typename genType::value_type  sphereRadius,
genType &  intersectionPosition1,
genType &  intersectionNormal1,
genType &  intersectionPosition2 = genType(),
genType &  intersectionNormal2 = genType() 
)

Compute the intersection of a line and a sphere.

From GLM_GTX_intersect extension

◆ intersectLineTriangle()

GLM_FUNC_DECL bool glm::intersectLineTriangle ( genType const &  orig,
genType const &  dir,
genType const &  vert0,
genType const &  vert1,
genType const &  vert2,
genType &  position 
)

Compute the intersection of a line and a triangle.

From GLM_GTX_intersect extension.

◆ intersectRayPlane()

GLM_FUNC_DECL bool glm::intersectRayPlane ( genType const &  orig,
genType const &  dir,
genType const &  planeOrig,
genType const &  planeNormal,
typename genType::value_type &  intersectionDistance 
)

Compute the intersection of a ray and a plane.

Ray direction and plane normal must be unit length. From GLM_GTX_intersect extension.

◆ intersectRaySphere() [1/2]

GLM_FUNC_DECL bool glm::intersectRaySphere ( genType const &  rayStarting,
genType const &  rayNormalizedDirection,
genType const &  sphereCenter,
typename genType::value_type const  sphereRadiusSquered,
typename genType::value_type &  intersectionDistance 
)

Compute the intersection distance of a ray and a sphere.

The ray direction vector is unit length. From GLM_GTX_intersect extension.

◆ intersectRaySphere() [2/2]

GLM_FUNC_DECL bool glm::intersectRaySphere ( genType const &  rayStarting,
genType const &  rayNormalizedDirection,
genType const &  sphereCenter,
const typename genType::value_type  sphereRadius,
genType &  intersectionPosition,
genType &  intersectionNormal 
)

Compute the intersection of a ray and a sphere.

From GLM_GTX_intersect extension.

◆ intersectRayTriangle()

GLM_FUNC_DECL bool glm::intersectRayTriangle ( vec< 3, T, Q > const &  orig,
vec< 3, T, Q > const &  dir,
vec< 3, T, Q > const &  v0,
vec< 3, T, Q > const &  v1,
vec< 3, T, Q > const &  v2,
vec< 2, T, Q > &  baryPosition,
T &  distance 
)

Compute the intersection of a ray and a triangle.

Based om Tomas Möller implementation http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/raytri/ From GLM_GTX_intersect extension.