ComputerGraphik TU WIEN
|
Base class for selectors. More...
#include <selectorBase.hpp>
Classes | |
class | EffectObject |
Public Member Functions | |
SelectorBase (const std::string &name, Scene *scene) | |
~SelectorBase () | |
void | reset () |
set up EffectObject More... | |
void | draw () const |
draw selectable object ids into a texture More... | |
void | update (double deltaT) |
empty function More... | |
virtual void | changeMode ()=0 |
debug, change mode More... | |
virtual void | pickObject (const glm::ivec2 &mouse)=0 |
select closest object to mouse More... | |
int | getBufferWidth () const |
int | getBufferHeight () const |
size_t | getLastSelected () const |
size_t | getLastDistance () const |
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 () |
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 bool | animate (double time) |
virtual void | setShader (Shader *val) |
Protected Attributes | |
int | width |
width of screen More... | |
int | height |
height of screen More... | |
GLuint | idBuffer |
frame buffer More... | |
GLuint | idTexture |
texture of rendered object indices More... | |
size_t | lastDistance |
distance after pickObject() call More... | |
size_t | lastSelected |
selected object id after pickObject() call More... | |
Protected Attributes inherited from SceneObject | |
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 |
Additional Inherited Members | |
Public Types inherited from SceneObject | |
typedef std::vector< std::pair< double, glm::mat4 > > | Animation |
Base class for selectors.
Responsible for pick buffer drawing and interface.
SelectorBase::~SelectorBase | ( | ) |
|
pure virtual |
debug, change mode
Implemented in SelectorQuadTree, SelectorGPU, and SelectorSimple.
|
virtual |
draw selectable object ids into a texture
Reimplemented from SceneObject.
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
select closest object to mouse
Implemented in SelectorQuadTree, SelectorGPU, and SelectorSimple.
|
virtual |
|
virtual |
|
protected |
height of screen
|
protected |
frame buffer
|
protected |
texture of rendered object indices
|
protected |
distance after pickObject() call
|
protected |
selected object id after pickObject() call
|
protected |
width of screen