Number5
Visualisierung 2 Project - Florian Schober (0828151, f.schober@live.com), Andreas Walch (0926780, walch.andreas89@gmail.com)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ISceneObject.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include "Font.hpp"
4 
5 class Application;
6 
12 {
13  protected:
16  bool m_pickable;
18  public:
23  id_t const & getId() const { return m_id; }
28  id_t const getPickId() const { return m_pickable ? m_id : (id_t)0; }
29 
30  public:
37  ISceneObject(Application* app, bool pickable = true);
42  virtual ~ISceneObject();
43 
50  virtual bool update(double time, double timeDelta) pure;
51 };
52 
53 
59 inline bool operator <(const ISceneObject& lhs, const ISceneObject& rhs)
60 {
61  return lhs.getId() > rhs.getId();
62 }
68 inline bool operator <(const unique_ptr<ISceneObject>& lhs, const unique_ptr<ISceneObject>& rhs)
69 {
70  return lhs->getId() > rhs->getId();
71 }
id_t const getPickId() const
uint16 id_t
The data-type used for the id-buffer.
Definition: Util.hpp:6
bool operator<(const ISceneObject &lhs, const ISceneObject &rhs)
ISceneObject(Application *app, bool pickable=true)
Definition: ISceneObject.cpp:4
Application * m_app
id_t const & getId() const
virtual ~ISceneObject()
virtual bool update(double time, double timeDelta) pure