You.i Engine
YiRay.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_RAY_H_
3 #define _YI_RAY_H_
4 
5 #include "framework/YiPredef.h"
6 
7 #include <glm/fwd.hpp>
8 #include <glm/vec3.hpp>
9 
33 class CYIRay
34 {
35 public:
36 
37  CYIRay();
38  CYIRay(const glm::vec3 &rStart, const glm::vec3 &rEnd);
39 
43  void Create(const glm::vec3 &start, const glm::vec3 &end);
44 
48  CYIRay Transform(const glm::mat4 &matrix) const;
49 
53  const glm::vec3 &GetOrigin() const;
54 
58  const glm::vec3 &GetUnit() const;
59 
63  const glm::vec3 &GetOneOverUnit() const;
64 
65 private:
66 
70  glm::vec3 m_vOrigin;
71 
75  glm::vec3 m_vUnit;
76 
80  glm::vec3 m_vOneOverUnit;
81 };
82 
85 inline const glm::vec3 &CYIRay::GetOrigin() const
86 {
87  return m_vOrigin;
88 }
89 
90 inline const glm::vec3 &CYIRay::GetUnit() const
91 {
92  return m_vUnit;
93 }
94 
95 inline const glm::vec3 &CYIRay::GetOneOverUnit() const
96 {
97  return m_vOneOverUnit;
98 }
99 
100 
101 #endif // _YI_RAY_H_
const glm::vec3 & GetUnit() const
Definition: YiRay.h:90
void Create(const glm::vec3 &start, const glm::vec3 &end)
const glm::vec3 & GetOrigin() const
Definition: YiRay.h:85
const glm::vec3 & GetOneOverUnit() const
Definition: YiRay.h:95
Encapsulates the origin and direction points of a ray.
Definition: YiRay.h:33
CYIRay Transform(const glm::mat4 &matrix) const