9 template <
typename T>
class QList;
10 class QOpenGLFunctions;
11 class QOpenGLShaderProgram;
36 explicit LightRay(QObject *parent = 0);
43 virtual void update(
int timeDifference);
72 const QVector3D &
color()
const;
73 void setColor(
const QVector3D &color);
LightRay * selectedSuccessor()
Returns the ray the player should move on after reaching end of current ray. In case no successors ex...
Definition: lightray.cpp:182
The LightRay class describes the lightrays sent into Scene. Because LightRays are sent into Scene ri...
Definition: lightray.h:24
const QVector3D & direction() const
void calculateSuccessors()
Definition: lightray.cpp:203
virtual void update(int timeDifference)
Updates our game. The player will be moved.
Definition: lightray.cpp:34
const QVector3D & normalizedDirection() const
void setColor(const QVector3D &color)
Definition: lightray.cpp:136
LightRayData * m_data
Definition: lightray.h:102
const QVector3D & startPosition() const
virtual ~LightRay()
Definition: lightray.cpp:23
bool isPlayerBeforeCollisionPoint()
Definition: lightray.cpp:223
const QList< LightRay * > & successors()
Definition: lightray.cpp:198
LightRay * m_selectedSuccessor
Definition: lightray.h:104
AbstractGem * collidingGem() const
Definition: lightray.cpp:121
LightRay(QObject *parent=0)
Definition: lightray.cpp:11
The Scene class provides access to geometry and collision detection methods. Furthermore, some game logic is implemented, so the scene holds the player, the gem influenced by player and cameras.
Definition: scene.h:22
void setSelectedSuccessor(LightRay *successor)
Definition: lightray.cpp:193
Player * m_player
Definition: lightray.h:106
Scene * m_scene
Definition: lightray.h:107
QList< LightRay * > * m_successors
Definition: lightray.h:103
void setEndPosition(const QVector3D &position)
Definition: lightray.cpp:102
void setPlayer(Player *attachedPlayer)
Definition: lightray.cpp:150
void startPositionChanged()
void endPositionChanged()
const QVector3D & endPosition() const
QVector3D normalizedOrthogonalVector() const
Calculates a normalized vector that is orthogonal to direction().
Definition: lightray.cpp:78
AbstractGem * m_collidingGem
Definition: lightray.h:101
QVector3D calculateColor()
calculateSuccessorColor calculates the successor color based on its normalized direction The color va...
Definition: lightray.cpp:215
const QVector3D & color() const
void setStatic()
Definition: lightray.cpp:177
The LightRayData class stores data of a LightRay. The LightRayData doesn't inherit from QObject...
Definition: lightraydata.h:13
void setCollidingGem(AbstractGem *gem)
Definition: lightray.cpp:126
void setScene(Scene *owningScene)
Definition: lightray.cpp:162
The Player class' only responsibilities are riding on lightrays and updating the camera.
Definition: player.h:14
bool m_isStatic
Definition: lightray.h:105
void setStartPosition(const QVector3D &position)
Definition: lightray.cpp:88
The AbstractGem class is the base class of all gems. As base class all required information of a gem...
Definition: abstractgem.h:39
bool isStatic() const
Definition: lightray.cpp:172