Gem Illuminator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
scenebounds.h
Go to the documentation of this file.
1 #ifndef SCENEBOUNDS_H
2 #define SCENEBOUNDS_H
3 
4 #include "abstractgem.h"
5 
6 class QMatrix4x4;
7 class QQuaternion;
8 
9 class LightRay;
10 class Scene;
11 
17 class SceneBounds : public AbstractGem
18 {
19  Q_OBJECT
20 public:
25  explicit SceneBounds(QObject *parent = 0);
26  virtual ~SceneBounds();
27 
28 
33  void setPosition(const QVector3D &position) override;
38  void setRotation(const QQuaternion &rotation) override;
39 
46  QList<LightRay *> processRayIntersection(const LightRay &ray, Scene *scene) override;
47 };
48 
49 #endif // SCENEBOUNDS_H
The LightRay class describes the lightrays sent into Scene. Because LightRays are sent into Scene ri...
Definition: lightray.h:24
SceneBounds(QObject *parent=0)
Creates new SceneBounds. The extent of bounds is taken from config file.
Definition: scenebounds.cpp:17
void setRotation(const QQuaternion &rotation) override
setRotation Override AbstractGem::setRotation() in order to forbid rotating the bounds.
Definition: scenebounds.cpp:90
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
const QQuaternion & rotation() const
Rotation around own center.
void setPosition(const QVector3D &position) override
Override AbstractGem::setPosition() in order to forbid moving the bounds around.
Definition: scenebounds.cpp:86
QList< LightRay * > processRayIntersection(const LightRay &ray, Scene *scene) override
Override AbstractGem::processRayIntersection() in order to ensure the player loses hitting the bounds...
Definition: scenebounds.cpp:94
The SceneBounds class is a special kind of gem describing the bounds of scene. The shape of the bound...
Definition: scenebounds.h:17
virtual ~SceneBounds()
Definition: scenebounds.cpp:82
The AbstractGem class is the base class of all gems. As base class all required information of a gem...
Definition: abstractgem.h:39
const QVector3D & position() const