Gem Illuminator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123456]
 Norg
 Nqtproject
 Nqt5
 Nandroid
 Nbindings
 CQtActivity
 CAbstractGemBase class of all gems. As base class all required information of a gem are stored. Also, useful algorithms for collision detection are provided. Furthermore, this class is supposed to be used within QML
 CBlurEffectThe BlurEffect blurs a given texture
 CCameraView and perspective projection matrices. Additional the viewport of camera is stored. The view of camera has to be specified by eye, center and up or by position, viewdirection and up. It is allowed to mix both definitions, but it might lead to unexpected behaviour. The perspective projection is specified by field of view, viewport, and near and far plane
 CConfigEasy access to values read out of our config.json provided by ConfigView.qml. The config class is implemented as singleton, because these values are used in many various situations. This class works together ConfigView.qml
 CCubeGemCubeGems are gems with a shape like a cube. The only difference to AbstracGem is the fact, that a cube gem has a shape defined
 CCubeMapLoads cubemap textures and provides them as OpenGL-texture
 CEnvironmentMapThe EnvironmentMap is a CubeMap based rendering technique for showing some scene enviroment
 CFileIOPlatform independent file reading for resource files used. The file that should be read is specified by name and FileIO will load it from platform dependent location
 CGameLostRaySpecialized LightRay, that is created if the player should lose as soon as the player reaches it
 CGemDataStores all required information to describe an AbstractGem. The advantage of GemData is, that it is possible to assign, copy, compare and qHash() this class. Therefore, it is possible to store it in most Qt-containers
 CGemRendererRenders all of our gems. For performance reasons the GemRenderer packs all gems and fakes instanced drawing
 CHighscoreThe Highscore is only a semantic class to clarify that this fileIO is a Highscore
 CLightRayDescribes the lightrays sent into Scene. Because LightRays are sent into Scene right after creation, they are more lines but rays. Rays are organized as a tree, a ray owns all of its successors(). Most of the game logic is still done within LightRay::update()
 CLightRayDataStores data of a LightRay. The LightRayData doesn't inherit from QObject, so it can be stored in Qt-Containers (currently only those require == or qHash) by Value. Also the data can be copied easily
 CLightRayRendererThe LightRayRenderer packs LightRays and paints them
 CNavigationInterface for all navigation techniques. The navigation takes euler angles in coordinate system based on current view and translate them into quaternions describing the changes in our world
 CPainterThe Painter class Includes the rendering process, thus creating the whole picture. The Painter will be used by QML within rendering thread
 CPainterQMLResponsible for making our game visible within QML using Painter. This class is intended to be added and created within QML. As the element showing our game it recognizes resize events and update events needed by our application. Also it keeps our rendering alive. Furthermore, it is the interface between game logic and rendering
 CPlayerThe Player class' only responsibilities are riding on lightrays and updating the camera
 CQHash
 CQList
 CQSet
 Cqt_meta_stringdata_AbstractGeometry_t
 Cqt_meta_stringdata_AbstractGeometryRenderer_t
 Cqt_meta_stringdata_AbstractNavigation_t
 Cqt_meta_stringdata_LightRay_t
 Cqt_meta_stringdata_Player_t
 Cqt_meta_stringdata_Scene_t
 Cqt_meta_stringdata_SceneRenderer_t
 CQVector
 CSceneAccess 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
 CSceneBoundsSpecial kind of gem describing the bounds of scene. The shape of the bounds is a cube, with a given extent in each direction. The main reason that the bounds are also a gem is easier collision detection. If there are bounds around our scene every ray emitted into scene will hit something. Furthermore the collision with scene bounds can be processed in a way, that the player will lose if the player hits the bounds
 CSceneRendererThe SceneRenderer class Renders the scene: Packs the scene in the buffer and draws the scene in as few render calls as possible. The SceneRenderer uses specialized Renderer for diffrent types of geometry
 CScreenAlignedQuadEncapsulates the drawing of a screen aligned quad
 CSoundmanagerSeveral sounds which can be played. The Soundmanager is implemented as a singleton to manage the required resources
 CTetrahedronGemTetrahedronGems are gems with a shape like a tetrahedron. The only difference to AbstracGem is the fact, that a TetrahedronGem has a shape defined
 CTriangleTriangle in three dimensional space