1 /*************************************************************************** 2 * 3 * Copyright 2010,2011 BMW Car IT GmbH 4 * Copyright (C) 2018 Advanced Driver Information Technology Joint Venture GmbH 5 * 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 * 19 ****************************************************************************/ 20 #ifndef _MOCKNAVI_H 21 #define _MOCKNAVI_H 22 23 #include "OpenGLES2App.h" 24 #include "IRenderable.h" 25 #include "IUpdateable.h" 26 #include "Camera.h" 27 #include "ShaderLighting.h" 28 #include "ShaderTexture.h" 29 #include "ShaderGradient.h" 30 31 #include <list> 32 using std::list; 33 34 class MockNaviHouse; 35 36 class MockNavi : public OpenGLES2App 37 { 38 public: 39 MockNavi(float fps, float animationSpeed, SurfaceConfiguration* config); 40 ~MockNavi(); 41 42 virtual void update(int currentTimeInMs, int lastFrameTime); 43 virtual void render(); 44 45 private: 46 void generateCity(); 47 48 private: 49 Camera m_camera; 50 int m_houseCount; 51 list<IRenderable*> m_renderList; 52 list<IUpdateable*> m_updateList; 53 ShaderLighting* pShader = nullptr; 54 ShaderTexture* pShaderTexture = nullptr; 55 ShaderGradient* pShaderGradient = nullptr; 56 bool nosky; 57 }; 58 59 #endif /* _MOCKNAVI_H */ 60