linux-wallpaperengine/wallpaperengine/object.h
Alexis Maiquez 4a221d0e9a + Added some default shader variables
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2019-05-17 01:03:29 +02:00

55 lines
1.1 KiB
C++

#ifndef WALLENGINE_OBJECT_H
#define WALLENGINE_OBJECT_H
#include <iostream>
#include <irrlicht/irrlicht.h>
#include <nlohmann/json.hpp>
#include <wallpaperengine/video/node.h>
#include <wallpaperengine/effect.h>
#include <wallpaperengine/scene.h>
namespace wp
{
using json = nlohmann::json;
class object3d;
class scene;
class effect;
class object : public wp::video::node
{
public:
object (json json_data, wp::scene* scene);
~object ();
irr::core::vector2df& getSize ();
irr::core::vector3df& getScale ();
irr::core::vector3df& getOrigin ();
irr::core::vector3df& getAngles ();
std::vector<effect*>& getEffects ();
wp::scene* getScene ();
void render ();
private:
int m_id;
wp::scene* m_scene;
std::string m_name;
irr::core::vector2df m_size;
irr::core::vector3df m_scale;
irr::core::vector3df m_origin;
irr::core::vector3df m_angles;
wp::object3d* m_object3d;
std::vector<effect*> m_effects;
};
};
#endif //WALLENGINE_OBJECT_H