ComputerGraphik TU WIEN
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GameLogic::Terrain Class Reference

Implements terrain height query. More...

#include <gameLogic.hpp>

Inheritance diagram for GameLogic::Terrain:
SceneObject

Public Member Functions

 Terrain (size_t dimX, size_t dimY, float cellSize, const std::vector< float > &heights, const std::string &name, Scene *scene=0, Model *model=0, Shader *shader=0)
 
virtual ~Terrain ()
 
float getHeight (float x, float y)
 
- Public Member Functions inherited from SceneObject
 SceneObject (std::shared_ptr< SceneObject > &effectParent, const glm::mat4 &modelMatrix=glm::mat4(1))
 
 SceneObject (const std::string &name, Scene *scene=0, Model *model=0, const glm::mat4 &modelMatrix=glm::mat4(1))
 
virtual ~SceneObject ()
 
ModelgetModel () const
 
ShadergetShader () const
 
glm::mat4 getModelMatrix () const
 
glm::mat4 getGlobalModelMatrix () const
 
std::string getName () const
 
std::shared_ptr< SceneObjectgetParent () const
 
void setAnimationTime (double time)
 
bool setAnimation (const Animation &anim)
 
bool delChild (size_t idx)
 
bool getChild (size_t idx, std::shared_ptr< SceneObject > &child) const
 
bool addChild (std::shared_ptr< SceneObject > &child)
 
bool remEffect (const std::string &name)
 
SceneObjectgetEffect (const std::string &name) const
 
bool addEffect (const std::string &name, std::unique_ptr< SceneObject > &effect)
 
bool doNotRender ()
 
bool getIsVolSun ()
 
virtual void reset ()
 
virtual void draw () const
 
virtual bool animate (double time)
 
virtual void update (double deltaT)
 
virtual void setShader (Shader *val)
 

Private Member Functions

float lerp (float a, float b, float t)
 

Private Attributes

size_t dimX
 
size_t dimY
 
float cellSize
 
std::vector< float > heights
 

Additional Inherited Members

- Public Types inherited from SceneObject
typedef std::vector< std::pair< double, glm::mat4 > > Animation
 
- Protected Attributes inherited from SceneObject
GLuint vao
 
Scenescene
 
Modelmodel
 
Shadershader
 
glm::mat4 modelMatrix
 
std::string name
 
std::weak_ptr< SceneObjectparent
 
std::vector< std::shared_ptr< SceneObject > > childs
 
std::map< std::string, std::unique_ptr< SceneObject > > effectChilds
 
size_t animIDX
 
Animation animation
 
bool norender
 
bool isVolSun
 

Detailed Description

Implements terrain height query.

Constructor & Destructor Documentation

GameLogic::Terrain::Terrain ( size_t  dimX,
size_t  dimY,
float  cellSize,
const std::vector< float > &  heights,
const std::string &  name,
Scene scene = 0,
Model model = 0,
Shader shader = 0 
)
virtual GameLogic::Terrain::~Terrain ( )
inlinevirtual

Member Function Documentation

float GameLogic::Terrain::getHeight ( float  x,
float  y 
)
float GameLogic::Terrain::lerp ( float  a,
float  b,
float  t 
)
private

Member Data Documentation

float GameLogic::Terrain::cellSize
private
size_t GameLogic::Terrain::dimX
private
size_t GameLogic::Terrain::dimY
private
std::vector<float> GameLogic::Terrain::heights
private

The documentation for this class was generated from the following files: