Gem Illuminator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
lightraydata.h
Go to the documentation of this file.
1 #ifndef LIGHTRAYDATA_H
2 #define LIGHTRAYDATA_H
3 
4 #include <QObject>
5 
6 class QVector3D;
7 class LightRay;
14 {
15 public:
16  LightRayData();
17  LightRayData(const LightRay &lightRay);
18  LightRayData(const LightRayData &lightRay);
19  ~LightRayData();
20 
25  QVector3D normalizedOrthogonalVector() const;
26 
27  const QVector3D &color() const;
28  void setColor(const QVector3D &color);
29 
30  const QVector3D &startPosition() const;
31  void setStartPosition(const QVector3D &position);
32  const QVector3D &endPosition() const;
33  void setEndPosition(const QVector3D &position);
34  const QVector3D &direction() const;
35  const QVector3D &normalizedDirection() const;
36 
37  LightRayData & operator=(const LightRayData &lightRay);
38 protected:
39  QVector3D *m_color;
40  QVector3D *m_direction;
42  QVector3D *m_endPosition;
43  QVector3D *m_startPosition;
44 };
45 
46 bool operator==(const LightRayData &ray1, const LightRayData &ray2);
47 uint qHash(const LightRayData &key, uint seed);
48 
49 #endif // LIGHTRAYDATA_H
const QVector3D & direction() const
Definition: lightraydata.cpp:105
QVector3D normalizedOrthogonalVector() const
Calculates a normalized vector, that is orthogonal to direction().
Definition: lightraydata.cpp:44
void setColor(const QVector3D &color)
Definition: lightraydata.cpp:70
The LightRay class describes the lightrays sent into Scene. Because LightRays are sent into Scene ri...
Definition: lightray.h:24
QVector3D * m_startPosition
Definition: lightraydata.h:43
LightRayData & operator=(const LightRayData &lightRay)
Definition: lightraydata.cpp:115
QVector3D * m_directionNormalized
Definition: lightraydata.h:41
bool operator==(const LightRayData &ray1, const LightRayData &ray2)
Definition: lightraydata.cpp:127
const QVector3D & startPosition() const
Definition: lightraydata.cpp:75
void setEndPosition(const QVector3D &position)
Definition: lightraydata.cpp:95
uint qHash(const LightRayData &key, uint seed)
Definition: lightraydata.cpp:136
~LightRayData()
Definition: lightraydata.cpp:35
const QVector3D & color() const
Definition: lightraydata.cpp:65
QVector3D * m_endPosition
Definition: lightraydata.h:42
const QVector3D & normalizedDirection() const
Definition: lightraydata.cpp:110
The LightRayData class stores data of a LightRay. The LightRayData doesn't inherit from QObject...
Definition: lightraydata.h:13
LightRayData()
Definition: lightraydata.cpp:8
void setStartPosition(const QVector3D &position)
Definition: lightraydata.cpp:80
QVector3D * m_color
Definition: lightraydata.h:39
QVector3D * m_direction
Definition: lightraydata.h:40
const QVector3D & endPosition() const
Definition: lightraydata.cpp:90