20 #include <OgreLogManager.h>
21 #include <OgreRenderWindow.h>
22 #include <OgreWindowEventUtilities.h>
23 #include <OgreCamera.h>
24 #include <OgreSceneManager.h>
25 #include <OgreResourceGroupManager.h>
26 #include <OgreConfigFile.h>
27 #include <OgreManualObject.h>
28 #include <OgreEntity.h>
29 #include <OgreMeshManager.h>
30 #include <OgreParticleSystem.h>
32 #include <LinearMath/btVector3.h>
43 typedef std::shared_ptr<Scene>
shared;
57 Ogre::SceneNode*
get_node(std::string node);
58 void attach(Ogre::SceneNode* node, Ogre::Entity* entity);
64 std::string mesh, std::string parent, std::string name);
66 std::string parent, std::string name);
68 Ogre::SceneNode*
create_plane(std::string axis, std::string name, std::string mesh,
69 std::string parent, std::string material);
71 Ogre::SceneNode*
get_child_node(std::string parent, std::string name);
72 Ogre::SceneNode*
get_child_node(Ogre::SceneNode* parent, std::string name);
74 Ogre::Entity*
create_entity(std::string name, std::string mesh,
bool cast_shadows);
76 void move_node(std::string node_name, Ogre::Vector3 increment);
78 Ogre::ParticleSystem*
get_particle(std::string name, std::string particle_system);
79 Ogre::ParticleSystem*
get_particle(Ogre::SceneNode* node, std::string name, std::string particle_system);
80 Ogre::ParticleSystem*
get_particle(std::string name, std::string particle_system, Ogre::Vector3 position);
82 void add_child(Ogre::SceneNode* parent, Ogre::SceneNode* child);
87 void remove_child(std::string parent, std::string child);
88 void remove_child(std::string parent, Ogre::SceneNode* child);
89 void remove_child(Ogre::SceneNode* parent, std::string child);
90 void remove_child(Ogre::SceneNode* parent, Ogre::SceneNode* child);
102 Ogre::Vector3
get_axis(std::string axis);
Ogre::Entity * create_entity(std::string name, std::string mesh, bool cast_shadows)
Definition: scene.cpp:195
void render_one_frame(void)
Definition: scene.cpp:65
void destroy_all_attached_movable_objects(Ogre::SceneNode *node)
Definition: scene.cpp:285
std::shared_ptr< Scene > shared
Definition: scene.h:43
Ogre::Camera * camera_
Definition: scene.h:46
Ogre::SceneNode * create_plane(std::string axis, std::string name, std::string mesh, std::string parent, std::string material)
Definition: scene.cpp:156
Ogre::ParticleSystem * get_particle(std::string name, std::string particle_system)
Definition: scene.cpp:216
Ogre::SceneNode * get_child_node(std::string parent, std::string name)
Definition: scene.cpp:182
Ogre::SceneManager * scene_manager_
Definition: scene.h:40
Ogre::Vector3 get_axis(std::string axis)
Definition: scene.cpp:299
Scene()
Definition: scene.cpp:21
Ogre::SceneNode * create_child_node(Ogre::SceneNode *parent, std::string name)
Definition: scene.cpp:187
void remove_child(std::string parent, std::string child)
Definition: scene.cpp:259
Ogre::Root * root_
Definition: scene.h:39
void attach(Ogre::SceneNode *node, Ogre::Entity *entity)
Definition: scene.cpp:130
void destroy_entity(Ogre::Entity *entity)
Definition: scene.cpp:253
void add_child(Ogre::SceneNode *parent, Ogre::SceneNode *child)
Definition: scene.cpp:202
const std::string window_title
Definition: scene.h:37
Ogre::Vector3 get_normal(std::string axis)
Definition: scene.cpp:313
Ogre::Vector3 convert_btvector3_to_vector3(btVector3 position)
Definition: scene.cpp:294
Ogre::SceneNode * create_graphic_element(Ogre::Vector3 position, std::string name, std::string mesh)
Definition: scene.cpp:135
void load_resources()
Definition: scene.cpp:41
Ogre::RaySceneQuery * ray_query_
Definition: scene.h:47
void destroy_node(std::string)
Definition: scene.cpp:241
void set_light_range(Ogre::Light *light, Ogre::Real range)
Ogre::RenderWindow * window_
Definition: scene.h:45
Ogre::SceneNode * get_node(std::string node)
Definition: scene.cpp:119
void destroy_scene()
Definition: scene.cpp:279
void create_camera(Ogre::RenderWindow *window)
Definition: scene.cpp:97
void move_node(std::string node_name, Ogre::Vector3 increment)
Definition: scene.cpp:207
void create_light(void)
Definition: scene.cpp:81
Ogre::Ray set_ray_query(float x, float y)
Definition: scene.cpp:71
Ogre::SceneNode * create_node(std::string name)
Definition: scene.cpp:114