ComputerGraphik TU WIEN
|
The base class of the objects which are rendered. More...
#include <sceneObject.hpp>
Public Types | |
typedef std::vector< std::pair< double, glm::mat4 > > | Animation |
Public Member Functions | |
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 () |
Model * | getModel () const |
Shader * | getShader () const |
glm::mat4 | getModelMatrix () const |
glm::mat4 | getGlobalModelMatrix () const |
std::string | getName () const |
std::shared_ptr< SceneObject > | getParent () 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) |
SceneObject * | getEffect (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) |
Protected Attributes | |
GLuint | vao |
Scene * | scene |
Model * | model |
Shader * | shader |
glm::mat4 | modelMatrix |
std::string | name |
std::weak_ptr< SceneObject > | parent |
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 |
The base class of the objects which are rendered.
typedef std::vector<std::pair<double, glm::mat4> > SceneObject::Animation |
SceneObject::SceneObject | ( | std::shared_ptr< SceneObject > & | effectParent, |
const glm::mat4 & | modelMatrix = glm::mat4(1) |
||
) |
SceneObject::SceneObject | ( | const std::string & | name, |
Scene * | scene = 0 , |
||
Model * | model = 0 , |
||
const glm::mat4 & | modelMatrix = glm::mat4(1) |
||
) |
|
virtual |
bool SceneObject::addChild | ( | std::shared_ptr< SceneObject > & | child | ) |
bool SceneObject::addEffect | ( | const std::string & | name, |
std::unique_ptr< SceneObject > & | effect | ||
) |
|
virtual |
Reimplemented in Camera, ParticleSystemGPU, ParticleSystemCPU, Tank, Tessellation, and Tank::Gun.
bool SceneObject::delChild | ( | size_t | idx | ) |
|
inline |
|
virtual |
Reimplemented in Sun::EffectObjectSVPass, Sun::EffectObjectCubeInstanced, SunVolumetric::EffectObjectVolumetricPost, Camera, ParticleSystemGPU, ParticleSystemCPU, LightCamera::EffectObjectLightCamShadow, Tessellation, ShadowMap, Sun, Sun::EffectObjectCube, CubeMapObject::EffectObject, ShadowMap::EffectObject, SunVolumetric::EffectObjectVolumetric, CubeMapObject, SelectorBase, SelectorBase::EffectObject, SunVolumetric, LightCamera, and Selector.
bool SceneObject::getChild | ( | size_t | idx, |
std::shared_ptr< SceneObject > & | child | ||
) | const |
SceneObject * SceneObject::getEffect | ( | const std::string & | name | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool SceneObject::remEffect | ( | const std::string & | name | ) |
|
virtual |
Reimplemented in Tank, ShadowMap, Sun, SunVolumetric, CubeMapObject, SelectorBase, LightCamera, and Selector.
bool SceneObject::setAnimation | ( | const Animation & | anim | ) |
void SceneObject::setAnimationTime | ( | double | time | ) |
|
virtual |
Reimplemented in Sun::EffectObjectSVPass, Legend, Sun::EffectObjectCubeInstanced, SunVolumetric::EffectObjectVolumetricPost, CubeMapObject::EffectObject, MouseSemantics, LegendBackground, Sun::EffectObjectCube, BubbleCursor, Camera, ParticleSystemGPU, SunVolumetric::EffectObjectVolumetric, ParticleSystemCPU, Tessellation, SelectorBase::EffectObject, ShadowMap::EffectObject, ShadowMap, Sun, and LightCamera.
|
virtual |
Reimplemented in Legend, SelectorQuadTree, GameLogic, MouseSemantics, BubbleCursor, Camera, ParticleSystemGPU, ParticleSystemCPU, Tank, Tessellation, Tank::Turret, ShadowMap, Sun, GameLogic::Bullet, Tank::Gun, SelectorBase, LightCamera, and Selector.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |