Encapsulates the origin and direction points of a ray.
This class can be used to describe a pick ray. When a CYIActionEvent occurs the CYISceneManager method CreatePickRay will populate this class with the vectors describing the action based on the location of the camera and view port.
Resulting collisions vectors are intersection between the ray and another element. The CYIRay is used with CYIAABB (Axis Aligned Bounding Box) but not limited to that scenario.
- See also
- http://www.cs.utah.edu/~awilliam/box/box.pdf
The collision detection function should be ready to handle one ore more of m_unit components sets to 0.0. This would result in having a component of m_oneOverUnit set to +/- INF.
- See also
- http://steve.hollasch.net/cgindex/coding/ieeefloat.html
-
http://standards.ieee.org/findstds/standard/754-2008.html
#include <event/YiRay.h>
◆ CYIRay() [1/2]
◆ CYIRay() [2/2]
CYIRay::CYIRay |
( |
const glm::vec3 & |
rStart, |
|
|
const glm::vec3 & |
rEnd |
|
) |
| |
◆ Create()
void CYIRay::Create |
( |
const glm::vec3 & |
start, |
|
|
const glm::vec3 & |
end |
|
) |
| |
Creates a ray pointing from start to end.
◆ GetOneOverUnit()
const glm::vec3 & CYIRay::GetOneOverUnit |
( |
| ) |
const |
|
inline |
Returns the local space collision vector which is (1.0 / unit vector). It is used for the intersection function optimisation.
◆ GetOrigin()
const glm::vec3 & CYIRay::GetOrigin |
( |
| ) |
const |
|
inline |
Returns the origin vector.
◆ GetUnit()
const glm::vec3 & CYIRay::GetUnit |
( |
| ) |
const |
|
inline |
◆ Transform()
CYIRay CYIRay::Transform |
( |
const glm::mat4 & |
matrix | ) |
const |
Returns a transformed copy of this ray.
The documentation for this class was generated from the following file: